aboutsummaryrefslogtreecommitdiffhomepage
path: root/library
diff options
context:
space:
mode:
authorGravatar soubiran <soubiran@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-04-23 15:13:03 +0000
committerGravatar soubiran <soubiran@85f007b7-540e-0410-9357-904b9bb8a0f7>2008-04-23 15:13:03 +0000
commit3cea553e33fd93a561d21180ff47388ed031318e (patch)
tree7fd599e8dd1c24af61a1bb70b3a21a36bb4ec8ad /library
parent2100f292ee109f9a75eb9d79c2234846d7135755 (diff)
correction d'un bug sur la compostion des substitutions induites par les alias de module et l'application d'un foncteur.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10838 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'library')
-rw-r--r--library/declaremods.ml19
1 files changed, 15 insertions, 4 deletions
diff --git a/library/declaremods.ml b/library/declaremods.ml
index 93e322e2c..5f7daa9b5 100644
--- a/library/declaremods.ml
+++ b/library/declaremods.ml
@@ -564,8 +564,13 @@ let rec get_modtype_substobjs env = function
(subst_key (map_msid msid mp) sub_alias)
(map_msid msid mp)
| _ -> sub_alias in
- let sub3 = update_subst_alias sub_alias
- (join_alias sub1 (map_mbid farg_id mp None)) in
+ let sub3=
+ if sub1 = empty_subst then
+ update_subst_alias sub_alias (map_mbid farg_id mp None)
+ else
+ update_subst_alias sub_alias
+ (join_alias sub1 (map_mbid farg_id mp None))
+ in
let sub = if sub_alias = sub3 then
join sub1 sub_alias else join (join sub1 sub_alias) sub3 in
let sub = join_alias sub (map_mbid farg_id mp None) in
@@ -876,8 +881,14 @@ let rec get_module_substobjs env = function
(subst_key (map_msid msid mp) sub_alias)
(map_msid msid mp)
| _ -> sub_alias in
- let sub3 = update_subst_alias sub_alias
- (join_alias sub1 (map_mbid farg_id mp None)) in
+
+ let sub3=
+ if sub1 = empty_subst then
+ update_subst_alias sub_alias (map_mbid farg_id mp None)
+ else
+ update_subst_alias sub_alias
+ (join_alias sub1 (map_mbid farg_id mp None))
+ in
let sub = if sub_alias = sub3 then
join sub1 sub_alias else join (join sub1 sub_alias) sub3 in
let sub = join_alias sub (map_mbid farg_id mp None) in