https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114147
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 --- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> --- For the record, it looks like I broke this in commit r10-908 by adding a constraint to that constructor (which was good) but not adding another overload with the explicit constraint (which was bad): // Allocator-extended constructors. - template<typename _Alloc> + template<typename _Alloc, + _ImplicitDefaultCtor<is_object<_Alloc>::value> = true> tuple(allocator_arg_t __tag, const _Alloc& __a) : _Inherited(__tag, __a) { }