aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2014-07-29 12:11:22 +0200
committerGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2014-07-29 14:57:12 +0200
commit9ba2016b81b6ce1d6f024ce674375f7ed54bae85 (patch)
tree88e5c2bfbea63bd2a6c016b63e7fdb3f1fefbdf7 /pretyping
parent625facdbf7c0a6e1386b3e6baa762b61fa0e7e02 (diff)
Fix bug #3453, not recognizing primitive projections in Coercion declarations.
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/classops.ml2
1 files changed, 2 insertions, 0 deletions
diff --git a/pretyping/classops.ml b/pretyping/classops.ml
index 9041a0af4..7793216d5 100644
--- a/pretyping/classops.ml
+++ b/pretyping/classops.ml
@@ -61,6 +61,7 @@ let coe_info_typ_equal c1 c2 =
let cl_typ_ord t1 t2 = match t1, t2 with
| CL_SECVAR v1, CL_SECVAR v2 -> Id.compare v1 v2
| CL_CONST c1, CL_CONST c2 -> con_user_ord c1 c2
+ | CL_PROJ c1, CL_PROJ c2 -> con_user_ord c1 c2
| CL_IND i1, CL_IND i2 -> ind_user_ord i1 i2
| _ -> Pervasives.compare t1 t2 (** OK *)
@@ -472,6 +473,7 @@ let subst_coercion (subst, c) =
let discharge_cl = function
| CL_CONST kn -> CL_CONST (Lib.discharge_con kn)
| CL_IND ind -> CL_IND (Lib.discharge_inductive ind)
+ | CL_PROJ p -> CL_PROJ (Lib.discharge_con p)
| cl -> cl
let discharge_coercion (_, c) =