// PR c++/86740 // { dg-do compile { target c++17 } } struct Constant { static constexpr int value = 0; }; template void invokeWithConstant(F &&f) { f(Constant{}); } int foo() { int count = 0; invokeWithConstant ([&] (auto id1) { invokeWithConstant ([&] (auto id2) { if constexpr (id1.value == 0 && id2.value == 0) [&] { count = 1; } (); }); }); return count; }