// Copyright (C) 2002 Free Software Foundation // Origin: C++/1058 // Contributed by Gabriel Dos Reis // { dg-do compile } struct A { typedef int Y; typedef double Z; }; struct B { template void func(typename T::Y, typename T::Z) { } }; template struct X { void gunc(); }; template void X::gunc() { B b; b.func(0, 3.); } int main() { X x; x.gunc(); return 0; }