aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsoubiran2008-11-12 11:12:23 +0000
committersoubiran2008-11-12 11:12:23 +0000
commit1705c26e355620be3f249b4953c03b513846f3c2 (patch)
tree23af9443ced6b90a67e7d1cc75c0978d589740fa
parent6ad45a92145d9b814c3a2e11f1e60748ed01d15b (diff)
Les signatures des applications de foncteur sont précalculées, cela alourdit un peu les vo mais accélère
la compilation lorsque les foncteurs sont massivement utilisés. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11579 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--kernel/mod_typing.ml8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/mod_typing.ml b/kernel/mod_typing.ml
index f4f52d83dd..cd93f4851b 100644
--- a/kernel/mod_typing.ml
+++ b/kernel/mod_typing.ml
@@ -258,11 +258,13 @@ and translate_module env me =
| Some mexpr, _ ->
let meb,sub1 = translate_struct_entry env mexpr in
let mod_typ,sub,cst =
- match me.mod_entry_type with
- | None ->
+ match me.mod_entry_type,meb with
+ | None,SEBapply _ ->
+ Some (eval_struct env meb),sub1,Constraint.empty
+ | None,_ ->
(type_of_struct env (bounded_str_expr meb) meb)
,sub1,Constraint.empty
- | Some mte ->
+ | Some mte,_ ->
let mtb2,sub2 = translate_struct_entry env mte in
let cst = check_subtypes env
{typ_expr = meb;