aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Maxime Dénès <mail@maximedenes.fr>2017-07-07 09:51:33 +0200
committerGravatar Maxime Dénès <mail@maximedenes.fr>2017-07-07 09:51:33 +0200
commitb833c97d8f9f29497af02a11cd045ff05816fc7e (patch)
tree473239b2d9a14eb7d1b70132a725685c9381ceae
parent3375786c89b3b51748795ca76d84935b0b537171 (diff)
parentb4e1a902910cfab698fd5bdd2e9a18a28944c95e (diff)
Merge PR #816: In enter_one, not having exactly one goal is a fatal error of the monad.
-rw-r--r--engine/proofview.ml9
-rw-r--r--engine/proofview.mli2
2 files changed, 2 insertions, 9 deletions
diff --git a/engine/proofview.ml b/engine/proofview.ml
index c542fd976..b4e2160f4 100644
--- a/engine/proofview.ml
+++ b/engine/proofview.ml
@@ -1072,13 +1072,6 @@ module Goal = struct
end
end
- exception NotExactlyOneSubgoal
- let _ = CErrors.register_handler begin function
- | NotExactlyOneSubgoal ->
- CErrors.user_err (Pp.str"Not exactly one subgoal.")
- | _ -> raise CErrors.Unhandled
- end
-
let enter_one f =
let open Proof in
Comb.get >>= function
@@ -1090,7 +1083,7 @@ module Goal = struct
let (e, info) = CErrors.push e in
tclZERO ~info e
end
- | _ -> tclZERO NotExactlyOneSubgoal
+ | _ -> assert false (* unsatisfied not-exactly-one-goal precondition *)
let goals =
Pv.get >>= fun step ->
diff --git a/engine/proofview.mli b/engine/proofview.mli
index e98f59f0f..530204501 100644
--- a/engine/proofview.mli
+++ b/engine/proofview.mli
@@ -498,7 +498,7 @@ module Goal : sig
val enter : ([ `LZ ] t -> unit tactic) -> unit tactic
(** Like {!enter}, but assumes exactly one goal under focus, raising *)
- (** an error otherwise. *)
+ (** a fatal error otherwise. *)
val enter_one : ([ `LZ ] t -> 'a tactic) -> 'a tactic
(** Recover the list of current goals under focus, without evar-normalization.