feat: less clone, avoid evaluating not depended thunk

This commit is contained in:
2025-06-18 09:32:00 +08:00
parent 3e9f0a72a0
commit d875951c09
14 changed files with 409 additions and 192 deletions

View File

@@ -1,15 +1,15 @@
use std::rc::Rc;
use crate::env::VmEnv;
use crate::env::Env;
use crate::ir;
pub struct Func<'gc> {
pub func: &'gc ir::Func,
pub env: Rc<VmEnv>,
pub env: Rc<Env>,
}
impl<'gc> Func<'gc> {
pub fn new(func: &'gc ir::Func, env: Rc<VmEnv>) -> Self {
pub fn new(func: &'gc ir::Func, env: Rc<Env>) -> Self {
Self { func, env }
}
}