https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113366
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Last reconfirmed| |2024-01-13 Status|UNCONFIRMED |NEW --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- I already defined a constexpr bool variable template in that class, and using it in the __maybe_const_t alias seems to fix the -fconcepts-ts problem: // Format as const if possible, to reduce instantiations. template<typename _Tp> using __maybe_const_t = __conditional_t<__formattable<_Tp>, const _Tp, _Tp>; But then there are loads of other errors due to using attributes on constrained functions: format:4159:5: error: two consecutive '[' shall only introduce an attribute before '[' token 4159 | [[__gnu__::__always_inline__]] I'll need to move those attributes. Or maybe I can just make <format> reject attempts to use it with -fconcepts-ts ]:-) <format> is C++20 code, so you don't need the Concepts TS. Fix your concepts to work with C++20 instead!