On Wed, Jun 2, 2021 at 1:45 AM Marc Nieper-Wißkirchen <
[email protected]> wrote:

>
> Copy-transient, however, can make sense by choosing the right semantics.
> As I wrote in my earlier posts, a procedure taking a transient object and
> returning one can be of a lot of types:
>
> An explicit diagonal operation (diag x) would take a transient object X
> and return two transient objects, both being independent copies of the then
> invalidated X.
>
> If the underlying implementation is such that one copy is exactly the
> invalidated X, we don't need the second value and arrive at a procedure we
> could then call copy-transient.
>

Ah, right.  If we don't force "any procedure that takes transient struct
invalidates it", then we can have meaningful copy-transient, that does not
invalidate the input and returns an independent transient copy of the input.

Reply via email to