pub enum ErasedValue {
Int(u64),
Ctor(u32, Vec<ErasedValue>),
Closure {
body: Box<ErasedExprExt>,
env: Vec<ErasedValue>,
},
Unit,
Thunk(Box<ErasedExprExt>),
}Expand description
An erased value (runtime representation after full reduction).
Variants§
Int(u64)
An integer literal.
Ctor(u32, Vec<ErasedValue>)
A constructor applied to arguments.
Closure
A closure (lambda) with its captured environment.
Unit
A unit value.
Thunk(Box<ErasedExprExt>)
An unresolved thunk.
Implementations§
Trait Implementations§
Source§impl Clone for ErasedValue
impl Clone for ErasedValue
Source§fn clone(&self) -> ErasedValue
fn clone(&self) -> ErasedValue
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ErasedValue
impl Debug for ErasedValue
Source§impl PartialEq for ErasedValue
impl PartialEq for ErasedValue
impl StructuralPartialEq for ErasedValue
Auto Trait Implementations§
impl Freeze for ErasedValue
impl RefUnwindSafe for ErasedValue
impl Send for ErasedValue
impl Sync for ErasedValue
impl Unpin for ErasedValue
impl UnsafeUnpin for ErasedValue
impl UnwindSafe for ErasedValue
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more