1 // RUN: %clang_cc1 -std=c++14 -fconcepts-ts -x c++ -verify %s 2 3 template<typename T> 4 concept bool vc { true }; 5 6 template<typename T> 7 struct B { typedef bool Boolean; }; 8 9 template<int N> 10 B<void>::Boolean concept vctb(!0); 11 12 template<typename T> 13 concept const bool vctc { true }; // expected-error {{declared type of variable concept must be 'bool'}} 14 15 template<typename T> 16 concept int vcti { 5 }; // expected-error {{declared type of variable concept must be 'bool'}} 17 18 template<typename T> 19 concept float vctf { 5.5 }; // expected-error {{declared type of variable concept must be 'bool'}} 20 21 template<typename T> 22 concept auto vcta { true }; // expected-error {{declared type of variable concept must be 'bool'}} 23 24 template<typename T> 25 concept decltype(auto) vctd { true }; // expected-error {{declared type of variable concept must be 'bool'}} 26