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