https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111471
Bug ID: 111471 Summary: Incorrect NTTP printing in the error messages Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: mateusz.pusz at gmail dot com Target Milestone: --- Please see the following example https://godbolt.org/z/qajTKdnGq: There are many similar issues: ``` required for the satisfaction of 'ReferenceOf<typename std::remove_const<decltype (Q::reference)>::type, V>' [with Q = mp_units::quantity<{}, double>; V = _ZTAXtlN8mp_units3isq5speedEEE] ``` The `{}` part above does not help at all and should print the actual type of the NTTP somewhere. `_ZTAXtlN8mp_units3isq5speedEEE` should be properly demangled. ``` note: the expression 'implicitly_convertible({}, QS) [with T = mp_units::kind_of_<{}>; QS = _ZTAXtlN8mp_units3isq5speedEEE]' evaluated to 'false' ``` Again, lack of demangling and mysterious `{}`.