@@ -188,10 +188,10 @@ let simplify = collapse_ungrouped
188
188
let rec make_nested_tuple_pat ~loc ids =
189
189
match ids with
190
190
| [] -> internal_error ~loc
191
- | [ v ] -> [v], AC. pvar ~loc v
191
+ | [ v ] -> AC. pvar ~loc v
192
192
| v :: ids ->
193
- let vars, pat = make_nested_tuple_pat ~loc ids in
194
- (v :: vars), A.Pat. tuple ~loc [AC. pvar ~loc v;pat]
193
+ let pat = make_nested_tuple_pat ~loc ids in
194
+ A.Pat. tuple ~loc [AC. pvar ~loc v;pat]
195
195
let rec make_nested_tuple_expr ~loc exprs =
196
196
match exprs with
197
197
| [] -> internal_error ~loc
@@ -216,8 +216,8 @@ let make_object_expr ~loc expr meths =
216
216
217
217
let make_conv_of_nested_tuple ~loc ~make_pat ~make_expr ~ids tyre_expr =
218
218
let fun_to =
219
- let vars, tuple_pat = make_nested_tuple_pat ~loc ids in
220
- let lids = List. map (AC. evar ~loc ) vars in
219
+ let tuple_pat = make_nested_tuple_pat ~loc ids in
220
+ let lids = List. map (AC. evar ~loc ) ids in
221
221
let expr = make_expr ~loc lids in
222
222
A.Exp. fun_ ~loc Nolabel None tuple_pat expr
223
223
in
@@ -442,7 +442,8 @@ let expr_of_function ~loc l =
442
442
| Named [] | Unnamed 0 -> internal_error ~loc
443
443
| No | Unnamed _ -> A.Pat. any ~loc ()
444
444
| Named [lid] -> pvar_of_lid lid
445
- | Named l -> AC. ptuple ~loc @@ List. map pvar_of_lid l
445
+ | Named l ->
446
+ make_nested_tuple_pat ~loc @@ List. map (fun {Loc. txt ; _} -> txt) l
446
447
in
447
448
let e = AC. func ~loc [arg, pc_rhs] in
448
449
AC. constr ~loc " Tyre.Route" [re; e]
0 commit comments