aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Sozeau2014-07-02 17:19:13 +0200
committerMatthieu Sozeau2014-07-02 17:19:13 +0200
commit2ce9f694faf3ea69b0eeb0a5b4214852bcbffc58 (patch)
tree5f3a5ebf0b87ab577e85ebd18e835cbb376e3ee5
parentc5194d098dce2ab829b63afde4199b750ea85e31 (diff)
Fix a Not_found anomaly raised by solve_evar_evar, we were breaking the
invariant that the evar arguments to that function always have to be undefined.
-rw-r--r--pretyping/evarsolve.ml5
1 files changed, 2 insertions, 3 deletions
diff --git a/pretyping/evarsolve.ml b/pretyping/evarsolve.ml
index 13421bcde4..d15c5d00bd 100644
--- a/pretyping/evarsolve.ml
+++ b/pretyping/evarsolve.ml
@@ -1159,9 +1159,8 @@ let solve_evar_evar ?(force=false) f g env evd pbty (evk1,args1 as ev1) (evk2,ar
?candidates:evi.evar_candidates (it_mkProd_or_LetIn (mkSort k) ctx)
in
let evd = Evd.set_leq_sort (Evd.set_leq_sort evd k i) k j in
- solve_evar_evar ~force f g env
- (solve_evar_evar ~force f g env evd None (ev3,args1) ev1)
- pbty (ev3,args1) ev2
+ let evd = solve_evar_evar ~force f g env evd (Some false) (ev3,args1) ev1 in
+ f env evd pbty ev2 (whd_evar evd (mkEvar (ev3,args1)))
with Reduction.NotArity ->
solve_evar_evar ~force f g env evd None ev1 ev2