aboutsummaryrefslogtreecommitdiff
path: root/plugins/extraction
diff options
context:
space:
mode:
authorEnrico Tassi2014-10-08 10:33:20 +0200
committerEnrico Tassi2014-10-13 18:13:20 +0200
commit9d0011125da2b24ccf006154ab205c6987fb03d2 (patch)
treefb28bab986b15fb05e9d9ddbf0556f0a62f29b54 /plugins/extraction
parente62984e17cad223448feddeccac0d40e1f604c31 (diff)
library/opaqueTables: enable their use in interactive mode
Before this patch opaque tables were only growing, making them unusable in interactive mode (leak on Undo). With this patch the opaque tables are functional and part of the env. I.e. a constant_body can point to the proof term in 2 ways: 1) directly (before the constant is discharged) 2) indirectly, via an int, that is mapped by the opaque table to the proof term. This is now consistent in batch/interactive mode This is step 0 to make an interactive coqtop able to dump a .vo/.vi
Diffstat (limited to 'plugins/extraction')
-rw-r--r--plugins/extraction/extraction.ml4
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/extraction/extraction.ml b/plugins/extraction/extraction.ml
index ea22396731..cae7f0999f 100644
--- a/plugins/extraction/extraction.ml
+++ b/plugins/extraction/extraction.ml
@@ -1013,7 +1013,7 @@ let extract_constant env kn cb =
| OpaqueDef c ->
add_opaque r;
if access_opaque () then
- mk_typ (Opaqueproof.force_proof c)
+ mk_typ (Opaqueproof.force_proof (Environ.opaque_tables env) c)
else mk_typ_ax ())
| (Info,Default) ->
(match cb.const_body with
@@ -1022,7 +1022,7 @@ let extract_constant env kn cb =
| OpaqueDef c ->
add_opaque r;
if access_opaque () then
- mk_def (Opaqueproof.force_proof c)
+ mk_def (Opaqueproof.force_proof (Environ.opaque_tables env) c)
else mk_ax ())
let extract_constant_spec env kn cb =