fix: must reset assignments before each iteration

Reason: the join points cached values are incorrect since they were
computed using the previous values for `funVals`.
This commit is contained in:
Leonardo de Moura 2019-10-07 14:25:45 -07:00
parent c81ab9759f
commit daf9d219d3

View file

@ -221,6 +221,7 @@ partial def interpFnBody : FnBody → M Unit
def inferStep : M Bool :=
do ctx ← read;
modify $ fun s => { assignments := ctx.decls.map $ fun _ => {}, .. s };
ctx.decls.size.mfold (fun idx modified => do
match ctx.decls.get! idx with
| Decl.fdecl fid ys _ b => do