
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;
}