See <https://wg21.link/p2590>.
1.1 can be done without any code but 1.2 makes std::start_lifetime_at <T> (p) retain the memory bit representation as initial value of the object? The paper mentions std::launder (ick), but I'm not sure how this is implementable at all if not sufficiently restricted.
See for example PR101641 where even existing cases are currently impossible to get right. So the only way to make std::start_lifetime_at <T> is to somehow emit a hard memory barrier for the compiler _and_ make sure the underlying storage is address-taken. Note this barrier has to prevail in RTL as well (I think std::launder is broken in this regard).
.