// PR c++/57942 template struct S { typename T::error type; }; struct X {}; void f(S*); void f(...); void g() { f((X*)0); } struct Y; void h() { f((Y*)0); }