Struct substrate_test_runtime_client::sc_executor::wasmi::NotStartedModuleRef [−]
pub struct NotStartedModuleRef<'a> { /* fields omitted */ }
Expand description
Mostly instantiated ModuleRef
.
At this point memory segments and tables are copied. However, start
function (if any) is not called.
To get fully instantiated module instance, running start
function is required.
You can still access not fully initialized instance by calling not_started_instance
,
but keep in mind, that this is sort of escape hatch: module really might depend on initialization
done in start
function. It’s definitely not recommended to call any exports on ModuleRef
returned by this function.
If you sure, that there is no start
function (e.g. because you created it without one), you can
call assert_no_start
which returns ModuleRef
without calling start
function. However,
it will panic if module contains start
function.
Implementations
impl<'a> NotStartedModuleRef<'a>
impl<'a> NotStartedModuleRef<'a>
pub fn not_started_instance(&self) -> &ModuleRef
pub fn not_started_instance(&self) -> &ModuleRef
Returns not fully initialized instance.
To fully initialize the instance you need to call either run_start
or
assert_no_start
. See struct documentation for details.
Executes start
function (if any) and returns fully instantiated module.
Errors
Returns Err
if start function traps.
pub fn run_start_with_stack<E>(
self,
state: &mut E,
stack_recycler: &mut StackRecycler
) -> Result<ModuleRef, Trap> where
E: Externals,
pub fn run_start_with_stack<E>(
self,
state: &mut E,
stack_recycler: &mut StackRecycler
) -> Result<ModuleRef, Trap> where
E: Externals,
Executes start
function (if any) and returns fully instantiated module.
Errors
Returns Err
if start function traps.
pub fn assert_no_start(self) -> ModuleRef
pub fn assert_no_start(self) -> ModuleRef
Returns fully instantiated module without running start
function.
Panics
This function panics if original module contains start
function.
Auto Trait Implementations
impl<'a> !RefUnwindSafe for NotStartedModuleRef<'a>
impl<'a> !Send for NotStartedModuleRef<'a>
impl<'a> !Sync for NotStartedModuleRef<'a>
impl<'a> Unpin for NotStartedModuleRef<'a>
impl<'a> !UnwindSafe for NotStartedModuleRef<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
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
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
The counterpart to unchecked_from
.
Consume self to return an equivalent value of T
.
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more