// DR 1391 template struct A { typename T::N n; }; template struct B { }; template void foo(const A& r); // #1 template void foo(const B& r); // #2 void baz() { B b; foo(b); // OK foo(b); // error }