]>
Commit | Line | Data |
---|---|---|
7b936140 | 1 | // { dg-options "-std=c++17 -fconcepts" } |
971e17ff AS |
2 | |
3 | struct fool { | |
4 | constexpr fool operator&&(fool) const { return {}; } | |
5 | constexpr fool operator||(fool) const { return {}; } | |
6 | }; | |
7 | ||
8 | template<typename T> constexpr fool p1() { return {}; } | |
9 | template<typename T> constexpr fool p2() { return {}; } | |
10 | ||
11 | template<typename T> | |
f078dc7d | 12 | concept bool C() { return p1<T>() && p2<T>(); } |
971e17ff AS |
13 | |
14 | template<C T> void f(T x) { } | |
15 | ||
16 | int main() { | |
f078dc7d | 17 | f(0); // { dg-error "cannot call|uses overloaded operator" } |
971e17ff | 18 | } |