fix issue with same names causing 0 index debruijn for var
This commit is contained in:
@@ -4,6 +4,8 @@ use crate::ast::Unique;
|
||||
|
||||
use super::Level;
|
||||
|
||||
#[derive(Debug)]
|
||||
|
||||
pub struct BiMap {
|
||||
left: HashMap<Unique, Level>,
|
||||
right: HashMap<Level, Unique>,
|
||||
@@ -22,6 +24,11 @@ impl BiMap {
|
||||
self.right.insert(level, unique);
|
||||
}
|
||||
|
||||
pub(super) fn remove(&mut self, unique: Unique, level: Level) {
|
||||
self.left.remove(&unique);
|
||||
self.right.remove(&level);
|
||||
}
|
||||
|
||||
pub(super) fn get(&self, unique: &Unique) -> Option<&Level> {
|
||||
self.left.get(unique)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user