// RUN: %clang_cc1 -fsyntax-only -verify -std=c++23 %s namespace GH63627 { template void ok() { if (using U = decltype([]{ return 42;}); true) { static_assert(U{}() == 42); } for (using U = decltype([]{ return 42;}); [[maybe_unused]] auto x : "abc") { static_assert(U{}() == 42); } for (using U = decltype([]{ return 42;}); false; ) { static_assert(U{}() == 42); } } template void err() { if (using U = decltype([]{}.foo); true) {} // expected-error {{no member named 'foo'}} for (using U = decltype([]{}.foo); // expected-error {{no member named 'foo'}} [[maybe_unused]] auto x : "abc") { } for (using U = decltype([]{}.foo); // expected-error {{no member named 'foo'}} false ; ) { } }; void test() { ok(); err(); // expected-note {{in instantiation of function template specialization 'GH63627::err'}} } }