| // RUN: %clang_cc1 -std=c++14 -fconcepts-ts -x c++ -verify %s |
| |
| template<typename T> |
| concept bool fcpv(void) { return true; } |
| |
| template<typename T> |
| concept bool fcpi(int i = 0) { return true; } // expected-error {{function concept cannot have any parameters}} |
| |
| template<typename... Ts> |
| concept bool fcpp(Ts... ts) { return true; } // expected-error {{function concept cannot have any parameters}} |
| |
| template<typename T> |
| concept bool fcpva(...) { return true; } // expected-error {{function concept cannot have any parameters}} |
| |
| template<typename T> |
| concept const bool fcrtc() { return true; } // expected-error {{declared return type of function concept must be 'bool'}} |
| |
| template<typename T> |
| concept int fcrti() { return 5; } // expected-error {{declared return type of function concept must be 'bool'}} |
| |
| template<typename T> |
| concept float fcrtf() { return 5.5; } // expected-error {{declared return type of function concept must be 'bool'}} |
| |
| template<typename T> |
| concept decltype(auto) fcrtd(void) { return true; } // expected-error {{declared return type of function concept must be 'bool'}} |