https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97710
--- Comment #4 from Mick P. <mick.pearson at wildblue dot net> --- Sorry, here is an example diagnostic. The reason I couldn't follow it yesterday is "make -j4" was causing the output to be scrambled. >/home/Michael/collada/dom/include/dae/domAny.h:62:33: error: >'reinterpret_cast' is not a constant expression > 62 | DAEP::Value<0,xsAnyAttribute,_,(_::_)&_::_0> attrAny_et_cetera__value; > | ^~~~~~~~~~~~ >/home/Michael/collada/dom/include/dae/domAny.h:62:33: error: >'(ColladaDOM_3::DAEP::Elemental<ColladaDOM_3::domAny, 97, >ColladaDOM_3::daeElement>::_)&ColladaDOM_3::domAny::_::_0' is not a valid >template argument for type 'char ColladaDOM_3::domAny::*' >/home/Michael/collada/dom/include/dae/domAny.h:62:33: note: because it is a >member of 'ColladaDOM_3::domAny::_' >"The above isn't self-contained either, T isn't defined." I just meant to explain the underlying problem, since it's a different problem. I can't get code highlighting to work with ``` or {{{. T would be something like the following: template<class A, int A::*> struct T{}; Maybe this link works? https://godbolt.org/z/fYEYGP Output is similar: template<class A, int A::*> struct T{}; struct A{}; struct B:A{ int x; }; struct C:A{ T<A,(char A::*)&B::x> y; }; I don't know, for casting purposes this seems logical, like something should work, and had worked before.