struct BoundVarEnv {
name_gen: IndexGen<BoundVarName>,
layers: RefCell<Vec<UnordMap<BoundVar, BoundVarName>>>,
}
Fields§
§name_gen: IndexGen<BoundVarName>
§layers: RefCell<Vec<UnordMap<BoundVar, BoundVarName>>>
Implementations§
Source§impl BoundVarEnv
impl BoundVarEnv
fn lookup(&self, debruijn: DebruijnIndex, var: BoundVar) -> Option<BoundVarName>
fn push_layer(&self, vars: &[BoundVariableKind])
fn pop_layer(&self)
Trait Implementations§
Source§impl Default for BoundVarEnv
impl Default for BoundVarEnv
Source§fn default() -> BoundVarEnv
fn default() -> BoundVarEnv
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for BoundVarEnv
impl !RefUnwindSafe for BoundVarEnv
impl Send for BoundVarEnv
impl !Sync for BoundVarEnv
impl Unpin for BoundVarEnv
impl UnwindSafe for BoundVarEnv
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more