aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/concepts-pr88395.C
blob: e1792e19005c636ccda85fa725dbea4fdcc9d318 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// { dg-do compile { target c++20 } }

template <class T, class U>
concept Concept2 = requires (T t, U u) // { dg-error "depends on itself" }
{
    t += u;
};

template <class T>
concept Concept = Concept2 <T, T>;

struct S
{
    template <Concept T>
    constexpr S& operator += (T o);
};

constexpr S operator * (S a, S b)
{
    return a += b; // { dg-error "no match" }
}