https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71913
Jason Merrill <jason at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org --- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> --- Yes, I think that change was too conservative; it avoids copy elision when we *might* be initializing a base subobject, but here if ptr were pointing to a base subobject we'd be calling the wrong constructor anyway, so copy elision doesn't make it worse.