rune::core::object::tagged

Struct Gc

Source
pub(crate) struct Gc<T> {
    ptr: *const u8,
    _data: PhantomData<T>,
}
Expand description

This type has two meanings, it is both a value that is tagged as well as something that is managed by the GC. It is intended to be pointer sized, and have a lifetime tied to the context which manages garbage collections. A Gc can be reinterpreted as any type that shares the same tag.

Fields§

§ptr: *const u8§_data: PhantomData<T>

Implementations§

Source§

impl<'ob> Gc<ListType<'ob>>

Source

pub(crate) fn elements(self) -> ElemIter<'ob>

Source

pub(crate) fn conses(self) -> ConsIter<'ob>

Source§

impl<'ob> Gc<ObjectType<'ob>>

Source

pub(crate) fn as_list(self) -> Result<ElemIter<'ob>>

Source§

impl<T> Gc<T>

Source

const fn new(ptr: *const u8) -> Self

Source

unsafe fn from_ptr<U>(ptr: *const U, tag: Tag) -> Self

Source

fn untag_ptr(self) -> (*const u8, Tag)

Source

fn get_tag(self) -> Tag

Source

pub(crate) fn into_raw(self) -> RawObj

Source

pub(in core) fn into_ptr( self, ) -> *const u8

Source

pub(crate) unsafe fn from_raw(raw: RawObj) -> Self

Source

pub(crate) unsafe fn from_raw_ptr(raw: *mut u8) -> Self

Source

pub(crate) fn ptr_eq<U>(self, other: Gc<U>) -> bool

Source

pub(crate) fn as_obj(&self) -> Gc<ObjectType<'_>>

Source§

impl<'ob, T> Gc<T>
where T: 'ob,

Source

pub(crate) fn as_obj_copy(self) -> Gc<ObjectType<'ob>>

Source§

impl<T> Gc<T>
where Gc<T>: Untag<T>,

Source

pub(crate) fn untag(self) -> T

A non-trait version of Untag::untag_erased. This is useful when we don’t want to import the trait all over the place. The only time we need to import the trait is in generic code.

Source§

impl<'ob> Gc<ObjectType<'ob>>

Source

