1 // RUN: %clang -fsyntax-only -std=c++17 %s -Xclang -verify
2 
3 // The important part is that we do not crash.
4 
5 template<typename T> T declval();
6 
7 template <typename T>
Call(T x)8 auto Call(T x) -> decltype(declval<T>()(0)) {} // expected-note{{candidate template ignored}}
9 
10 class Status {};
11 
fun()12 void fun() {
13   // The Status() (instead of Status) here used to cause a crash.
14   Call([](auto x) -> Status() {}); // expected-error{{function cannot return function type 'Status ()}}
15   // expected-error@-1{{no matching function for call to 'Call'}}
16 }
17