1 | // RUN: %clang_cc1 -std=c++14 -fconcepts-ts -x c++ -verify %s |
2 | |
3 | template<typename T> |
4 | concept bool fcpv(void) { return true; } |
5 | |
6 | template<typename T> |
7 | concept bool fcpi(int i = 0) { return true; } // expected-error {{function concept cannot have any parameters}} |
8 | |
9 | template<typename... Ts> |
10 | concept bool fcpp(Ts... ts) { return true; } // expected-error {{function concept cannot have any parameters}} |
11 | |
12 | template<typename T> |
13 | concept bool fcpva(...) { return true; } // expected-error {{function concept cannot have any parameters}} |
14 | |
15 | template<typename T> |
16 | concept const bool fcrtc() { return true; } // expected-error {{declared return type of function concept must be 'bool'}} |
17 | |
18 | template<typename T> |
19 | concept int fcrti() { return 5; } // expected-error {{declared return type of function concept must be 'bool'}} |
20 | |
21 | template<typename T> |
22 | concept float fcrtf() { return 5.5; } // expected-error {{declared return type of function concept must be 'bool'}} |
23 | |
24 | template<typename T> |
25 | concept decltype(auto) fcrtd(void) { return true; } // expected-error {{declared return type of function concept must be 'bool'}} |
26 | |