Intern an expression: same pointer-uniqueness guarantee as `intern_univ`.
(&mut self, e: KExpr<M>)
| 110 | /// Intern an expression: same pointer-uniqueness guarantee as |
| 111 | /// `intern_univ`. |
| 112 | pub fn intern_expr(&mut self, e: KExpr<M>) -> KExpr<M> { |
| 113 | let key = *e.addr(); |
| 114 | if let Some(existing) = self.exprs.get(&key) { |
| 115 | return existing.clone(); |
| 116 | } |
| 117 | self.exprs.entry(key).or_insert(e).clone() |
| 118 | } |
| 119 | } |
| 120 | |
| 121 | /// Generated recursor, cached after inductive validation. |