Skip to content

Commit f63152c

Browse files
committed
mark function curry kind in value mismatch
1 parent 66a0601 commit f63152c

6 files changed

+25
-11
lines changed

jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
let add: (. int, int) => int
2020
}
2121
Values do not match:
22-
let add: (int, int) => int
22+
let add: (int, int) => int (curried)
2323
is not included in
24-
let add: (. int, int) => int
24+
let add: (. int, int) => int (uncurried)
2525
/.../fixtures/curried_value_instead_of_uncurried_in_curried_mode.res:2:3-30:
2626
Expected declaration
2727
/.../fixtures/curried_value_instead_of_uncurried_in_curried_mode.res:4:7-9:

jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@
1313
Signature mismatch:
1414
Modules do not match:
1515
{
16-
let add: (. int, int) => int
16+
let add: (int, int) => int
1717
}
1818
is not included in
1919
{
2020
let add: (int, int) => int
2121
}
2222
Values do not match:
23-
let add: (. int, int) => int
23+
let add: (int, int) => int (curried)
2424
is not included in
25-
let add: (int, int) => int
25+
let add: (int, int) => int (uncurried)
2626
/.../fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res:4:3-28:
2727
Expected declaration
2828
/.../fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res:7:7-9:

jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
let add: (int, int) => int
2020
}
2121
Values do not match:
22-
let add: (. int, int) => int
22+
let add: (. int, int) => int (uncurried)
2323
is not included in
24-
let add: (int, int) => int
24+
let add: (int, int) => int (curried)
2525
/.../fixtures/uncurried_value_instead_of_curried_in_curried_mode.res:2:3-28:
2626
Expected declaration
2727
/.../fixtures/uncurried_value_instead_of_curried_in_curried_mode.res:4:7-9:

jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
}
1717
is not included in
1818
{
19-
let add: (. int, int) => int
19+
let add: (int, int) => int
2020
}
2121
Values do not match:
22-
let add: (int, int) => int
22+
let add: (int, int) => int (uncurried)
2323
is not included in
24-
let add: (. int, int) => int
24+
let add: (int, int) => int (curried)
2525
/.../fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res:5:3-30:
2626
Expected declaration
2727
/.../fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res:7:7-9:

jscomp/ml/includemod.ml

+14
Original file line numberDiff line numberDiff line change
@@ -537,6 +537,20 @@ let include_err ppf = function
537537
| Missing_field (id, loc, kind) ->
538538
fprintf ppf "The %s `%a' is required but not provided" kind ident id;
539539
show_loc "Expected declaration" ppf loc
540+
| Value_descriptions(id,
541+
({ val_type = { desc = Tlink { desc = Tconstr (Pident {name = "function$"},_,_) }}} as d1),
542+
({ val_type = { desc = Tarrow _ }} as d2)) ->
543+
fprintf ppf
544+
"@[<hv 2>Values do not match:@ %a (uncurried)@;<1 -2>is not included in@ %a (curried)@]"
545+
(value_description id) d1 (value_description id) d2;
546+
show_locs ppf (d1.val_loc, d2.val_loc)
547+
| Value_descriptions(id,
548+
({ val_type = { desc = Tlink { desc = Tarrow _ }}} as d1),
549+
({ val_type = { desc = Tconstr (Pident {name = "function$"},_,_)}} as d2)) ->
550+
fprintf ppf
551+
"@[<hv 2>Values do not match:@ %a (curried)@;<1 -2>is not included in@ %a (uncurried)@]"
552+
(value_description id) d1 (value_description id) d2;
553+
show_locs ppf (d1.val_loc, d2.val_loc)
540554
| Value_descriptions(id, d1, d2) ->
541555
fprintf ppf
542556
"@[<hv 2>Values do not match:@ %a@;<1 -2>is not included in@ %a@]"

jscomp/syntax/src/res_uncurried.ml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ let fromDotted ~dotted = function
88
let getDotted ~uncurried = function
99
| Config.Legacy -> uncurried
1010
| Swap -> not uncurried
11-
| Uncurried -> not uncurried
11+
| Uncurried -> false

0 commit comments

Comments
 (0)