pub(crate) struct StoreInner {
pub(crate) objects: StoreObjects,
pub(crate) store: BackendStore,
pub(crate) on_called: Option<Box<dyn FnOnce(StoreMut<'_>) -> Result<OnCalledAction, Box<dyn Error + Send + Sync>>>>,
}Expand description
We require the context to have a fixed memory address for its lifetime since various bits of the VM have raw pointers that point back to it. Hence we wrap the actual context in a box.
Fields§
§objects: StoreObjects§store: BackendStore§on_called: Option<Box<dyn FnOnce(StoreMut<'_>) -> Result<OnCalledAction, Box<dyn Error + Send + Sync>>>>Trait Implementations§
Source§impl AsStoreMut for StoreInner
impl AsStoreMut for StoreInner
Source§fn as_store_mut(&mut self) -> StoreMut<'_>
fn as_store_mut(&mut self) -> StoreMut<'_>
Returns a
StoreMut pointing to the underlying context.Source§fn objects_mut(&mut self) -> &mut StoreObjects
fn objects_mut(&mut self) -> &mut StoreObjects
Returns the ObjectMutable
Source§impl AsStoreRef for StoreInner
impl AsStoreRef for StoreInner
Source§fn as_store_ref(&self) -> StoreRef<'_>
fn as_store_ref(&self) -> StoreRef<'_>
Returns a
StoreRef pointing to the underlying context.Source§fn as_store_async(&self) -> Option<impl AsStoreAsync + 'static>
fn as_store_async(&self) -> Option<impl AsStoreAsync + 'static>
Returns a
StoreAsync if the current
context is asynchronous. The store will be locked since
it’s already active in the current context, but can be used
to spawn new coroutines via
Function::call_async.Auto Trait Implementations§
impl Freeze for StoreInner
impl !RefUnwindSafe for StoreInner
impl !Send for StoreInner
impl !Sync for StoreInner
impl Unpin for StoreInner
impl !UnwindSafe for StoreInner
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.