https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96074
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |redi at gcc dot gnu.org Keywords| |wrong-code --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Off topic, in your test you have: // needed for gcc template <typename U> struct rebind { using other = allocator<U, COPY, MOVE, SWAP, false>; }; Isn't that needed always? allocator_traits can only provide a default rebind for an allocator "of the form Alloc<U, Args>, where Args is zero or more type arguments". Your non-type template arguments prevent that from working.