https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112307
--- Comment #22 from Jonathan Wakely <redi at gcc dot gnu.org> --- I don't think there any point reducing this, I can see what the code does and it's invalid. Adding a non-trivial copy constructor fixes it.