Struct ocaml_interop::OCamlRuntime [−][src]
pub struct OCamlRuntime { /* fields omitted */ }
Expand description
OCaml runtime handle.
Should be initialized once at the beginning of the program and the obtained handle passed around.
Once the handle is dropped, the OCaml runtime will be shutdown.
Implementations
impl OCamlRuntime
[src]
impl OCamlRuntime
[src]pub fn init() -> Self
[src]
pub fn init() -> Self
[src]Initializes the OCaml runtime and returns an OCaml runtime handle.
Once the handle is dropped, the OCaml runtime will be shutdown.
pub fn init_persistent()
[src]
pub fn init_persistent()
[src]Initializes the OCaml runtime.
After the first invocation, this method does nothing.
pub unsafe fn recover_handle() -> &'static mut Self
[src]
pub unsafe fn recover_handle() -> &'static mut Self
[src]Recover the runtime handle.
This method is used internally, do not use directly in code, only when writing tests.
Safety
This function is unsafe because the OCaml runtime handle should be obtained once upon initialization of the OCaml runtime and then passed around. This method exists only to ease the authoring of tests.
pub fn releasing_runtime<T, F>(&mut self, f: F) -> T where
F: FnOnce() -> T,
[src]
pub fn releasing_runtime<T, F>(&mut self, f: F) -> T where
F: FnOnce() -> T,
[src]Release the OCaml runtime lock, call f
, and re-acquire the OCaml runtime lock.