https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105999
Bug ID: 105999 Summary: Wrong requires result inside lambda in a class Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: egor.pugin at gmail dot com Target Milestone: --- Gives x instead of y on any latest compiler. https://godbolt.org/z/6MrvMaPoK #include <stdio.h> struct A { void g(){} void f() { []() { //if constexpr (requires {this->g();}) { if constexpr (requires {g();}) { printf("x"); //g(); // cant call here } else { printf("y"); } }(); } }; int main() { A{}.f(); }