Struct gluon_vm::internal::Value

source ·
#[repr(transparent)]
pub struct Value(/* private fields */);

Implementations§

source§

impl Value

source

pub fn int(i: VmInt) -> Value

source

pub fn array(array: GcPtr<ValueArray>) -> Value

source

pub fn tag(tag: VmTag) -> Value

source

pub fn get_variants(&self) -> Variants<'_>

source

pub fn generation(&self) -> Generation

source

pub fn obj_eq(&self, other: &Self) -> bool

Trait Implementations§

source§

impl CloneUnrooted for Value

§

type Value = Value

source§

unsafe fn clone_unrooted(&self) -> Self

Creates a clone of the value that is not rooted. To ensure safety the value must be forgotten or rooted before the next garbage collection
source§

impl CopyUnrooted for Value

source§

unsafe fn copy_unrooted(&self) -> Self

source§

impl Debug for Value

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de, 'gc> DeserializeState<'de, DeSeed<'gc>> for Value

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 From<GcPtr<Box<dyn Userdata, Global>>> for Value

source§

fn from(v: GcPtr<Box<dyn Userdata>>) -> Value

Converts to this type from the input type.
source§

impl From<GcPtr<ClosureData>> for Value

source§

fn from(v: GcPtr<ClosureData>) -> Value

Converts to this type from the input type.
source§

impl From<GcPtr<DataStruct>> for Value

source§

fn from(v: GcPtr<DataStruct>) -> Value

Converts to this type from the input type.
source§

impl From<GcPtr<ExternFunction>> for Value

source§

fn from(v: GcPtr<ExternFunction>) -> Value

Converts to this type from the input type.
source§

impl From<GcPtr<PartialApplicationData>> for Value

source§

fn from(v: GcPtr<PartialApplicationData>) -> Value

Converts to this type from the input type.
source§

impl From<GcPtr<Thread>> for Value

source§

fn from(v: GcPtr<Thread>) -> Value

Converts to this type from the input type.
source§

impl From<GcPtr<ValueArray>> for Value

source§

fn from(v: GcPtr<ValueArray>) -> Value

Converts to this type from the input type.
source§

impl From<GcPtr<ValueStr>> for Value

source§

fn from(v: GcPtr<ValueStr>) -> Value

Converts to this type from the input type.
source§

impl From<f64> for Value

source§

fn from(v: f64) -> Value

Converts to this type from the input type.
source§

impl From<i64> for Value

source§

fn from(v: VmInt) -> Value

Converts to this type from the input type.
source§

impl From<u8> for Value

source§

fn from(v: u8) -> Value

Converts to this type from the input type.
source§

impl PartialEq<Value> for Value

source§

fn eq(&self, other: &Value) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a> PartialEq<Value> for ValueRef<'a>

source§

fn eq(&self, other: &Value) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl SerializeState<SeSeed> for Value

source§

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

Serializes self
source§

impl StackPrimitive for Value

source§

fn push_to(&self, stack: &mut Stack)

source§

fn extend_to<'b, I>(iter: I, stack: &mut Stack)where I: IntoIterator<Item = &'b Self>,

source§

impl Trace for Value

source§

unsafe fn root(&mut self)

source§

unsafe fn unroot(&mut self)

source§

fn trace(&self, gc: &mut Gc)

source§

impl StructuralPartialEq for Value

Auto Trait Implementations§

§

impl !RefUnwindSafe for Value

§

impl Send for Value

§

impl Sync for Value

§

impl Unpin for Value

§

impl !UnwindSafe for Value

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<Id> AsId<Id> for Idwhere Id: ?Sized,

source§

fn as_id(&self) -> &Id

source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

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

§

type Remainder = Choices

source§

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

impl<T> Downcast for Twhere T: Any,

source§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

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

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

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

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

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> DowncastArc for Twhere T: Downcast + Send + Sync,

source§

fn into_arc_any(self: Arc<T, Global>) -> Arc<dyn Any + Send + Sync, Global>

source§

impl<T> DowncastSync for Twhere T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T, Global>) -> Arc<dyn Any + Send + Sync, Global>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
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 Twhere 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.

source§

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

source§

fn lift_into(self) -> U

Performs the indexed conversion.
source§

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

§

type Remainder = Source

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 Twhere 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 Twhere 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 Twhere T: Any,

source§

impl<T> Captures<'_> for T