rjmccall added a comment.

In D92361#2434376 <https://reviews.llvm.org/D92361#2434376>, @zoecarver wrote:

>> I think perhaps we are talking past each other and have reached the limits 
>> of what this sub-thread can hope to achieve.
>
> I agree. I am sure that we (or at least you two) could talk about the 
> semantics of "teleportation" and "destructively moving" objects for many many 
> hours. But I'm not sure it would be productive to do so (at least in this 
> review thread). So, Arthur, why don't you open a mailing list thread to 
> continue discussing if you'd like.
>
> And we can all agree, no matter what we decide to call it, that in the 
> following snippet, `S0` //and// `S1` will be passed directly:
>
>   struct __attribute__((trivial_abi)) S0 {
>     S0();
>     S0(const S0 &) = delete;
>     S0(S0 &&) = delete;
>     int a;
>   };
>   
>   struct S1 {
>     S0 s0;
>   };
>
> (Which lines up with how this currently works if instead of being deleted, 
> the copy/move constructors of `S0` were simply user-provided.)

Yes, I agree that these should be passed directly.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92361/new/

https://reviews.llvm.org/D92361

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to