Date: Fri, 24 Oct 2025 13:00:31 -0400
On Fri, Oct 24, 2025 at 12:13 PM organicoman via Std-Proposals <
std-proposals_at_[hidden]> wrote:
> Hi,
> You have introduced a new concept.
> Object lifetime suspension.
> But that's not how you defend it.
> Let me ask you a couple of questions and try to answer them.
> - what are the pre-conditions on a type so it can suspended its lifetime ?
> [...]
>
Readers of this thread might also be interested in a similar thread from
2018, titled "D1031R1 draft 1 LLFIO with proposed C++ object model and
lifetime changes for mapped memory support"
https://groups.google.com/a/isocpp.org/g/std-proposals/c/bk8esqk-Qoo
where a similar notion was variously called "stun / revive", "reduce /
regenerate", "dehydrate / rehydrate", "deactivate / activate", etc. The
idea being that you could take an object's object representation, bring it
somewhere else (temporarily?, bring it back to the same place it left
from?), and then revivify it into a real C++ object again. (Yes, this is
just "serialize / deserialize" by any other name.)
There's actually a proposal out right now, D3858 `restart_lifetime<T>`,
which can be viewed as a "rehydrate" operation specific to each type whose
"dehydrate" operation is trivial.
https://quuxplusone.github.io/blog/2025/10/18/thoughts-on-p3858r0/
–Arthur
std-proposals_at_[hidden]> wrote:
> Hi,
> You have introduced a new concept.
> Object lifetime suspension.
> But that's not how you defend it.
> Let me ask you a couple of questions and try to answer them.
> - what are the pre-conditions on a type so it can suspended its lifetime ?
> [...]
>
Readers of this thread might also be interested in a similar thread from
2018, titled "D1031R1 draft 1 LLFIO with proposed C++ object model and
lifetime changes for mapped memory support"
https://groups.google.com/a/isocpp.org/g/std-proposals/c/bk8esqk-Qoo
where a similar notion was variously called "stun / revive", "reduce /
regenerate", "dehydrate / rehydrate", "deactivate / activate", etc. The
idea being that you could take an object's object representation, bring it
somewhere else (temporarily?, bring it back to the same place it left
from?), and then revivify it into a real C++ object again. (Yes, this is
just "serialize / deserialize" by any other name.)
There's actually a proposal out right now, D3858 `restart_lifetime<T>`,
which can be viewed as a "rehydrate" operation specific to each type whose
"dehydrate" operation is trivial.
https://quuxplusone.github.io/blog/2025/10/18/thoughts-on-p3858r0/
–Arthur
Received on 2025-10-24 17:00:49
