pub struct VmCaller<'a, T>(pub Option<Caller<'a, T>>);
Expand description

The VmCallerCheckedEnv trait is similar to the CheckedEnv trait – it provides all the same-named methods – but they have a form that takes an initial VmCaller argument by &mut that may or may-not wrap a wasmi::Caller structure, depending on whether it was invoked from a wasmi host-function wrapper.

There is a blanket impl<T:VmCallerCheckedEnv> CheckedEnv for T so that any type (eg. Host) that implements VmCallerCheckedEnv automatically also implements CheckedEnv, just by calling the corresponding VmCallerCheckedEnv method with the VmCaller::none() argument. This allows code to import and use CheckedEnv directly (such as the native contract) to call host methods without having to write VmCaller::none() everywhere.

Tuple Fields§

§0: Option<Caller<'a, T>>

Implementations§

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.

Returns the argument unchanged.

Calls U::from(self).

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

Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.