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

Method hash_eq

crates/kernel/src/expr.rs:162–164  ·  view source on GitHub ↗

Content-addressed equality with a layered fast path. 1. `ptr_eq` on the outer `KExpr` Arc — fires when both sides came through the [`InternTable`](super::env::InternTable). 2. 32-byte Blake3 hash compare — sound on its own (collisions require an adversarial preimage attack), and a single AVX2 cycle on modern x86. Earlier revisions interposed an `Arc::ptr_eq` fast path on a process-globally-intern

(&self, other: &KExpr<M>)

Source from the content-addressed store, hash-verified

160 All(M::MField<Name>, M::MField<BinderInfo>, KExpr<M>, KExpr<M>, ExprInfo<M>),
161 /// Let binding: name, type, value, body, non_dep flag.
162 Let(M::MField<Name>, KExpr<M>, KExpr<M>, KExpr<M>, bool, ExprInfo<M>),
163 /// Projection: struct type id, field index, struct value.
164 Prj(KId<M>, u64, KExpr<M>, ExprInfo<M>),
165 Nat(Nat, Address, ExprInfo<M>),
166 Str(String, Address, ExprInfo<M>),
167}

Callers 3

compare_kexprFunction · 0.45
eqMethod · 0.45

Calls 2

ptr_eqMethod · 0.45
addrMethod · 0.45

Tested by

no test coverage detected