pub trait Instance: Sized {
type Runtime: Runtime;
type UserData;
type UserDataReference<'a>: Deref<Target = Self::UserData>
where Self::UserData: 'a,
Self: 'a;
type UserDataMutReference<'a>: DerefMut<Target = Self::UserData>
where Self::UserData: 'a,
Self: 'a;
// Required methods
fn load_export(
&mut self,
name: &str,
) -> Option<<Self::Runtime as Runtime>::Export>;
fn user_data(&self) -> Self::UserDataReference<'_>;
fn user_data_mut(&mut self) -> Self::UserDataMutReference<'_>;
}
Expand description
An active guest Wasm module.
Required Associated Types§
Sourcetype UserDataReference<'a>: Deref<Target = Self::UserData>
where
Self::UserData: 'a,
Self: 'a
type UserDataReference<'a>: Deref<Target = Self::UserData> where Self::UserData: 'a, Self: 'a
A reference to the custom user data stored in the instance.
Sourcetype UserDataMutReference<'a>: DerefMut<Target = Self::UserData>
where
Self::UserData: 'a,
Self: 'a
type UserDataMutReference<'a>: DerefMut<Target = Self::UserData> where Self::UserData: 'a, Self: 'a
A mutable reference to the custom user data stored in the instance.
Required Methods§
Sourcefn load_export(
&mut self,
name: &str,
) -> Option<<Self::Runtime as Runtime>::Export>
fn load_export( &mut self, name: &str, ) -> Option<<Self::Runtime as Runtime>::Export>
Loads an export from the guest module.
Sourcefn user_data(&self) -> Self::UserDataReference<'_>
fn user_data(&self) -> Self::UserDataReference<'_>
Returns a reference to the custom user data stored in this instance.
Sourcefn user_data_mut(&mut self) -> Self::UserDataMutReference<'_>
fn user_data_mut(&mut self) -> Self::UserDataMutReference<'_>
Returns a mutable reference to the custom user data stored in this instance.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.