fix: thunk & function
This commit is contained in:
@@ -26,11 +26,6 @@ impl Clone for Env<'_> {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct CapturedEnv<'vm> {
|
||||
env: Rc<Env<'vm>>,
|
||||
}
|
||||
|
||||
impl<'vm> Env<'vm> {
|
||||
pub fn empty() -> Self {
|
||||
Env::default()
|
||||
@@ -78,18 +73,4 @@ impl<'vm> Env<'vm> {
|
||||
let map = last.map.borrow().clone();
|
||||
*self.map.borrow_mut() = map;
|
||||
}
|
||||
|
||||
pub fn captured(self: Rc<Self>) -> CapturedEnv<'vm> {
|
||||
CapturedEnv { env: self }
|
||||
}
|
||||
}
|
||||
|
||||
impl<'vm> CapturedEnv<'vm> {
|
||||
pub fn lookup(&self, symbol: &Symbol) -> Option<Value<'vm>> {
|
||||
self.env.lookup(symbol)
|
||||
}
|
||||
|
||||
pub fn released(self) -> Rc<Env<'vm>> {
|
||||
Rc::new(self.env.as_ref().clone())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user