// PR c++/42623 // We should choose f(B) because f(A) involves applying sizeof to // an incomplete class, so it is removed by SFINAE. // { dg-do link } struct undef; template struct A { A(int); }; template void f(A); template struct B { B(int) { } }; template void f(B) { } int main() { f(0); }