fix(monoid): call find on sub-nodes

This commit is contained in:
Simon Cruanes 2021-03-22 14:09:31 -04:00
parent 6d7edbb601
commit ff77617a5d

View file

@ -785,6 +785,7 @@ end = struct
else None
let on_new_term self cc n (t:T.t) : unit =
Log.debugf 50 (fun k->k "@[monoid[%s].on-new-term.try@ %a@])" M.name N.pp n);
let maybe_m, l = M.of_term cc n t in
begin match maybe_m with
| Some v ->
@ -800,6 +801,7 @@ end = struct
Log.debugf 20
(fun k->k "(@[monoid[%s].on-new-term.sub@ :n %a@ :sub-t %a@ :value %a@])"
M.name N.pp n N.pp n_u M.pp m_u);
let n_u = CC.find cc n_u in
if N.get_field self.field_has_value n_u then (
let m_u' =
try N_tbl.find self.values n_u