aboutsummaryrefslogtreecommitdiffhomepage
path: root/proofs/proof_global.ml
diff options
context:
space:
mode:
Diffstat (limited to 'proofs/proof_global.ml')
-rw-r--r--proofs/proof_global.ml9
1 files changed, 8 insertions, 1 deletions
diff --git a/proofs/proof_global.ml b/proofs/proof_global.ml
index 0c0aac715..470d19b71 100644
--- a/proofs/proof_global.ml
+++ b/proofs/proof_global.ml
@@ -391,6 +391,13 @@ module V82 = struct
end
type state = pstate list
-let freeze () = !pstates
+let drop_hook_mode p = { p with hook = None; mode = None }
+
+let freeze ~marshallable =
+ match marshallable with
+ | `Yes ->
+ Errors.anomaly (Pp.str"full marshalling of proof state not supported")
+ | `Shallow -> List.map drop_hook_mode !pstates
+ | `No -> !pstates
let unfreeze s = pstates := s; update_proof_mode ()