diff options
| author | msozeau | 2010-03-07 22:51:23 +0000 |
|---|---|---|
| committer | msozeau | 2010-03-07 22:51:23 +0000 |
| commit | 042a9e9156c183e705a5d5dddd4f2842fa57b943 (patch) | |
| tree | f00519f096c28d37b65ef567e6fb56444b911db0 /pretyping | |
| parent | a7ff18e50ab655adcc4b7df0547a4dfddd2148a6 (diff) | |
Reorder resolution of type class and unification constraints.
Fix a bug in dependent elimination when treating defined variables in
the context.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12851 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping')
| -rw-r--r-- | pretyping/pretyping.ml | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/pretyping/pretyping.ml b/pretyping/pretyping.ml index bed4d834d2..013270a6a7 100644 --- a/pretyping/pretyping.ml +++ b/pretyping/pretyping.ml @@ -677,7 +677,6 @@ module Pretyping_F (Coercion : Coercion.S) = struct (pretype_type empty_valcon env evdref lvar c).utj_val in if resolve_classes then ( - evdref := consider_remaining_unif_problems env !evdref; evdref := Typeclasses.resolve_typeclasses ~onlyargs:false ~split:true ~fail:fail_evar env !evdref); @@ -694,10 +693,10 @@ module Pretyping_F (Coercion : Coercion.S) = struct let understand_judgment sigma env c = let evdref = ref (create_evar_defs sigma) in let j = pretype empty_tycon env evdref ([],[]) c in - let evd = consider_remaining_unif_problems env !evdref in let evd = Typeclasses.resolve_typeclasses ~onlyargs:true ~split:false - ~fail:true env evd + ~fail:true env !evdref in + let evd = consider_remaining_unif_problems env evd in let j = j_nf_evar evd j in check_evars env sigma evd (mkCast(j.uj_val,DEFAULTcast, j.uj_type)); j |
