https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119620
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- ... and that's what "Cpp17EmplaceConstructible into X" is about. But we can't constrain based on that, and can't spell out exactly what kind of initialization is done, because we don't know. Only the allocator knows, and it's not talking (because Alloc::construct is not necessarily constrained to let us know if Args... can be used).