https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87150

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|SUSPENDED                   |ASSIGNED

--- Comment #12 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
(In reply to Jason Merrill from comment #11)
> (In reply to Stephan Bergmann from comment #9)
> > (In reply to Marek Polacek from comment #8)
> > > It appears that the sentiment is that this testcase should actually be
> > > valid
> > 
> > Do you have a reference for that?  The reason for this not to be valid,
> > presented at the bottom of
> > <http://lists.llvm.org/pipermail/cfe-dev/2018-August/059190.html> "Re:
> > [cfe-dev] return lvalue move instead of copy?" looks rather convincing to 
> > me.
> 
> (Namely, slicing by move leaving the object in a partially-moved state that
> might not maintain invariants.)
> 
> That's a good point.  I guess the rule we're looking for will still require
> that the returned object being treated as an xvalue be bound to some rvalue
> reference to the whole object, rather than a base subobject.
> 
> So Marek, please go ahead and apply your patch after all.  

Will do.

> And similarly,
> maybe refine your 87109 patch to only reject the conversion function if it
> comes from a base class.

I'll send a patch to the ML, I don't feel like committing that without a
review.

Reply via email to