summaryrefslogtreecommitdiff
path: root/parsing/depend.ml
diff options
context:
space:
mode:
authorJacques Garrigue <garrigue@math.nagoya-u.ac.jp>2021-02-04 15:01:28 +0900
committerGitHub <noreply@github.com>2021-02-04 15:01:28 +0900
commit89aae98b22634d896b9d59f717decf2d3e7d4af3 (patch)
treee7ed3b4abe92e02ef338c0fa2c181cbeffb28a09 /parsing/depend.ml
parentc97d56faa62575f0aff0a3a04ee28032f2b6f458 (diff)
downloadocaml-89aae98b22634d896b9d59f717decf2d3e7d4af3.tar.gz
Allow to name existentials in pattern-matching (#9584)
Diffstat (limited to 'parsing/depend.ml')
-rw-r--r--parsing/depend.ml6
1 files changed, 5 insertions, 1 deletions
diff --git a/parsing/depend.ml b/parsing/depend.ml
index f513144b02..d72bf63b35 100644
--- a/parsing/depend.ml
+++ b/parsing/depend.ml
@@ -173,7 +173,11 @@ let rec add_pattern bv pat =
| Ppat_interval _
| Ppat_constant _ -> ()
| Ppat_tuple pl -> List.iter (add_pattern bv) pl
- | Ppat_construct(c, op) -> add bv c; add_opt add_pattern bv op
+ | Ppat_construct(c, opt) ->
+ add bv c;
+ add_opt
+ (fun bv (_,p) -> add_pattern bv p)
+ bv opt
| Ppat_record(pl, _) ->
List.iter (fun (lbl, p) -> add bv lbl; add_pattern bv p) pl
| Ppat_array pl -> List.iter (add_pattern bv) pl