1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// PR c++/86002 // { dg-do compile { target c++20 } } struct X {}; struct Y { int i; }; template <typename T> int f(T t) { if constexpr (requires { t.i; }) return t.i; else return {}; } int main() { return f(X{}) + f(Y{}); }