summaryrefslogtreecommitdiff
path: root/pretyping/unification.ml
diff options
context:
space:
mode:
authorGravatar Stephane Glondu <steph@glondu.net>2009-07-04 13:28:38 +0200
committerGravatar Stephane Glondu <steph@glondu.net>2009-07-04 13:28:38 +0200
commit3a420f4ad929e8372d32c735fd0fd89dfc0346a1 (patch)
tree943a01d103c1296dc7c07cb188af994354c4d9a3 /pretyping/unification.ml
parent1769cbaddea77112dd6f336316d8eb9a0945a1e6 (diff)
parente4282ea99c664d8d58067bee199cbbcf881b60d5 (diff)
Merge commit 'upstream/8.2.pl1+dfsg'
Diffstat (limited to 'pretyping/unification.ml')
-rw-r--r--pretyping/unification.ml6
1 files changed, 3 insertions, 3 deletions
diff --git a/pretyping/unification.ml b/pretyping/unification.ml
index fb29196c..bfd601e2 100644
--- a/pretyping/unification.ml
+++ b/pretyping/unification.ml
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-(* $Id: unification.ml 11897 2009-02-09 19:28:02Z barras $ *)
+(* $Id: unification.ml 12163 2009-06-06 17:36:47Z herbelin $ *)
open Pp
open Util
@@ -492,7 +492,7 @@ let w_coerce env evd mv c =
let unify_to_type env evd flags c u =
let sigma = evars_of evd in
let c = refresh_universes c in
- let t = get_type_of_with_meta env sigma (metas_of evd) c in
+ let t = get_type_of_with_meta env sigma (List.map (on_snd (nf_meta evd)) (metas_of evd)) (nf_meta evd c) in
let t = Tacred.hnf_constr env sigma (nf_betaiota sigma (nf_meta evd t)) in
let u = Tacred.hnf_constr env sigma u in
try unify_0 env sigma Cumul flags t u
@@ -500,7 +500,7 @@ let unify_to_type env evd flags c u =
let unify_type env evd flags mv c =
let mvty = Typing.meta_type evd mv in
- if occur_meta_or_existential mvty then
+ if occur_meta_or_existential mvty or is_arity env (evars_of evd) mvty then
unify_to_type env evd flags c mvty
else ([],[])