in z3tracer/src/model.rs [609:628]
fn term_data_mut(&mut self, id: &Ident) -> RawResult<&mut TermData> {
if id.is_builtin() {
// Builtins are added lazily
let timestamp = self.processed_logs;
let entry = self.terms.entry(id.clone()).or_insert_with(|| TermData {
term: Term::Builtin {
name: id.namespace.clone(),
},
instantiations: Vec::new(),
instantiation_timestamps: Vec::new(),
timestamp,
});
return Ok(&mut *entry);
}
let t = self
.terms
.get_mut(id)
.ok_or_else(|| RawError::UndefinedIdent(id.clone()))?;
Ok(t)
}