pub(crate) fn try_from_option<T, E>( value: Gc<ObjectType<'ob>>, ) -> Result<Option<T>, E>
where Gc<ObjectType<'ob>>: TryInto<T, Error = E>,

Source

pub(crate) fn is_nil(self) -> bool

Source§

impl<'ob> Gc<ObjectType<'ob>>

Source

pub(crate) fn as_cons_pair( self, ) -> Result<(Symbol<'ob>, ObjectType<'ob>), TypeError>

Convience method to easily match against cons cells that are the start of a list of values.

Source§

impl<'ob> Gc<FunctionType<'ob>>

Source

pub(crate) fn as_cons_pair( self, ) -> Result<(Symbol<'ob>, FunctionType<'ob>), TypeError>

Convience method to easily match against cons cells that are the start of a list of values.

Source§

impl Gc<NumberType<'_>>

Source

pub(crate) fn val(self) -> NumberValue

Methods from Deref<Target = Cons>§

Source

pub(crate) fn elements(&self) -> ElemIter<'_>

Source

pub(crate) fn conses(&self) -> ConsIter<'_>

Source

pub(super) fn display_walk( &self, f: &mut Formatter<'_>, seen: &mut HashSet<*const u8>, ) -> Result

Source

fn is_backref(&self, seen: &mut HashSet<*const u8>) -> bool

Methods from Deref<Target = GcHeap<ConsInner>>§

Source

const NULL: *mut u8 = {0x0 as *mut u8}

Source

const EMTPTY: AtomicPtr<u8> = _

Source

fn header(&self) -> &GcHeader

Source

pub(in core) fn forward( &self, fwd_ptr: NonNull<u8>, )

Source

pub(in core) fn allocation_state( &self, ) -> AllocState

Source

fn is_marked(&self) -> bool

Trait Implementations§

Source§

impl<T: Clone> Clone for Gc<T>

Source§

fn clone(&self) -> Gc<T>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'new, T, U, E> CloneIn<'new, U> for Gc<T>
where T: WithLifetime<'new, Out = U>, Gc<U>: TryFrom<Gc<ObjectType<'new>>, Error = E> + 'new,

Source§

fn clone_in<const C: bool>(&self, bk: &'new Block<C>) -> Gc<U>

Source§

impl Default for Gc<ListType<'_>>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Default for Gc<ObjectType<'_>>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<T> Hash for Gc<T>

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<'ob> IntoIterator for Gc<ListType<'ob>>

Source§

type Item = <ElemIter<'ob> as Iterator>::Item

The type of the elements being iterated over.
Source§

type IntoIter = ElemIter<'ob>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl<T> IntoObject for Gc<T>

Source§

type Out<'ob> = ObjectType<'ob>

Source§

fn into_obj<const C: bool>(self, _block: &Block<C>) -> Gc<Self::Out<'_>>

Source§

impl Markable for Gc<FunctionType<'_>>

Source§

type Value = Gc<FunctionType<'_>>

Source§

fn move_value(&self, to_space: &Bump) -> Option<(Self::Value, bool)>

Source§

impl Markable for Gc<ListType<'_>>

Source§

type Value = Gc<ListType<'_>>

Source§

fn move_value(&self, to_space: &Bump) -> Option<(Self::Value, bool)>

Source§

impl Markable for Gc<ObjectType<'_>>

Source§

type Value = Gc<ObjectType<'_>>

Source§

fn move_value(&self, to_space: &Bump) -> Option<(Self::Value, bool)>

Source§

impl<T> Markable for Gc<T>
where Self: Untag<T> + Copy, T: Markable<Value = T> + TagType<Out = T>,

Source§

type Value = Gc<T>

Source§

fn move_value(&self, to_space: &Bump) -> Option<(Self::Value, bool)>

Source§

impl PartialEq<&str> for Gc<ObjectType<'_>>

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<Symbol<'_>> for Gc<ObjectType<'_>>

Source§

fn eq(&self, other: &Symbol<'_>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<bool> for Gc<ObjectType<'_>>

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<f64> for Gc<NumberType<'_>>

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<f64> for Gc<ObjectType<'_>>

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<i64> for Gc<NumberType<'_>>

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<i64> for Gc<ObjectType<'_>>

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T> PartialEq for Gc<T>

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T> Trace for Gc<T>

Source§

fn trace(&self, state: &mut GcState)

Source§

impl<'ob> TryFrom<Gc<FunctionType<'ob>>> for Gc<&'ob Cons>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Gc<FunctionType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Gc<ObjectType<'_>>> for Option<()>

Source§

type Error = LispError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'_>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Gc<ObjectType<'_>>> for bool

Source§

type Error = LispError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'_>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Gc<ObjectType<'_>>> for f64

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'_>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for &'ob ByteFn

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for &'ob ByteString

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for &'ob Cons

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for &'ob LispFloat

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for &'ob LispHashTable

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for &'ob LispString

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for &'ob LispVec

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for &'ob SubrFn

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for &'ob str

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Gc<&'ob ByteString>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Gc<&'ob Cons>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Gc<&'ob LispBuffer>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Gc<&'ob LispHashTable>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Gc<&'ob LispString>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Gc<&'ob LispVec>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Gc<FunctionType<'ob>>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Gc<ListType<'ob>>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Gc<NumberType<'ob>>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Gc<Symbol<'ob>>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Gc<i64>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Option<&'ob ByteFn>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Option<&'ob ByteString>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Option<&'ob Cons>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Option<&'ob LispFloat>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Option<&'ob LispHashTable>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Option<&'ob LispString>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Option<&'ob LispVec>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Option<&'ob SubrFn>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Option<&'ob str>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Option<Gc<NumberType<'ob>>>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(value: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Option<Symbol<'ob>>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Option<i64>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Option<usize>

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for StringOrSymbol<'ob>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Symbol<'ob>

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for char

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for i64

Source§

type Error = TypeError

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for usize

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(obj: Gc<ObjectType<'ob>>) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl<T: TaggedPtr> Untag<T> for Gc<T>

Source§

fn untag_erased(self) -> T

Source§

impl<'new, T: WithLifetime<'new>> WithLifetime<'new> for Gc<T>

Source§

type Out = Gc<<T as WithLifetime<'new>>::Out>

Source§

unsafe fn with_lifetime(self) -> Self::Out

Source§

impl<'ob> From<&'ob ByteFn> for Gc<FunctionType<'ob>>

Source§

fn from(x: &'ob ByteFn) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&'ob ByteFn> for Gc<ObjectType<'ob>>

Source§

fn from(x: &'ob ByteFn) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&'ob ByteString> for Gc<ObjectType<'ob>>

Source§

fn from(x: &'ob ByteString) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&'ob Cons> for Gc<FunctionType<'ob>>

Source§

fn from(x: &'ob Cons) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&'ob Cons> for Gc<ListType<'ob>>

Source§

fn from(x: &'ob Cons) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&'ob Cons> for Gc<ObjectType<'ob>>

Source§

fn from(x: &'ob Cons) -> Self

Converts to this type from the input type.
Source§

impl<'a, T: 'a + Copy> From<&Gc<T>> for ObjectType<'a>

Source§

fn from(x: &Gc<T>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&'ob LispBuffer> for Gc<ObjectType<'ob>>

Source§

fn from(x: &'ob LispBuffer) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&LispFloat> for Gc<NumberType<'ob>>

Source§

fn from(x: &LispFloat) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&'ob LispFloat> for Gc<ObjectType<'ob>>

Source§

fn from(x: &'ob LispFloat) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&'ob LispHashTable> for Gc<ObjectType<'ob>>

Source§

fn from(x: &'ob LispHashTable) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&'ob LispString> for Gc<ObjectType<'ob>>

Source§

fn from(x: &'ob LispString) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&'ob LispVec> for Gc<ObjectType<'ob>>

Source§

fn from(x: &'ob LispVec) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&'ob Record> for Gc<ObjectType<'ob>>

Source§

fn from(x: &'ob Record) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&'ob SubrFn> for Gc<FunctionType<'ob>>

Source§

fn from(x: &'ob SubrFn) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<&'ob SubrFn> for Gc<ObjectType<'ob>>

Source§

fn from(x: &'ob SubrFn) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<FunctionType<'ob>> for Gc<ObjectType<'ob>>

Source§

fn from(x: FunctionType<'ob>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob ByteFn>> for Gc<FunctionType<'ob>>

Source§

fn from(x: Gc<&'ob ByteFn>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob ByteFn>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<&'ob ByteFn>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob ByteString>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<&'ob ByteString>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob Cons>> for Gc<FunctionType<'ob>>

Source§

fn from(x: Gc<&'ob Cons>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob Cons>> for Gc<ListType<'ob>>

Source§

fn from(x: Gc<&'ob Cons>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob Cons>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<&'ob Cons>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob LispBuffer>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<&'ob LispBuffer>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&LispFloat>> for Gc<NumberType<'ob>>

Source§

fn from(x: Gc<&LispFloat>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob LispFloat>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<&'ob LispFloat>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob LispHashTable>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<&'ob LispHashTable>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob LispString>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<&'ob LispString>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob LispVec>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<&'ob LispVec>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob Record>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<&'ob Record>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob SubrFn>> for Gc<FunctionType<'ob>>

Source§

fn from(x: Gc<&'ob SubrFn>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<&'ob SubrFn>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<&'ob SubrFn>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<FunctionType<'ob>>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<FunctionType<'ob>>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<ListType<'ob>>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<ListType<'ob>>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<NumberType<'ob>>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<NumberType<'ob>>) -> Self

Converts to this type from the input type.
Source§

impl From<Gc<ObjectType<'_>>> for ()

Source§

fn from(_: Gc<ObjectType<'_>>)

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<Symbol<'_>>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<Symbol<'_>>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<Symbol<'ob>>> for Gc<FunctionType<'ob>>

Source§

fn from(x: Gc<Symbol<'ob>>) -> Self

Converts to this type from the input type.
Source§

impl<'a, T: 'a + Copy> From<Gc<T>> for ObjectType<'a>

Source§

fn from(x: Gc<T>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<i64>> for Gc<NumberType<'ob>>

Source§

fn from(x: Gc<i64>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Gc<i64>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<i64>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<ListType<'ob>> for Gc<ObjectType<'ob>>

Source§

fn from(x: ListType<'ob>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<NumberType<'ob>> for Gc<ObjectType<'ob>>

Source§

fn from(x: NumberType<'ob>) -> Self

Converts to this type from the input type.
Source§

impl<'ob, T> From<Option<T>> for Gc<ObjectType<'ob>>
where T: Into<Gc<ObjectType<'ob>>>,

Source§

fn from(t: Option<T>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Symbol<'_>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Symbol<'_>) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<Symbol<'ob>> for Gc<FunctionType<'ob>>

Source§

fn from(x: Symbol<'ob>) -> Self

Converts to this type from the input type.
Source§

impl From<bool> for Gc<ObjectType<'_>>

Source§

fn from(b: bool) -> Self

Converts to this type from the input type.
Source§

impl From<i32> for Gc<ObjectType<'_>>

Source§

fn from(x: i32) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<i64> for Gc<NumberType<'ob>>

Source§

fn from(x: i64) -> Self

Converts to this type from the input type.
Source§

impl<'ob> From<i64> for Gc<ObjectType<'ob>>

Source§

fn from(x: i64) -> Self

Converts to this type from the input type.
Source§

impl From<usize> for Gc<ObjectType<'_>>

Source§

fn from(x: usize) -> Self

Converts to this type from the input type.
Source§

impl<T> Debug for Gc<T>

Source§

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

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

impl<T> Display for Gc<T>

Source§

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

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

impl<'ob> Deref for Gc<&'ob Cons>

Source§

type Target = Cons

The resulting type after dereferencing.
Source§

fn deref(&self) -> &'ob Self::Target

Dereferences the value.
Source§

impl<T: Copy> Copy for Gc<T>

Source§

impl<T> Eq for Gc<T>

Source§

impl<T> GcPtr for Gc<T>

Source§

impl<T> Send for Gc<T>

Auto Trait Implementations§

§

impl<T> Freeze for Gc<T>

§

impl<T> RefUnwindSafe for Gc<T>
where T: RefUnwindSafe,

§

impl<T> !Sync for Gc<T>

§

impl<T> Unpin for Gc<T>
where T: Unpin,

§

impl<T> UnwindSafe for Gc<T>
where T: UnwindSafe,

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

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

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>,

Source§

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<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.