diff options
| author | Emilio Jesus Gallego Arias | 2018-04-09 01:33:31 +0200 |
|---|---|---|
| committer | Emilio Jesus Gallego Arias | 2018-04-13 12:13:48 +0200 |
| commit | 2243c25c79ab19876ad74452c9cecc7dcc88c67c (patch) | |
| tree | f32573eb7d7c4dbdb4493e186bed87c80e61a747 /tactics | |
| parent | b68e0b4f9ba37d1c2fa5921e1d934b4b38bfdfe7 (diff) | |
[ltac] Deprecate nameless fix/cofix.
LTAC's `fix` and `cofix` do require access to the proof object inside
the tactic monad when used without a name. This is a bit inconvenient
as we aim to make the handling of the proof object purely functional.
Alternatives have been discussed in #7196, and it seems that
deprecating the nameless forms may have the best cost/benefit ratio,
so opening this PR for discussion.
See also #6171.
Diffstat (limited to 'tactics')
| -rw-r--r-- | tactics/tactics.ml | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tactics/tactics.ml b/tactics/tactics.ml index d0ec3358a6..6561a86c2c 100644 --- a/tactics/tactics.ml +++ b/tactics/tactics.ml @@ -557,8 +557,13 @@ let mutual_fix f n rest j = Proofview.Goal.enter begin fun gl -> end end +let warning_nameless_fix = + CWarnings.create ~name:"nameless-fix" ~category:"deprecated" Pp.(fun () -> + str "fix/cofix without a name are deprecated, please use the named version.") + let fix ido n = match ido with | None -> + warning_nameless_fix (); Proofview.Goal.enter begin fun gl -> let name = Proof_global.get_current_proof_name () in let id = new_fresh_id Id.Set.empty name gl in @@ -610,6 +615,7 @@ end let cofix ido = match ido with | None -> + warning_nameless_fix (); Proofview.Goal.enter begin fun gl -> let name = Proof_global.get_current_proof_name () in let id = new_fresh_id Id.Set.empty name gl in |
