better force eval ergonomic

This commit is contained in:
2026-04-21 22:05:49 +08:00
parent b31c2a4906
commit e469d1b819
7 changed files with 303 additions and 123 deletions
+1 -6
View File
@@ -66,12 +66,7 @@ impl<'gc> crate::Vm<'gc> {
)));
};
self.push(env);
self.try_force(0, reader, mc)?;
let env = match self.pop_forced_expect_gc::<AttrSet>() {
Ok(val) => val,
Err(got) => return self.finish_type_err(NixType::List, got)
};
let env = self.try_force::<Gc<AttrSet>>(reader, mc)?;
let Some(val) = env.lookup(name) else {
reader.set_pc(reader.inst_start_pc());
self.with_env = prev;