MCPcopy Create free account
hub / github.com/argumentcomputer/ix / new

Method new

crates/kernel/src/tc.rs:196–224  ·  view source on GitHub ↗
(env: &'a mut KEnv<M>)

Source from the content-addressed store, hash-verified

194 /// Local context for fvar-based binder opening. Some validation paths still
195 /// use the legacy `ctx`/`let_vals` stack, so `depth()` accounts for both
196 /// during the transition.
197 pub lctx: super::lctx::LocalContext<M>,
198}
199
200impl<'a, M: KernelMode> TypeChecker<'a, M> {
201 pub fn new(env: &'a mut KEnv<M>) -> Self {
202 let prims = env.prims().clone();
203 TypeChecker {
204 env,
205 lazy_ixon: None,
206 lazy_anon: None,
207 prims,
208 ctx: Vec::new(),
209 let_vals: Vec::new(),
210 num_let_bindings: 0,
211 ctx_id: empty_ctx_addr(),
212 ctx_id_stack: Vec::new(),
213 equiv_manager: EquivManager::new(),
214 infer_only: false,
215 in_native_reduce: false,
216 cheap_recursion_depth: 0,
217 eager_reduce: false,
218 def_eq_depth: 0,
219 def_eq_trace_depth: 0,
220 def_eq_peak: 0,
221 rec_fuel: max_rec_fuel(),
222 debug_label: None,
223 cur_const: None,
224 delta_targets: FxHashSet::default(),
225 hot_misses: FxHashMap::default(),
226 ctx_addr_cache: FxHashMap::default(),
227 lctx: super::lctx::LocalContext::new(),

Callers

nothing calls this directly

Calls 4

empty_ctx_addrFunction · 0.85
max_rec_fuelFunction · 0.85
primsMethod · 0.80
cloneMethod · 0.45

Tested by

no test coverage detected