pub struct JanetTryState { /* private fields */ }
Expand description

A structure that holds the old and new states of the Janet VM.

This can be used to execute a JanetCFunction and capture its Janet panics.

Implementations§

source§

impl JanetTryState

source

pub fn init() -> Self

Initializes the state.

source

pub fn is_valid_to_run(&self) -> bool

Check if the VM have a valid JanetFiber.

source

pub unsafe fn signal_unchecked(&mut self) -> JanetSignal

Get the JanetSignal of the state without checking if the environment is set to catch Janet Panics.

§Safety

If this is called with the invalid environment to catch Janet Panics it will cause undefined behaviour.

source

pub fn signal(&mut self) -> Option<JanetSignal>

Get the JanetSignal of the state if the environment is set to catch Janet Panics.

source

pub fn payload(&self) -> Janet

Get the output of the execution.

Trait Implementations§

source§

impl Drop for JanetTryState

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.