// RUN: %clang -fsyntax-only -std=c++17 %s -Xclang -verify | |
// The important part is that we do not crash. | |
template<typename T> T declval(); | |
template <typename T> | |
auto Call(T x) -> decltype(declval<T>()(0)) {} | |
class Status {}; | |
void fun() { | |
// The Status() (instead of Status) here used to cause a crash. | |
Call([](auto x) -> Status() {}); // expected-error{{function cannot return function type 'Status ()}} | |
} |