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

pub(crate) fn into_list(self) -> Result<Gc<ListType<'ob>>, TypeError>

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<NumberType<'ob>>

Source

pub fn int(self) -> Option<i64>

Source

pub fn int_or<E>(self, err: E) -> Result<i64, E>

Source

pub fn int_or_else<E, F: FnOnce() -> E>(self, or_else: F) -> Result<i64, E>

Source

pub fn expect_int(self, msg: &str) -> i64

Source

pub fn unwrap_int(self) -> i64

Source

pub fn unwrap_or_int(self, default: i64) -> i64

Source

pub fn unwrap_or_else_int<F: FnOnce() -> i64>(self, or_else: F) -> i64

Source

pub fn is_int(&self) -> bool

Source

pub fn is_not_int(&self) -> bool

Source

pub fn and_int(self, and: Self) -> Self

Source

pub fn or_int(self, or: Self) -> Self

Source

pub fn float(self) -> Option<&'ob LispFloat>

Source

pub fn float_or<E>(self, err: E) -> Result<&'ob LispFloat, E>

Source

pub fn float_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob LispFloat, E>

Source

pub fn expect_float(self, msg: &str) -> &'ob LispFloat

Source

pub fn unwrap_float(self) -> &'ob LispFloat

Source

pub fn unwrap_or_float(self, default: &'ob LispFloat) -> &'ob LispFloat

Source

pub fn unwrap_or_else_float<F: FnOnce() -> &'ob LispFloat>( self, or_else: F, ) -> &'ob LispFloat

Source

pub fn is_float(&self) -> bool

Source

pub fn is_not_float(&self) -> bool

Source

pub fn and_float(self, and: Self) -> Self

Source

pub fn or_float(self, or: Self) -> Self

Source

pub fn big(self) -> Option<&'ob LispBigInt>

Source

pub fn big_or<E>(self, err: E) -> Result<&'ob LispBigInt, E>

Source

pub fn big_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob LispBigInt, E>

Source

pub fn expect_big(self, msg: &str) -> &'ob LispBigInt

Source

pub fn unwrap_big(self) -> &'ob LispBigInt

Source

pub fn unwrap_or_big(self, default: &'ob LispBigInt) -> &'ob LispBigInt

Source

pub fn unwrap_or_else_big<F: FnOnce() -> &'ob LispBigInt>( self, or_else: F, ) -> &'ob LispBigInt

Source

pub fn is_big(&self) -> bool

Source

pub fn is_not_big(&self) -> bool

Source

pub fn and_big(self, and: Self) -> Self

Source

pub fn or_big(self, or: Self) -> Self

Source§

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

Source

pub fn is_nil(&self) -> bool

Source

pub fn is_not_nil(&self) -> bool

Source

pub fn and_nil(self, and: Self) -> Self

Source

pub fn or_nil(self, or: Self) -> Self

Source

pub fn cons(self) -> Option<&'ob Cons>

Source

pub fn cons_or<E>(self, err: E) -> Result<&'ob Cons, E>

Source

pub fn cons_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob Cons, E>

Source

pub fn expect_cons(self, msg: &str) -> &'ob Cons

Source

pub fn unwrap_cons(self) -> &'ob Cons

Source

pub fn unwrap_or_cons(self, default: &'ob Cons) -> &'ob Cons

Source

pub fn unwrap_or_else_cons<F: FnOnce() -> &'ob Cons>( self, or_else: F, ) -> &'ob Cons

Source

pub fn is_cons(&self) -> bool

Source

pub fn is_not_cons(&self) -> bool

Source

pub fn and_cons(self, and: Self) -> Self

Source

pub fn or_cons(self, or: Self) -> Self

Source§

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

Source

pub fn byte_fn(self) -> Option<&'ob ByteFn>

Source

pub fn byte_fn_or<E>(self, err: E) -> Result<&'ob ByteFn, E>

Source

pub fn byte_fn_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob ByteFn, E>

Source

pub fn expect_byte_fn(self, msg: &str) -> &'ob ByteFn

Source

pub fn unwrap_byte_fn(self) -> &'ob ByteFn

Source

pub fn unwrap_or_byte_fn(self, default: &'ob ByteFn) -> &'ob ByteFn

Source

pub fn unwrap_or_else_byte_fn<F: FnOnce() -> &'ob ByteFn>( self, or_else: F, ) -> &'ob ByteFn

Source

pub fn is_byte_fn(&self) -> bool

Source

pub fn is_not_byte_fn(&self) -> bool

Source

pub fn and_byte_fn(self, and: Self) -> Self

Source

pub fn or_byte_fn(self, or: Self) -> Self

Source

pub fn subr_fn(self) -> Option<&'static SubrFn>

Source

pub fn subr_fn_or<E>(self, err: E) -> Result<&'static SubrFn, E>

Source

pub fn subr_fn_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'static SubrFn, E>

Source

pub fn expect_subr_fn(self, msg: &str) -> &'static SubrFn

Source

pub fn unwrap_subr_fn(self) -> &'static SubrFn

Source

pub fn unwrap_or_subr_fn(self, default: &'static SubrFn) -> &'static SubrFn

Source

pub fn unwrap_or_else_subr_fn<F: FnOnce() -> &'static SubrFn>( self, or_else: F, ) -> &'static SubrFn

Source

pub fn is_subr_fn(&self) -> bool

Source

pub fn is_not_subr_fn(&self) -> bool

Source

pub fn and_subr_fn(self, and: Self) -> Self

Source

pub fn or_subr_fn(self, or: Self) -> Self

Source

pub fn cons(self) -> Option<&'ob Cons>

Source

pub fn cons_or<E>(self, err: E) -> Result<&'ob Cons, E>

Source

pub fn cons_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob Cons, E>

Source

pub fn expect_cons(self, msg: &str) -> &'ob Cons

Source

pub fn unwrap_cons(self) -> &'ob Cons

Source

pub fn unwrap_or_cons(self, default: &'ob Cons) -> &'ob Cons

Source

pub fn unwrap_or_else_cons<F: FnOnce() -> &'ob Cons>( self, or_else: F, ) -> &'ob Cons

Source

pub fn is_cons(&self) -> bool

Source

pub fn is_not_cons(&self) -> bool

Source

pub fn and_cons(self, and: Self) -> Self

Source

pub fn or_cons(self, or: Self) -> Self

Source

pub fn symbol(self) -> Option<Symbol<'ob>>

Source

pub fn symbol_or<E>(self, err: E) -> Result<Symbol<'ob>, E>

Source

pub fn symbol_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<Symbol<'ob>, E>

Source

pub fn expect_symbol(self, msg: &str) -> Symbol<'ob>

Source

pub fn unwrap_symbol(self) -> Symbol<'ob>

Source

pub fn unwrap_or_symbol(self, default: Symbol<'ob>) -> Symbol<'ob>

Source

pub fn unwrap_or_else_symbol<F: FnOnce() -> Symbol<'ob>>( self, or_else: F, ) -> Symbol<'ob>

Source

pub fn is_symbol(&self) -> bool

Source

pub fn is_not_symbol(&self) -> bool

Source

pub fn and_symbol(self, and: Self) -> Self

Source

pub fn or_symbol(self, or: Self) -> Self

Source§

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

Source

pub fn int(self) -> Option<i64>

Source

pub fn int_or<E>(self, err: E) -> Result<i64, E>

Source

pub fn int_or_else<E, F: FnOnce() -> E>(self, or_else: F) -> Result<i64, E>

Source

pub fn expect_int(self, msg: &str) -> i64

Source

pub fn unwrap_int(self) -> i64

Source

pub fn unwrap_or_int(self, default: i64) -> i64

Source

pub fn unwrap_or_else_int<F: FnOnce() -> i64>(self, or_else: F) -> i64

Source

pub fn is_int(&self) -> bool

Source

pub fn is_not_int(&self) -> bool

Source

pub fn and_int(self, and: Self) -> Self

Source

pub fn or_int(self, or: Self) -> Self

Source

pub fn float(self) -> Option<&'ob LispFloat>

Source

pub fn float_or<E>(self, err: E) -> Result<&'ob LispFloat, E>

Source

pub fn float_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob LispFloat, E>

Source

pub fn expect_float(self, msg: &str) -> &'ob LispFloat

Source

pub fn unwrap_float(self) -> &'ob LispFloat

Source

pub fn unwrap_or_float(self, default: &'ob LispFloat) -> &'ob LispFloat

Source

pub fn unwrap_or_else_float<F: FnOnce() -> &'ob LispFloat>( self, or_else: F, ) -> &'ob LispFloat

Source

pub fn is_float(&self) -> bool

Source

pub fn is_not_float(&self) -> bool

Source

pub fn and_float(self, and: Self) -> Self

Source

pub fn or_float(self, or: Self) -> Self

Source

pub fn symbol(self) -> Option<Symbol<'ob>>

Source

pub fn symbol_or<E>(self, err: E) -> Result<Symbol<'ob>, E>

Source

pub fn symbol_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<Symbol<'ob>, E>

Source

pub fn expect_symbol(self, msg: &str) -> Symbol<'ob>

Source

pub fn unwrap_symbol(self) -> Symbol<'ob>

Source

pub fn unwrap_or_symbol(self, default: Symbol<'ob>) -> Symbol<'ob>

Source

pub fn unwrap_or_else_symbol<F: FnOnce() -> Symbol<'ob>>( self, or_else: F, ) -> Symbol<'ob>

Source

pub fn is_symbol(&self) -> bool

Source

pub fn is_not_symbol(&self) -> bool

Source

pub fn and_symbol(self, and: Self) -> Self

Source

pub fn or_symbol(self, or: Self) -> Self

Source

pub fn cons(self) -> Option<&'ob Cons>

Source

pub fn cons_or<E>(self, err: E) -> Result<&'ob Cons, E>

Source

pub fn cons_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob Cons, E>

Source

pub fn expect_cons(self, msg: &str) -> &'ob Cons

Source

pub fn unwrap_cons(self) -> &'ob Cons

Source

pub fn unwrap_or_cons(self, default: &'ob Cons) -> &'ob Cons

Source

pub fn unwrap_or_else_cons<F: FnOnce() -> &'ob Cons>( self, or_else: F, ) -> &'ob Cons

Source

pub fn is_cons(&self) -> bool

Source

pub fn is_not_cons(&self) -> bool

Source

pub fn and_cons(self, and: Self) -> Self

Source

pub fn or_cons(self, or: Self) -> Self

Source

pub fn vec(self) -> Option<&'ob LispVec>

Source

pub fn vec_or<E>(self, err: E) -> Result<&'ob LispVec, E>

Source

pub fn vec_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob LispVec, E>

Source

pub fn expect_vec(self, msg: &str) -> &'ob LispVec

Source

pub fn unwrap_vec(self) -> &'ob LispVec

Source

pub fn unwrap_or_vec(self, default: &'ob LispVec) -> &'ob LispVec

Source

pub fn unwrap_or_else_vec<F: FnOnce() -> &'ob LispVec>( self, or_else: F, ) -> &'ob LispVec

Source

pub fn is_vec(&self) -> bool

Source

pub fn is_not_vec(&self) -> bool

Source

pub fn and_vec(self, and: Self) -> Self

Source

pub fn or_vec(self, or: Self) -> Self

Source

pub fn record(self) -> Option<&'ob Record>

Source

pub fn record_or<E>(self, err: E) -> Result<&'ob Record, E>

Source

pub fn record_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob Record, E>

Source

pub fn expect_record(self, msg: &str) -> &'ob Record

Source

pub fn unwrap_record(self) -> &'ob Record

Source

pub fn unwrap_or_record(self, default: &'ob Record) -> &'ob Record

Source

pub fn unwrap_or_else_record<F: FnOnce() -> &'ob Record>( self, or_else: F, ) -> &'ob Record

Source

pub fn is_record(&self) -> bool

Source

pub fn is_not_record(&self) -> bool

Source

pub fn and_record(self, and: Self) -> Self

Source

pub fn or_record(self, or: Self) -> Self

Source

pub fn hash_table(self) -> Option<&'ob LispHashTable>

Source

pub fn hash_table_or<E>(self, err: E) -> Result<&'ob LispHashTable, E>

Source

pub fn hash_table_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob LispHashTable, E>

Source

pub fn expect_hash_table(self, msg: &str) -> &'ob LispHashTable

Source

pub fn unwrap_hash_table(self) -> &'ob LispHashTable

Source

pub fn unwrap_or_hash_table( self, default: &'ob LispHashTable, ) -> &'ob LispHashTable

Source

pub fn unwrap_or_else_hash_table<F: FnOnce() -> &'ob LispHashTable>( self, or_else: F, ) -> &'ob LispHashTable

Source

pub fn is_hash_table(&self) -> bool

Source

pub fn is_not_hash_table(&self) -> bool

Source

pub fn and_hash_table(self, and: Self) -> Self

Source

pub fn or_hash_table(self, or: Self) -> Self

Source

pub fn string(self) -> Option<&'ob LispString>

Source

pub fn string_or<E>(self, err: E) -> Result<&'ob LispString, E>

Source

pub fn string_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob LispString, E>

Source

pub fn expect_string(self, msg: &str) -> &'ob LispString

Source

pub fn unwrap_string(self) -> &'ob LispString

Source

pub fn unwrap_or_string(self, default: &'ob LispString) -> &'ob LispString

Source

pub fn unwrap_or_else_string<F: FnOnce() -> &'ob LispString>( self, or_else: F, ) -> &'ob LispString

Source

pub fn is_string(&self) -> bool

Source

pub fn is_not_string(&self) -> bool

Source

pub fn and_string(self, and: Self) -> Self

Source

pub fn or_string(self, or: Self) -> Self

Source

pub fn byte_string(self) -> Option<&'ob ByteString>

Source

pub fn byte_string_or<E>(self, err: E) -> Result<&'ob ByteString, E>

Source

pub fn byte_string_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob ByteString, E>

Source

pub fn expect_byte_string(self, msg: &str) -> &'ob ByteString

Source

pub fn unwrap_byte_string(self) -> &'ob ByteString

Source

pub fn unwrap_or_byte_string(self, default: &'ob ByteString) -> &'ob ByteString

Source

pub fn unwrap_or_else_byte_string<F: FnOnce() -> &'ob ByteString>( self, or_else: F, ) -> &'ob ByteString

Source

pub fn is_byte_string(&self) -> bool

Source

pub fn is_not_byte_string(&self) -> bool

Source

pub fn and_byte_string(self, and: Self) -> Self

Source

pub fn or_byte_string(self, or: Self) -> Self

Source

pub fn byte_fn(self) -> Option<&'ob ByteFn>

Source

pub fn byte_fn_or<E>(self, err: E) -> Result<&'ob ByteFn, E>

Source

pub fn byte_fn_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob ByteFn, E>

Source

pub fn expect_byte_fn(self, msg: &str) -> &'ob ByteFn

Source

pub fn unwrap_byte_fn(self) -> &'ob ByteFn

Source

pub fn unwrap_or_byte_fn(self, default: &'ob ByteFn) -> &'ob ByteFn

Source

pub fn unwrap_or_else_byte_fn<F: FnOnce() -> &'ob ByteFn>( self, or_else: F, ) -> &'ob ByteFn

Source

pub fn is_byte_fn(&self) -> bool

Source

pub fn is_not_byte_fn(&self) -> bool

Source

pub fn and_byte_fn(self, and: Self) -> Self

Source

pub fn or_byte_fn(self, or: Self) -> Self

Source

pub fn subr_fn(self) -> Option<&'static SubrFn>

Source

pub fn subr_fn_or<E>(self, err: E) -> Result<&'static SubrFn, E>

Source

pub fn subr_fn_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'static SubrFn, E>

Source

pub fn expect_subr_fn(self, msg: &str) -> &'static SubrFn

Source

pub fn unwrap_subr_fn(self) -> &'static SubrFn

Source

pub fn unwrap_or_subr_fn(self, default: &'static SubrFn) -> &'static SubrFn

Source

pub fn unwrap_or_else_subr_fn<F: FnOnce() -> &'static SubrFn>( self, or_else: F, ) -> &'static SubrFn

Source

pub fn is_subr_fn(&self) -> bool

Source

pub fn is_not_subr_fn(&self) -> bool

Source

pub fn and_subr_fn(self, and: Self) -> Self

Source

pub fn or_subr_fn(self, or: Self) -> Self

Source

pub fn buffer(self) -> Option<&'static LispBuffer>

Source

pub fn buffer_or<E>(self, err: E) -> Result<&'static LispBuffer, E>

Source

pub fn buffer_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'static LispBuffer, E>

Source

pub fn expect_buffer(self, msg: &str) -> &'static LispBuffer

Source

pub fn unwrap_buffer(self) -> &'static LispBuffer

Source

pub fn unwrap_or_buffer( self, default: &'static LispBuffer, ) -> &'static LispBuffer

Source

pub fn unwrap_or_else_buffer<F: FnOnce() -> &'static LispBuffer>( self, or_else: F, ) -> &'static LispBuffer

Source

pub fn is_buffer(&self) -> bool

Source

pub fn is_not_buffer(&self) -> bool

Source

pub fn and_buffer(self, and: Self) -> Self

Source

pub fn or_buffer(self, or: Self) -> Self

Source

pub fn char_table(self) -> Option<&'static CharTable>

Source

pub fn char_table_or<E>(self, err: E) -> Result<&'static CharTable, E>

Source

pub fn char_table_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'static CharTable, E>

Source

pub fn expect_char_table(self, msg: &str) -> &'static CharTable

Source

pub fn unwrap_char_table(self) -> &'static CharTable

Source

pub fn unwrap_or_char_table( self, default: &'static CharTable, ) -> &'static CharTable

Source

pub fn unwrap_or_else_char_table<F: FnOnce() -> &'static CharTable>( self, or_else: F, ) -> &'static CharTable

Source

pub fn is_char_table(&self) -> bool

Source

pub fn is_not_char_table(&self) -> bool

Source

pub fn and_char_table(self, and: Self) -> Self

Source

pub fn or_char_table(self, or: Self) -> Self

Source

pub fn big_int(self) -> Option<&'ob LispBigInt>

Source

pub fn big_int_or<E>(self, err: E) -> Result<&'ob LispBigInt, E>

Source

pub fn big_int_or_else<E, F: FnOnce() -> E>( self, or_else: F, ) -> Result<&'ob LispBigInt, E>

Source

pub fn expect_big_int(self, msg: &str) -> &'ob LispBigInt

Source

pub fn unwrap_big_int(self) -> &'ob LispBigInt

Source

pub fn unwrap_or_big_int(self, default: &'ob LispBigInt) -> &'ob LispBigInt

Source

pub fn unwrap_or_else_big_int<F: FnOnce() -> &'ob LispBigInt>( self, or_else: F, ) -> &'ob LispBigInt

Source

pub fn is_big_int(&self) -> bool

Source

pub fn is_not_big_int(&self) -> bool

Source

pub fn and_big_int(self, and: Self) -> Self

Source

pub fn or_big_int(self, or: Self) -> Self

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(crate) fn car(&self) -> Gc<ObjectType<'_>>

Source

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

Source

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

Source

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

Source

pub(crate) fn set_car(&self, new_car: Gc<ObjectType<'_>>) -> Result<()>

Source

pub(crate) fn set_cdr(&self, new_cdr: Gc<ObjectType<'_>>) -> Result<()>

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

Trait Implementations§

Source§

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

Source§

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

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

const 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<T> Debug for Gc<T>

Source§

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

Formats the value using the given formatter. Read more
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<'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> Display for Gc<T>

Source§

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

Formats the value using the given formatter. Read more
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 CharTable> for Gc<ObjectType<'ob>>

Source§

fn from(x: &'ob CharTable) -> 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<&LispBigInt> for Gc<NumberType<'ob>>

Source§

fn from(x: &LispBigInt) -> Self

Converts to this type from the input type.
Source§

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

Source§

fn from(x: &'ob LispBigInt) -> 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 CharTable>> for Gc<ObjectType<'ob>>

Source§

fn from(x: Gc<&'ob CharTable>) -> 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<&LispBigInt>> for Gc<NumberType<'ob>>

Source§

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

Converts to this type from the input type.
Source§

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

Source§

fn from(x: Gc<&'ob LispBigInt>) -> 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 GcMoveable for Gc<FunctionType<'_>>

Source§

type Value = Gc<FunctionType<'_>>

Source§

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

Source§

impl GcMoveable for Gc<ListType<'_>>

Source§

type Value = Gc<ListType<'_>>

Source§

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

Source§

impl GcMoveable for Gc<ObjectType<'_>>

Source§

type Value = Gc<ObjectType<'_>>

Source§

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

Source§

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

Source§

type Value = Gc<T>

Source§

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

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

const 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<BigInt> for Gc<NumberType<'_>>

Source§

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

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

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

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

const 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<char> for Gc<ObjectType<'_>>

Source§

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

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

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

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

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

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

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

const 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> TracePtr for Gc<T>

Source§

fn trace_ptr(&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 CharTable

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

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

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

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 Result<[Gc<ObjectType<'ob>>; 1], u16>

Source§

type Error = Error

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

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

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for Result<[Gc<ObjectType<'ob>>; 2], u16>

Source§

type Error = Error

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

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

Performs the conversion.
Source§

impl<'ob> TryFrom<Gc<ObjectType<'ob>>> for StringOrChar<'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 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<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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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§

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