template <typename T>
struct base
{
using type = T*;
};
template <typename T>
struct derived : base<T>
{
derived()
{
typename derived::type l;
}
};
int main() {
derived<int> v;
return 0;
}
CnRlbXBsYXRlIDx0eXBlbmFtZSBUPgpzdHJ1Y3QgYmFzZQp7CiAgICB1c2luZyB0eXBlID0gVCo7Cgp9OwoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CnN0cnVjdCBkZXJpdmVkIDogYmFzZTxUPgp7CgogICAgZGVyaXZlZCgpCiAgICB7CiAgICAJdHlwZW5hbWUgZGVyaXZlZDo6dHlwZSBsOyAgCiAgICB9Cn07CmludCBtYWluKCkgewoKICAgIGRlcml2ZWQ8aW50PiB2OwogICAgcmV0dXJuIDA7Cn0=