// RUN: %clang_cc1 -verify -std=c++17 %s template constexpr int f() { return T::value; } // expected-error {{'::'}} template void g(decltype(B ? f() : 0)); template void g(...); template void h(decltype(int{B ? f() : 0})); // expected-note {{instantiation of}} template void h(...); void x() { g(0); // ok g(0); // ok h(0); // expected-note {{while substituting}} }