pub struct Environment { /* private fields */ }Expand description
Scoped variable environment using a stack of hash maps.
Variables are looked up from the innermost scope outward. Assignments
respect mutability — attempting to assign to an immutable binding
produces a RuntimeError.
Implementations§
Source§impl Environment
impl Environment
Sourcepub fn push_scope(&mut self)
pub fn push_scope(&mut self)
Pushes a new empty scope onto the stack.
Sourcepub fn define(&mut self, name: String, value: Value, mutable: bool)
pub fn define(&mut self, name: String, value: Value, mutable: bool)
Defines a new variable in the current (innermost) scope.
Trait Implementations§
Source§impl Clone for Environment
impl Clone for Environment
Source§fn clone(&self) -> Environment
fn clone(&self) -> Environment
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 Environment
impl Debug for Environment
Auto Trait Implementations§
impl Freeze for Environment
impl RefUnwindSafe for Environment
impl Send for Environment
impl Sync for Environment
impl Unpin for Environment
impl UnsafeUnpin for Environment
impl UnwindSafe for Environment
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