Struct gluon_vm::thread::Context

source ·
pub struct Context { /* private fields */ }

Implementations§

source§

impl 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<'de, 'gc> DeserializeState<'de, DeSeed<'gc>> for Context

source§

fn deserialize_state<__D>( __seed: &mut DeSeed<'gc>, __deserializer: __D ) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserializes Self using seed and the deserializer
source§

impl SerializeState<SeSeed> for Context

source§

fn serialize_state<__S>( &self, __serializer: __S, __seed: &SeSeed ) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serializes self

Auto Trait Implementations§

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