// PR c++/92583 // { dg-do compile { target c++17 } } template struct a { constexpr operator int() { return 42; } }; template using b = int; template struct e {}; template using h = e; template void apply(j f, e) { (f(a{}), ...); } template void m(j f) { using k = b; using n = h; apply(f, n{}); } template void o() { auto p = [](auto i) { if constexpr (a{}) ; if constexpr (typename a::t{}); // { dg-error "" } }; m(p); } auto q() { o<0, 1>; }