// { dg-do compile { target c++11 } } template using F = int(*)(T); using G = int(*)(int*); struct A { template operator F(); // #1 operator G() = delete; // #2 }; struct B { operator G() = delete; // #2 template operator F(); // #1 }; int i = A{}(0); // OK, selects #1 int j = B{}(0); // OK, selects #1