Given this dependent-name lookup, why does the line marked /* A */ fail to compile?template <class T> struct Wrapper { typename T::value_type get(); // ok }; template <class T> void f() { T::inner * x; /* A */ }