aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/concepts-pr86002.C
blob: daa88c5a233f5b5b0849e36753653e16cf6cf760 (plain)
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{});
}