1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// PR c++/92654 // { dg-do compile { target c++17 } } struct A { constexpr operator int () { return 42; } }; template <int I> struct C { static const bool ap = I; }; template <auto I> void am() { [](auto an) { if constexpr (C<an>::ap) ; }(A{}); } void fn() { am<42>(); }