1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
use core;
use value::Value;

/// Returns a named value registered by OCaml
pub fn named_value<S: AsRef<str>>(name: S) -> Option<Value> {
    unsafe {
        let p = format!("{}\0", name.as_ref());
        let named = core::callback::caml_named_value(p.as_str().as_ptr());
        if named.is_null() {
            return None
        }

        Some(Value::new(*named))
    }
}