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]

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]

Initializes the OCaml runtime.

After the first invocation, this method does nothing.

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]

Release the OCaml runtime lock, call f, and re-acquire the OCaml runtime lock.

pub fn get<'tmp, T>(&'tmp self, reference: OCamlRef<'_, T>) -> OCaml<'tmp, T>[src]

Returns the OCaml valued to which this GC tracked reference points to.

Trait Implementations

impl Drop for OCamlRuntime[src]

fn drop(&mut self)[src]

Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.