https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86573 --- Comment #2 from Marc Glisse <glisse at gcc dot gnu.org> --- When passing by copy, gcc seems to manage with default flags, but your -std=c++2a -fno-exceptions hinder it somehow.