aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pretyping/reductionops.ml8
1 files changed, 8 insertions, 0 deletions
diff --git a/pretyping/reductionops.ml b/pretyping/reductionops.ml
index cb6e8f086e..2454f24f25 100644
--- a/pretyping/reductionops.ml
+++ b/pretyping/reductionops.ml
@@ -1097,6 +1097,14 @@ let pb_equal = function
| Reduction.CUMUL -> Reduction.CONV
| Reduction.CONV -> Reduction.CONV
+(* NOTE: We absorb anomalies happening in the conversion tactic, which
+ is a bit ugly. This is mostly due to efficiency both in tactics and
+ in the conversion machinery itself. It is not uncommon for a tactic
+ to send some ill-typed term to the engine.
+
+ We would usually say that a tactic that converts ill-typed terms is
+ buggy, but fixing the tactic could have a very large runtime cost
+ *)
exception AnomalyInConversion of exn
let _ = CErrors.register_handler (function