pub struct OwnedContext<'b> { /* private fields */ }

Implementations§

source§

impl<'b> OwnedContext<'b>

source

pub fn alloc<D>(&mut self, data: D) -> Result<GcRef<'_, D::Value>>
where D: DataDef + Trace, D::Value: Sized + Any,

source

pub fn alloc_owned<D>(&mut self, data: D) -> Result<OwnedGcRef<'_, D::Value>>
where D: DataDef + Trace, D::Value: Sized + Any,

source

pub fn debug_info(&self) -> DebugInfo<'_>

source

pub fn frame_level(&self) -> usize

source

pub fn stack_frame<T>(&mut self) -> StackFrame<'_, T>
where T: StackState,

Methods from Deref<Target = Context>§

source

pub fn push_new_data( &mut self, thread: &Thread, tag: VmTag, fields: usize ) -> Result<Variants<'_>>

source

pub fn push_new_record( &mut self, thread: &Thread, fields: usize, field_names: &[InternedStr] ) -> Result<Variants<'_>>

source

pub fn alloc_with<D>( &mut self, thread: &Thread, data: D ) -> Result<GcRef<'_, D::Value>>
where D: DataDef + Trace, D::Value: Sized + Any,

source

pub fn alloc_ignore_limit<D>(&mut self, data: D) -> GcRef<'_, D::Value>
where D: DataDef + Trace, D::Value: Sized + Any,

source

pub fn set_hook(&mut self, hook: Option<HookFn>) -> Option<HookFn>

source

pub fn set_hook_mask(&mut self, flags: HookFlags)

source

pub fn set_max_stack_size(&mut self, limit: VmIndex)

source

pub fn stacktrace(&self, frame_level: usize) -> Stacktrace

source

pub unsafe fn return_future<'vm, F>( &mut self, future: F, lock: Lock, frame_index: VmIndex )
where F: Future + Send + 'vm, F::Output: Pushable<'vm>,

“Returns a future”, letting the virtual machine know that future must be resolved to produce the actual value.

Safety

This function is unsafe because the vm lifetime must not outlive the lifetime of the Thread

Trait Implementations§

source§

impl<'b> Deref for OwnedContext<'b>

§

type Target = Context

The resulting type after dereferencing.
source§

fn deref(&self) -> &Context

Dereferences the value.
source§

impl<'b> DerefMut for OwnedContext<'b>

source§

fn deref_mut(&mut self) -> &mut Context

Mutably dereferences the value.

Auto Trait Implementations§

§

impl<'b> !RefUnwindSafe for OwnedContext<'b>

§

impl<'b> !Send for OwnedContext<'b>

§

impl<'b> !Sync for OwnedContext<'b>

§

impl<'b> Unpin for OwnedContext<'b>

§

impl<'b> !UnwindSafe for OwnedContext<'b>

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<Id> AsId<Id> for Id
where Id: ?Sized,

source§

fn as_id(&self) -> &Id

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
§

impl<Choices> CoproductSubsetter<CNil, HNil> for Choices

§

type Remainder = Choices

§

fn subset( self ) -> Result<CNil, <Choices as CoproductSubsetter<CNil, HNil>>::Remainder>

Extract a subset of the possible types in a coproduct (or get the remaining possibilities) Read more
§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn 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.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

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.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<D, T> FromPtr<D> for T

source§

unsafe fn make_ptr(_: D, ptr: *mut ()) -> *mut T

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.

§

impl<T, U, I> LiftInto<U, I> for T
where U: LiftFrom<T, I>,

§

fn lift_into(self) -> U

Performs the indexed conversion.
§

impl<Source> Sculptor<HNil, HNil> for Source

§

type Remainder = Source

§

fn sculpt(self) -> (HNil, <Source as Sculptor<HNil, HNil>>::Remainder)

Consumes the current HList and returns an HList with the requested shape. Read more
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.
§

impl<T> Any for T
where T: Any,

source§

impl<T> Captures<'_> for T