1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// PR c++/54310 template <typename T> struct meta { typedef typename T::type type; }; struct S{}; template <typename T> typename meta<T>::type foo(T, S); int foo(int, int); int main() { foo(0, 0); }