aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorcoq2003-09-23 10:47:14 +0000
committercoq2003-09-23 10:47:14 +0000
commit171a0af74fde8f05ac440491feb6acb76352b9e2 (patch)
treeae6f812429c51cce469c7be41fb12b2d1a98ad37 /kernel
parent2e4bc1ce29c52ae6e0625bef9a6905a70c0e6e89 (diff)
Correction bug 328
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@4456 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'kernel')
-rw-r--r--kernel/modops.ml17
1 files changed, 11 insertions, 6 deletions
diff --git a/kernel/modops.ml b/kernel/modops.ml
index c194a6c712..7459dcad8d 100644
--- a/kernel/modops.ml
+++ b/kernel/modops.ml
@@ -184,12 +184,17 @@ and add_module mp mb env =
| MTBfunsig _ -> env
-let strengthen_const env mp l cb = match cb.const_body with
- | Some _ -> cb
- | None -> {cb with const_body =
- let const = mkConst (make_kn mp empty_dirpath l) in
- Some (Declarations.from_val const)
- }
+let strengthen_const env mp l cb =
+ match cb.const_opaque, cb.const_body with
+ | false, Some _ -> cb
+ | true, Some _
+ | _, None ->
+ let const = mkConst (make_kn mp empty_dirpath l) in
+ let const_subs = Some (Declarations.from_val const) in
+ {cb with
+ const_body = const_subs;
+ const_opaque = false
+ }
let strengthen_mind env mp l mib = match mib.mind_equiv with
| Some _ -> mib