diff options
| -rw-r--r-- | interp/constrintern.ml | 2 | ||||
| -rw-r--r-- | pretyping/cases.ml | 7 |
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 = |
