namespace N { template struct S { void f() {} // { dg-error "definition" } }; } namespace K { template <> void N::S::f() {} // { dg-error "different namespace" } }