Skip to main content

EnvRef

Struct EnvRef 

Source
pub struct EnvRef(/* private fields */);
Expand description

A typed wrapper around ArenaIndex representing an environment chain.

Environments are linked lists of (name . value) bindings stored in the arena. Using a distinct type prevents accidentally passing an expression where an environment is expected.

Implementations§

Source§

impl EnvRef

Source

pub const fn index(self) -> ArenaIndex

Get the underlying ArenaIndex.

Source

pub const fn new(idx: ArenaIndex) -> Self

Create an EnvRef from a raw ArenaIndex.

Trait Implementations§

Source§

impl Clone for EnvRef

Source§

fn clone(&self) -> EnvRef

Returns a duplicate 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 Debug for EnvRef

Source§

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

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

impl From<ArenaIndex> for EnvRef

Source§

fn from(idx: ArenaIndex) -> Self

Converts to this type from the input type.
Source§

impl From<EnvRef> for ArenaIndex

Source§

fn from(r: EnvRef) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for EnvRef

Source§

fn eq(&self, other: &EnvRef) -> 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 Copy for EnvRef

Source§

impl Eq for EnvRef

Source§

impl StructuralPartialEq for EnvRef

Auto Trait Implementations§

§

impl Freeze for EnvRef

§

impl RefUnwindSafe for EnvRef

§

impl Send for EnvRef

§

impl Sync for EnvRef

§

impl Unpin for EnvRef

§

impl UnwindSafe for EnvRef

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