Skip to main content

install_rebuilt

Function install_rebuilt 

Source
unsafe fn install_rebuilt<T: TypedExternal>(sexp: SEXP, value: T)
Expand description

Puts the rebuilt value in sexp, a restored pointer for a T, as construction puts a new value in a new pointer: the finalizer first (R does not save it), then the address.

The pointer gets a protection list in this version’s layout (#2187): its type ID and slot names, the saved user slot, and for each Sidecar field the saved slot of that name. value’s own pending value for the field is written instead when the save has no such slot, or when the hook made it with Sidecar::replace. value’s other pending values are dropped.

§Safety

On R’s main thread, with sexp a valid EXTPTRSXP for a T whose address is NULL, rooted for the call.