aboutsummaryrefslogtreecommitdiff
path: root/pretyping/patternops.ml
diff options
context:
space:
mode:
authorHugo Herbelin2015-04-21 16:35:15 +0200
committerHugo Herbelin2015-04-21 16:35:15 +0200
commit9fa7f38b74ec26f880d9ec983a5a1c8699e0a612 (patch)
treec04201494be965f9fffda26b5bf9d0e727ae7488 /pretyping/patternops.ml
parent7d261ef454e918c70b8fff1dd10bbe0fbdcb57a8 (diff)
Fixing #3383 (a "return" clause without an "in" clause is not enough
for being able to interpret a "match" as a constr pattern).
Diffstat (limited to 'pretyping/patternops.ml')
-rw-r--r--pretyping/patternops.ml4
1 files changed, 3 insertions, 1 deletions
diff --git a/pretyping/patternops.ml b/pretyping/patternops.ml
index 705e594af1..a766b1265e 100644
--- a/pretyping/patternops.ml
+++ b/pretyping/patternops.ml
@@ -395,7 +395,9 @@ let rec pat_of_raw metas vars = function
| Some p, Some (_,_,nal) ->
let nvars = na :: List.rev nal @ vars in
rev_it_mkPLambda nal (mkPLambda na (pat_of_raw metas nvars p))
- | _ -> PMeta None
+ | (None | Some (GHole _)), None -> PMeta None
+ | Some p, None ->
+ user_err_loc (loc,"",strbrk "Clause \"in\" expected in patterns over \"match\" expressions with an explicit \"return\" clause.")
in
let info =
{ cip_style = sty;