fix: desugaring leaks

This commit is contained in:
Shunsuke Shibayama 2023-06-10 13:46:10 +09:00
parent 0840d9bf60
commit 5ea48ab88e
7 changed files with 48 additions and 43 deletions

View file

@ -338,23 +338,12 @@ impl Context {
self.pop();
errs
})?;
match self.check_decls_and_pop() {
Ok(_) => {
self.register_gen_const(
def.sig.ident().unwrap(),
obj,
def.def_kind().is_other(),
)?;
Ok(ValueObj::None)
}
Err(errs) => {
self.register_gen_const(
def.sig.ident().unwrap(),
obj,
def.def_kind().is_other(),
)?;
Err(errs)
}
let (_ctx, errs) = self.check_decls_and_pop();
self.register_gen_const(def.sig.ident().unwrap(), obj, def.def_kind().is_other())?;
if errs.is_empty() {
Ok(ValueObj::None)
} else {
Err(errs)
}
} else {
Err(EvalErrors::from(EvalError::not_const_expr(