diff options
| author | Hugo Herbelin | 2015-04-21 16:35:15 +0200 |
|---|---|---|
| committer | Hugo Herbelin | 2015-04-21 16:35:15 +0200 |
| commit | 9fa7f38b74ec26f880d9ec983a5a1c8699e0a612 (patch) | |
| tree | c04201494be965f9fffda26b5bf9d0e727ae7488 /pretyping/patternops.ml | |
| parent | 7d261ef454e918c70b8fff1dd10bbe0fbdcb57a8 (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.ml | 4 |
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; |
