aboutsummaryrefslogtreecommitdiffhomepage
path: root/proofs
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2014-11-30 02:23:57 +0100
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2014-11-30 02:23:57 +0100
commit4a858a51322f2dd488b02130ca82ebcc4dc9ca35 (patch)
tree09118e3c5a42eaabaa2ccae1f8aa365eb963b47d /proofs
parent2ee213b824dda48c3fe60e95316daf09f07e8075 (diff)
Fixing bug #3682.
The function initializing proofviews were marking all evars as non-resolvables for the proofview, while only goal evars ought to be.
Diffstat (limited to 'proofs')
-rw-r--r--proofs/proofview.ml5
1 files changed, 4 insertions, 1 deletions
diff --git a/proofs/proofview.ml b/proofs/proofview.ml
index a8b77e225..1813c716e 100644
--- a/proofs/proofview.ml
+++ b/proofs/proofview.ml
@@ -68,7 +68,10 @@ let dependent_init =
fun t ->
let entry, v = aux t in
(* Marks all the goal unresolvable for typeclasses. *)
- let solution = Typeclasses.mark_unresolvables v.solution in
+ let fold accu ev = Evar.Set.add ev accu in
+ let gls = List.fold_left fold Evar.Set.empty v.comb in
+ let filter evk _ = Evar.Set.mem evk gls in
+ let solution = Typeclasses.mark_unresolvables ~filter v.solution in
(* The created goal are not to be shelved. *)
let solution = Evd.reset_future_goals solution in
entry, { v with solution }