1// { dg-do assemble } 2// GROUPS passed templates overloading 3template<class T> class Vector { }; 4template<class T> struct Sort { static void sort (Vector<typename T::foo> &); }; 5template<class T> void Sort<T>::sort (Vector<typename T::foo> &) { } 6struct whee { typedef int foo; }; 7 8void f (Vector<int> &vi) { Sort<whee>::sort (vi); } 9