aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--interp/constrintern.ml2
-rw-r--r--pretyping/cases.ml7
2 files changed, 5 insertions, 4 deletions
diff --git a/interp/constrintern.ml b/interp/constrintern.ml
index ef3408414c..6a9b074105 100644
--- a/interp/constrintern.ml
+++ b/interp/constrintern.ml
@@ -1480,7 +1480,7 @@ let internalize sigma globalenv env allow_patvar lvar c =
[dummy_loc,[],thepats, (* "|p1,..,pn" *)
Option.cata (intern_type env') (GHole(dummy_loc,Evd.CasesType)) rtnpo; (* "=> P" is there were a P "=> _" else *)
dummy_loc,[],list_make (List.length thepats) (PatVar(dummy_loc,Anonymous)), (* "|_,..,_" *)
- GHole(dummy_loc,Evd.CasesType) (* "=> _" *)]))
+ GHole(dummy_loc,Evd.ImpossibleCase) (* "=> _" *)]))
in
let eqns' = List.map (intern_eqn (List.length tms) env) eqns in
GCases (loc, sty, rtnpo, tms, List.flatten eqns')
diff --git a/pretyping/cases.ml b/pretyping/cases.ml
index 871f161abd..cc4b3f07f6 100644
--- a/pretyping/cases.ml
+++ b/pretyping/cases.ml
@@ -67,7 +67,7 @@ let error_needs_inversion env x t =
module type S = sig
val compile_cases :
- loc -> case_style ->
+ loc -> case_style ->
(type_constraint -> env -> evar_map ref -> glob_constr -> unsafe_judgment) * evar_map ref ->
type_constraint ->
env -> glob_constr option * tomatch_tuples * cases_clauses ->
@@ -79,8 +79,9 @@ let rec list_try_compile f = function
| [] -> anomaly "try_find_f"
| h::t ->
try f h
- with UserError _ | TypeError _ | PretypeError _
- | Loc.Exc_located (_,(UserError _ | TypeError _ | PretypeError _)) ->
+ with UserError _ | TypeError _ | PretypeError _ | PatternMatchingError _
+ | Loc.Exc_located
+ (_, (UserError _ | TypeError _ | PretypeError _ | PatternMatchingError _)) ->
list_try_compile f t
let force_name =