// RUN: %clang_cc1 -fsyntax-only -verify %s // expected-no-diagnostics namespace N { enum { C }; template class B { void f(T); }; } template void N::B::f(C) { C b; } namespace N { enum { D }; namespace M { enum { C , D }; template class X { template void f(C, U); template void g(C, D) { C c; D d; } }; struct Y { template void f(U); }; } struct Y { template void f(D); }; } template template void N::M::X::f(C, D) { C c; D d; } template void N::M::Y::f(C) { C c; } template void N::Y::f(D) { D d; }