1*13b6f315SRichard Smith // RUN: %clang_cc1 -std=c++20 -include %s %s -o %t 2*13b6f315SRichard Smith 3*13b6f315SRichard Smith // RUN: %clang_cc1 -std=c++20 -emit-pch %s -o %t 4*13b6f315SRichard Smith // RUN: %clang_cc1 -std=c++20 -include-pch %t -verify %s 5*13b6f315SRichard Smith 6*13b6f315SRichard Smith // expected-no-diagnostics 7*13b6f315SRichard Smith 8*13b6f315SRichard Smith #ifndef HEADER 9*13b6f315SRichard Smith #define HEADER 10*13b6f315SRichard Smith __anonb3de196b0102null11*13b6f315SRichard Smithtemplate<typename T> auto f() -> decltype([]{ return T(42); }); 12*13b6f315SRichard Smith 13*13b6f315SRichard Smith #else /*included pch*/ 14*13b6f315SRichard Smith 15*13b6f315SRichard Smith static_assert(decltype(f<int>())()() == 42); 16*13b6f315SRichard Smith 17*13b6f315SRichard Smith #endif // HEADER 18