summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorGravatar Stephane Glondu <steph@glondu.net>2010-07-01 17:21:14 +0200
committerGravatar Stephane Glondu <steph@glondu.net>2010-07-01 17:21:14 +0200
commitda178a880e3ace820b41d38b191d3785b82991f5 (patch)
tree6356ab3164a5ad629f4161dc6c44ead74edc2937 /kernel
parente4282ea99c664d8d58067bee199cbbcf881b60d5 (diff)
Imported Upstream version 8.2pl2+dfsgupstream/8.2.pl2+dfsg
Diffstat (limited to 'kernel')
-rw-r--r--kernel/indtypes.ml4
-rw-r--r--kernel/modops.ml8
2 files changed, 7 insertions, 5 deletions
diff --git a/kernel/indtypes.ml b/kernel/indtypes.ml
index 06764834..941ab046 100644
--- a/kernel/indtypes.ml
+++ b/kernel/indtypes.ml
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-(* $Id: indtypes.ml 11784 2009-01-14 11:36:32Z herbelin $ *)
+(* $Id: indtypes.ml 12616 2009-12-30 15:02:26Z herbelin $ *)
open Util
open Names
@@ -494,7 +494,7 @@ let check_positivity_one (env, _,ntypes,_ as ienv) hyps i nargs lcnames indlc =
raise (IllFormedInd LocalNotConstructor)
else
if not (List.for_all (noccur_between n ntypes) largs)
- then raise (IllFormedInd (LocalNonPos n));
+ then failwith_non_pos_list n ntypes largs;
(nmr,List.rev lrec)
in check_constr_rec ienv nmr [] c
in
diff --git a/kernel/modops.ml b/kernel/modops.ml
index 949a7402..34d9e930 100644
--- a/kernel/modops.ml
+++ b/kernel/modops.ml
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-(*i $Id: modops.ml 11923 2009-02-13 12:20:27Z soubiran $ i*)
+(*i $Id: modops.ml 12234 2009-07-09 09:14:09Z soubiran $ i*)
(*i*)
open Util
@@ -143,11 +143,13 @@ let rec subst_with_body sub = function
and subst_modtype sub mtb =
let typ_expr' = subst_struct_expr sub mtb.typ_expr in
- if typ_expr'==mtb.typ_expr then
+ let sub_mtb = join_alias mtb.typ_alias sub in
+ if typ_expr'==mtb.typ_expr && sub_mtb==mtb.typ_alias then
mtb
else
{ mtb with
- typ_expr = typ_expr'}
+ typ_expr = typ_expr';
+ typ_alias = sub_mtb}
and subst_structure sub sign =
let subst_body = function