Function magnus::gc::register_mark_object

source ·
pub fn register_mark_object<T>(value: T)
where T: Mark,
Expand description

Registers value to never be garbage collected.

This is essentially a deliberate memory leak.

§Examples

use magnus::{gc, RArray, RString};

// will never be collected
let root = RArray::new();
gc::register_mark_object(root);

// won't be collected while it is in out `root` array
let s = RString::new("example");
root.push(s).unwrap();