zoecarver added a comment.
> 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.)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92361/new/
https://reviews.llvm.org/D92361
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits