|
@@ -950,7 +950,12 @@ let match_expr ctx e cases def with_type p =
|
|
|
let need_val, wtype = (match with_type with NoValue -> false, None | Value -> true, None | WithType t -> true, Some t) in
|
|
|
let cases = match cases,def with
|
|
|
| [],None -> []
|
|
|
- | cases,Some def -> cases @ [[(EConst(Ident "_")),p],None,def]
|
|
|
+ | cases,Some def ->
|
|
|
+ let p = match def with
|
|
|
+ | None -> p
|
|
|
+ | Some (_,p) -> p
|
|
|
+ in
|
|
|
+ cases @ [[(EConst(Ident "_")),p],None,def]
|
|
|
| _ -> cases
|
|
|
in
|
|
|
let evals = match fst e with
|