// P0892R2 // { dg-do compile } // { dg-options "-std=c++2a" } struct X { template explicit(N) operator T(); }; int main () { X x; int i = x; // { dg-error "cannot convert" } int i2{x}; double d = x; // { dg-error "cannot convert" } double d2{x}; char c = x; // { dg-error "cannot convert" } char c2{x}; long l = x; // { dg-error "cannot convert" } long l2{x}; int *p = x; // { dg-error "cannot convert" } int *p2{x}; }