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