15bdd5d06Sfaisal vali // RUN: %clang_cc1 -std=c++23 -fsyntax-only -verify %s 2*0b34d7e9STimm Bäder // RUN: %clang_cc1 -std=c++23 -fsyntax-only -verify %s -fexperimental-new-constant-interpreter 35bdd5d06Sfaisal vali 45bdd5d06Sfaisal vali namespace ns1 { __anone46ebcbe0102() 55bdd5d06Sfaisal vali auto lstatic = []() static { return 3; }; 65bdd5d06Sfaisal vali int (*f2)(void) = lstatic; 75bdd5d06Sfaisal vali 85bdd5d06Sfaisal vali } 95bdd5d06Sfaisal vali 105bdd5d06Sfaisal vali namespace ns1_1 { 115bdd5d06Sfaisal vali 125bdd5d06Sfaisal vali auto lstatic = []() static consteval //expected-error{{cannot take address of consteval call}} \ 135bdd5d06Sfaisal vali expected-note {{declared here}} __anone46ebcbe0202() 145bdd5d06Sfaisal vali { return 3; }; 155bdd5d06Sfaisal vali 165bdd5d06Sfaisal vali // FIXME: the above error should indicate that it was triggered below. 175bdd5d06Sfaisal vali int (*f2)(void) = lstatic; 185bdd5d06Sfaisal vali 195bdd5d06Sfaisal vali } 205bdd5d06Sfaisal vali 215bdd5d06Sfaisal vali 225bdd5d06Sfaisal vali namespace ns2 { __anone46ebcbe0302() 235bdd5d06Sfaisal vali auto lstatic = []() static { return 3; }; 245bdd5d06Sfaisal vali constexpr int (*f2)(void) = lstatic; 255bdd5d06Sfaisal vali static_assert(lstatic() == f2()); 265bdd5d06Sfaisal vali } 275bdd5d06Sfaisal vali 285bdd5d06Sfaisal vali namespace ns3 { main()295bdd5d06Sfaisal vali void main() { 305bdd5d06Sfaisal vali static int x = 10; 315bdd5d06Sfaisal vali auto L = []() static { return x; }; 325bdd5d06Sfaisal vali } 335bdd5d06Sfaisal vali } 34