Function mun_runtime::gc::mun_gc_root[][src]

#[no_mangle]pub unsafe extern "C" fn mun_gc_root(
    handle: RuntimeHandle,
    obj: GcPtr
) -> ErrorHandle

Roots the specified obj, which keeps it and objects it references alive. Objects marked as root, must call mun_gc_unroot before they can be collected. An object can be rooted multiple times, but you must make sure to call mun_gc_unroot an equal number of times before the object can be collected. If successful, obj has been rooted, otherwise a non-zero error handle is returned.

If a non-zero error handle is returned, it must be manually destructed using [mun_error_destroy].

Safety

This function receives raw pointers as parameters. If any of the arguments is a null pointer, an error will be returned. Passing pointers to invalid data, will lead to undefined behavior.