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 Smith template<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