diff options
| author | Maxime Dénès | 2019-02-13 08:20:28 +0100 |
|---|---|---|
| committer | Maxime Dénès | 2019-02-13 08:20:28 +0100 |
| commit | f53eb3339322d3a9851a42ebab4347e556b7770f (patch) | |
| tree | 6044781b17ad38a2ae5dace3e6a14275ea03ec3c /engine/proofview_monad.ml | |
| parent | ddc17851aa2f73eda9ddc2f8f0f2749f58b51520 (diff) | |
| parent | fd3bde66bc32ba70435aaad3f83d0b58c846af55 (diff) | |
Merge PR #9173: [tactics] Remove dependency of abstract on global proof state.
Ack-by: SkySkimmer
Ack-by: ejgallego
Ack-by: mattam82
Ack-by: maximedenes
Reviewed-by: ppedrot
Diffstat (limited to 'engine/proofview_monad.ml')
| -rw-r--r-- | engine/proofview_monad.ml | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/engine/proofview_monad.ml b/engine/proofview_monad.ml index 69341d97df..80eb9d0124 100644 --- a/engine/proofview_monad.ml +++ b/engine/proofview_monad.ml @@ -177,7 +177,7 @@ module P = struct type s = proofview * Environ.env (** Recording info trace (true) or not. *) - type e = bool + type e = { trace: bool; name : Names.Id.t; poly : bool } (** Status (safe/unsafe) * shelved goals * given up *) type w = bool * goal list @@ -254,13 +254,16 @@ end (** Lens and utilies pertaining to the info trace *) module InfoL = struct - let recording = Logical.current + let recording = Logical.(map (fun {P.trace} -> trace) current) let if_recording t = let open Logical in recording >>= fun r -> if r then t else return () - let record_trace t = Logical.local true t + let record_trace t = + Logical.( + current >>= fun s -> + local {s with P.trace = true} t) let raw_update = Logical.update let update f = if_recording (raw_update f) |
