From 66a0601329046122955ffb02bed8e972c5e02d09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20Tsnobiladz=C3=A9?= Date: Wed, 27 Sep 2023 17:18:53 +0200 Subject: [PATCH 1/7] fix error msg on curried/uncurried sig mismatch --- ..._of_uncurried_in_curried_mode.res.expected | 28 ++++++++++++++++++ ...f_uncurried_in_uncurried_mode.res.expected | 29 +++++++++++++++++++ ...ad_of_curried_in_curried_mode.res.expected | 28 ++++++++++++++++++ ..._of_curried_in_uncurried_mode.res.expected | 28 ++++++++++++++++++ ...e_instead_of_uncurried_in_curried_mode.res | 5 ++++ ...instead_of_uncurried_in_uncurried_mode.res | 8 +++++ ...lue_instead_of_curried_in_curried_mode.res | 5 ++++ ...e_instead_of_curried_in_uncurried_mode.res | 8 +++++ jscomp/syntax/src/res_uncurried.ml | 2 +- 9 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected create mode 100644 jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected create mode 100644 jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected create mode 100644 jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected create mode 100644 jscomp/build_tests/super_errors/fixtures/curried_value_instead_of_uncurried_in_curried_mode.res create mode 100644 jscomp/build_tests/super_errors/fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res create mode 100644 jscomp/build_tests/super_errors/fixtures/uncurried_value_instead_of_curried_in_curried_mode.res create mode 100644 jscomp/build_tests/super_errors/fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res diff --git a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected new file mode 100644 index 0000000000..c09de31556 --- /dev/null +++ b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected @@ -0,0 +1,28 @@ + + We've found a bug for you! + /.../fixtures/curried_value_instead_of_uncurried_in_curried_mode.res:3:5-5:1 + + 1 │ module Foo: { + 2 │ let add: (. int, int) => int + 3 │ } = { + 4 │  let add = (a, b) => a + b + 5 │ } + 6 │ + + Signature mismatch: + Modules do not match: + { + let add: (int, int) => int +} + is not included in + { + let add: (. int, int) => int +} + Values do not match: + let add: (int, int) => int + is not included in + let add: (. int, int) => int + /.../fixtures/curried_value_instead_of_uncurried_in_curried_mode.res:2:3-30: + Expected declaration + /.../fixtures/curried_value_instead_of_uncurried_in_curried_mode.res:4:7-9: + Actual declaration \ No newline at end of file diff --git a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected new file mode 100644 index 0000000000..e60e1859e6 --- /dev/null +++ b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected @@ -0,0 +1,29 @@ + + We've found a bug for you! + /.../fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res:5:5-8:1 + + 3 │ module Foo: { + 4 │ let add: (int, int) => int + 5 │ } = { + 6 │  @@uncurried.swap + 7 │  let add = (. a, b) => a + b + 8 │ } + 9 │ + + Signature mismatch: + Modules do not match: + { + let add: (. int, int) => int +} + is not included in + { + let add: (int, int) => int +} + Values do not match: + let add: (. int, int) => int + is not included in + let add: (int, int) => int + /.../fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res:4:3-28: + Expected declaration + /.../fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res:7:7-9: + Actual declaration \ No newline at end of file diff --git a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected new file mode 100644 index 0000000000..66dd74e912 --- /dev/null +++ b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected @@ -0,0 +1,28 @@ + + We've found a bug for you! + /.../fixtures/uncurried_value_instead_of_curried_in_curried_mode.res:3:5-5:1 + + 1 │ module Foo: { + 2 │ let add: (int, int) => int + 3 │ } = { + 4 │  let add = (. a, b) => a + b + 5 │ } + 6 │ + + Signature mismatch: + Modules do not match: + { + let add: (. int, int) => int +} + is not included in + { + let add: (int, int) => int +} + Values do not match: + let add: (. int, int) => int + is not included in + let add: (int, int) => int + /.../fixtures/uncurried_value_instead_of_curried_in_curried_mode.res:2:3-28: + Expected declaration + /.../fixtures/uncurried_value_instead_of_curried_in_curried_mode.res:4:7-9: + Actual declaration \ No newline at end of file diff --git a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected new file mode 100644 index 0000000000..06837cf94d --- /dev/null +++ b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected @@ -0,0 +1,28 @@ + + We've found a bug for you! + /.../fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res:6:5-8:1 + + 4 │ @@uncurried.swap + 5 │ let add: (. int, int) => int + 6 │ } = { + 7 │  let add = (a, b) => a + b + 8 │ } + 9 │ + + Signature mismatch: + Modules do not match: + { + let add: (int, int) => int +} + is not included in + { + let add: (. int, int) => int +} + Values do not match: + let add: (int, int) => int + is not included in + let add: (. int, int) => int + /.../fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res:5:3-30: + Expected declaration + /.../fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res:7:7-9: + Actual declaration \ No newline at end of file diff --git a/jscomp/build_tests/super_errors/fixtures/curried_value_instead_of_uncurried_in_curried_mode.res b/jscomp/build_tests/super_errors/fixtures/curried_value_instead_of_uncurried_in_curried_mode.res new file mode 100644 index 0000000000..ed0ff1515d --- /dev/null +++ b/jscomp/build_tests/super_errors/fixtures/curried_value_instead_of_uncurried_in_curried_mode.res @@ -0,0 +1,5 @@ +module Foo: { + let add: (. int, int) => int +} = { + let add = (a, b) => a + b +} diff --git a/jscomp/build_tests/super_errors/fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res b/jscomp/build_tests/super_errors/fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res new file mode 100644 index 0000000000..844400218c --- /dev/null +++ b/jscomp/build_tests/super_errors/fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res @@ -0,0 +1,8 @@ +@@uncurried + +module Foo: { + let add: (int, int) => int +} = { + @@uncurried.swap + let add = (. a, b) => a + b +} diff --git a/jscomp/build_tests/super_errors/fixtures/uncurried_value_instead_of_curried_in_curried_mode.res b/jscomp/build_tests/super_errors/fixtures/uncurried_value_instead_of_curried_in_curried_mode.res new file mode 100644 index 0000000000..f1da111c85 --- /dev/null +++ b/jscomp/build_tests/super_errors/fixtures/uncurried_value_instead_of_curried_in_curried_mode.res @@ -0,0 +1,5 @@ +module Foo: { + let add: (int, int) => int +} = { + let add = (. a, b) => a + b +} diff --git a/jscomp/build_tests/super_errors/fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res b/jscomp/build_tests/super_errors/fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res new file mode 100644 index 0000000000..85e59dbaef --- /dev/null +++ b/jscomp/build_tests/super_errors/fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res @@ -0,0 +1,8 @@ +@@uncurried + +module Foo: { + @@uncurried.swap + let add: (. int, int) => int +} = { + let add = (a, b) => a + b +} diff --git a/jscomp/syntax/src/res_uncurried.ml b/jscomp/syntax/src/res_uncurried.ml index 1a777e1599..86f9238bcb 100644 --- a/jscomp/syntax/src/res_uncurried.ml +++ b/jscomp/syntax/src/res_uncurried.ml @@ -8,4 +8,4 @@ let fromDotted ~dotted = function let getDotted ~uncurried = function | Config.Legacy -> uncurried | Swap -> not uncurried - | Uncurried -> false + | Uncurried -> not uncurried From b6efc4c197c0ffd2c251f6cbf5ff8a6914e00127 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20Tsnobiladz=C3=A9?= Date: Fri, 29 Sep 2023 12:44:03 +0200 Subject: [PATCH 2/7] mark function curry kind in value mismatch --- ...stead_of_uncurried_in_curried_mode.res.expected | 4 ++-- ...ead_of_uncurried_in_uncurried_mode.res.expected | 6 +++--- ...instead_of_curried_in_curried_mode.res.expected | 4 ++-- ...stead_of_curried_in_uncurried_mode.res.expected | 6 +++--- jscomp/ml/includemod.ml | 14 ++++++++++++++ jscomp/syntax/src/res_uncurried.ml | 2 +- 6 files changed, 25 insertions(+), 11 deletions(-) diff --git a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected index c09de31556..a5bb4f259a 100644 --- a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected @@ -19,9 +19,9 @@ let add: (. int, int) => int } Values do not match: - let add: (int, int) => int + let add: (int, int) => int (curried) is not included in - let add: (. int, int) => int + let add: (. int, int) => int (uncurried) /.../fixtures/curried_value_instead_of_uncurried_in_curried_mode.res:2:3-30: Expected declaration /.../fixtures/curried_value_instead_of_uncurried_in_curried_mode.res:4:7-9: diff --git a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected index e60e1859e6..4e36379911 100644 --- a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected @@ -13,16 +13,16 @@ Signature mismatch: Modules do not match: { - let add: (. int, int) => int + let add: (int, int) => int } is not included in { let add: (int, int) => int } Values do not match: - let add: (. int, int) => int + let add: (int, int) => int (curried) is not included in - let add: (int, int) => int + let add: (int, int) => int (uncurried) /.../fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res:4:3-28: Expected declaration /.../fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res:7:7-9: diff --git a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected index 66dd74e912..f8657b49f9 100644 --- a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected @@ -19,9 +19,9 @@ let add: (int, int) => int } Values do not match: - let add: (. int, int) => int + let add: (. int, int) => int (uncurried) is not included in - let add: (int, int) => int + let add: (int, int) => int (curried) /.../fixtures/uncurried_value_instead_of_curried_in_curried_mode.res:2:3-28: Expected declaration /.../fixtures/uncurried_value_instead_of_curried_in_curried_mode.res:4:7-9: diff --git a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected index 06837cf94d..e2e340e711 100644 --- a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected @@ -16,12 +16,12 @@ } is not included in { - let add: (. int, int) => int + let add: (int, int) => int } Values do not match: - let add: (int, int) => int + let add: (int, int) => int (uncurried) is not included in - let add: (. int, int) => int + let add: (int, int) => int (curried) /.../fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res:5:3-30: Expected declaration /.../fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res:7:7-9: diff --git a/jscomp/ml/includemod.ml b/jscomp/ml/includemod.ml index 0fcfa8a508..987116ea82 100644 --- a/jscomp/ml/includemod.ml +++ b/jscomp/ml/includemod.ml @@ -537,6 +537,20 @@ let include_err ppf = function | Missing_field (id, loc, kind) -> fprintf ppf "The %s `%a' is required but not provided" kind ident id; show_loc "Expected declaration" ppf loc + | Value_descriptions(id, + ({ val_type = { desc = Tlink { desc = Tconstr (Pident {name = "function$"},_,_) }}} as d1), + ({ val_type = { desc = Tarrow _ }} as d2)) -> + fprintf ppf + "@[Values do not match:@ %a (uncurried)@;<1 -2>is not included in@ %a (curried)@]" + (value_description id) d1 (value_description id) d2; + show_locs ppf (d1.val_loc, d2.val_loc) + | Value_descriptions(id, + ({ val_type = { desc = Tlink { desc = Tarrow _ }}} as d1), + ({ val_type = { desc = Tconstr (Pident {name = "function$"},_,_)}} as d2)) -> + fprintf ppf + "@[Values do not match:@ %a (curried)@;<1 -2>is not included in@ %a (uncurried)@]" + (value_description id) d1 (value_description id) d2; + show_locs ppf (d1.val_loc, d2.val_loc) | Value_descriptions(id, d1, d2) -> fprintf ppf "@[Values do not match:@ %a@;<1 -2>is not included in@ %a@]" diff --git a/jscomp/syntax/src/res_uncurried.ml b/jscomp/syntax/src/res_uncurried.ml index 86f9238bcb..1a777e1599 100644 --- a/jscomp/syntax/src/res_uncurried.ml +++ b/jscomp/syntax/src/res_uncurried.ml @@ -8,4 +8,4 @@ let fromDotted ~dotted = function let getDotted ~uncurried = function | Config.Legacy -> uncurried | Swap -> not uncurried - | Uncurried -> not uncurried + | Uncurried -> false From 018b17d9d9e995cc0676f509cfaa664ef9f5fadc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20Tsnobiladz=C3=A9?= Date: Fri, 29 Sep 2023 13:29:23 +0200 Subject: [PATCH 3/7] use expand_head to check type of functions --- jscomp/ml/includemod.ml | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/jscomp/ml/includemod.ml b/jscomp/ml/includemod.ml index 987116ea82..1f73880917 100644 --- a/jscomp/ml/includemod.ml +++ b/jscomp/ml/includemod.ml @@ -533,28 +533,22 @@ let show_locs ppf (loc1, loc2) = show_loc "Expected declaration" ppf loc2; show_loc "Actual declaration" ppf loc1 -let include_err ppf = function +let include_err ~env ppf = function | Missing_field (id, loc, kind) -> fprintf ppf "The %s `%a' is required but not provided" kind ident id; show_loc "Expected declaration" ppf loc - | Value_descriptions(id, - ({ val_type = { desc = Tlink { desc = Tconstr (Pident {name = "function$"},_,_) }}} as d1), - ({ val_type = { desc = Tarrow _ }} as d2)) -> - fprintf ppf - "@[Values do not match:@ %a (uncurried)@;<1 -2>is not included in@ %a (curried)@]" - (value_description id) d1 (value_description id) d2; - show_locs ppf (d1.val_loc, d2.val_loc) - | Value_descriptions(id, - ({ val_type = { desc = Tlink { desc = Tarrow _ }}} as d1), - ({ val_type = { desc = Tconstr (Pident {name = "function$"},_,_)}} as d2)) -> - fprintf ppf - "@[Values do not match:@ %a (curried)@;<1 -2>is not included in@ %a (uncurried)@]" - (value_description id) d1 (value_description id) d2; - show_locs ppf (d1.val_loc, d2.val_loc) | Value_descriptions(id, d1, d2) -> + let curry_kind_1, curry_kind_2 = + match (Ctype.expand_head env d1.val_type, Ctype.expand_head env d2.val_type ) with + | { desc = Tarrow _ }, + { desc = Tconstr (Pident {name = "function$"},_,_)} -> (" (curried)", " (uncurried)") + | { desc = Tconstr (Pident {name = "function$"},_,_)}, + { desc = Tarrow _ } -> (" (uncurried)", " (curried)") + | _ -> ("", "") + in fprintf ppf - "@[Values do not match:@ %a@;<1 -2>is not included in@ %a@]" - (value_description id) d1 (value_description id) d2; + "@[Values do not match:@ %a%s@;<1 -2>is not included in@ %a%s@]" + (value_description id) d1 curry_kind_1 (value_description id) d2 curry_kind_2; show_locs ppf (d1.val_loc, d2.val_loc); | Type_declarations(id, d1, d2, errs) -> fprintf ppf "@[@[%s:@;<1 2>%a@ %s@;<1 2>%a@]%a%a@]" @@ -647,7 +641,7 @@ let context ppf cxt = let include_err ppf (cxt, env, err) = Printtyp.wrap_printing_env env (fun () -> - fprintf ppf "@[%a%a@]" context (List.rev cxt) include_err err) + fprintf ppf "@[%a%a@]" context (List.rev cxt) (include_err ~env) err) let buffer = ref Bytes.empty let is_big obj = From 1f1b4b8d308f0a8b11e7b6d6a077f027f7741fbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20Tsnobiladz=C3=A9?= Date: Wed, 4 Oct 2023 16:38:21 +0200 Subject: [PATCH 4/7] try passing tests in CI --- ...lue_instead_of_uncurried_in_curried_mode.res.expected | 9 +-------- ...e_instead_of_uncurried_in_uncurried_mode.res.expected | 9 +-------- ...value_instead_of_curried_in_curried_mode.res.expected | 9 +-------- ...lue_instead_of_curried_in_uncurried_mode.res.expected | 9 +-------- 4 files changed, 4 insertions(+), 32 deletions(-) diff --git a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected index a5bb4f259a..32be71fd9d 100644 --- a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected @@ -10,14 +10,7 @@ 6 │ Signature mismatch: - Modules do not match: - { - let add: (int, int) => int -} - is not included in - { - let add: (. int, int) => int -} + ... Values do not match: let add: (int, int) => int (curried) is not included in diff --git a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected index 4e36379911..e9de36c42a 100644 --- a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected @@ -11,14 +11,7 @@ 9 │ Signature mismatch: - Modules do not match: - { - let add: (int, int) => int -} - is not included in - { - let add: (int, int) => int -} + ... Values do not match: let add: (int, int) => int (curried) is not included in diff --git a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected index f8657b49f9..73f28a0fd7 100644 --- a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected @@ -10,14 +10,7 @@ 6 │ Signature mismatch: - Modules do not match: - { - let add: (. int, int) => int -} - is not included in - { - let add: (int, int) => int -} + ... Values do not match: let add: (. int, int) => int (uncurried) is not included in diff --git a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected index e2e340e711..407b3ca991 100644 --- a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected @@ -10,14 +10,7 @@ 9 │ Signature mismatch: - Modules do not match: - { - let add: (int, int) => int -} - is not included in - { - let add: (int, int) => int -} + ... Values do not match: let add: (int, int) => int (uncurried) is not included in From 04fd10805066e77067016d8e6d672bd8a3a1439e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20Tsnobiladz=C3=A9?= Date: Wed, 4 Oct 2023 17:04:26 +0200 Subject: [PATCH 5/7] Revert "try passing tests in CI" This reverts commit 1f1b4b8d308f0a8b11e7b6d6a077f027f7741fbb. --- ...lue_instead_of_uncurried_in_curried_mode.res.expected | 9 ++++++++- ...e_instead_of_uncurried_in_uncurried_mode.res.expected | 9 ++++++++- ...value_instead_of_curried_in_curried_mode.res.expected | 9 ++++++++- ...lue_instead_of_curried_in_uncurried_mode.res.expected | 9 ++++++++- 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected index 32be71fd9d..a5bb4f259a 100644 --- a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected @@ -10,7 +10,14 @@ 6 │ Signature mismatch: - ... + Modules do not match: + { + let add: (int, int) => int +} + is not included in + { + let add: (. int, int) => int +} Values do not match: let add: (int, int) => int (curried) is not included in diff --git a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected index e9de36c42a..4e36379911 100644 --- a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected @@ -11,7 +11,14 @@ 9 │ Signature mismatch: - ... + Modules do not match: + { + let add: (int, int) => int +} + is not included in + { + let add: (int, int) => int +} Values do not match: let add: (int, int) => int (curried) is not included in diff --git a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected index 73f28a0fd7..f8657b49f9 100644 --- a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected @@ -10,7 +10,14 @@ 6 │ Signature mismatch: - ... + Modules do not match: + { + let add: (. int, int) => int +} + is not included in + { + let add: (int, int) => int +} Values do not match: let add: (. int, int) => int (uncurried) is not included in diff --git a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected index 407b3ca991..e2e340e711 100644 --- a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected @@ -10,7 +10,14 @@ 9 │ Signature mismatch: - ... + Modules do not match: + { + let add: (int, int) => int +} + is not included in + { + let add: (int, int) => int +} Values do not match: let add: (int, int) => int (uncurried) is not included in From af302262aa29bb4fbd70340273715273720bf018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20Tsnobiladz=C3=A9?= Date: Tue, 21 Nov 2023 14:56:31 +0100 Subject: [PATCH 6/7] shorten test file names --- ...res.expected => c_value_wanted_u_in_c_mode.res.expected} | 6 +++--- ...res.expected => c_value_wanted_u_in_u_mode.res.expected} | 6 +++--- ...res.expected => u_value_wanted_c_in_c_mode.res.expected} | 6 +++--- ...res.expected => u_value_wanted_c_in_u_mode.res.expected} | 6 +++--- ...d_in_curried_mode.res => c_value_wanted_u_in_c_mode.res} | 0 ...in_uncurried_mode.res => c_value_wanted_u_in_u_mode.res} | 0 ...d_in_curried_mode.res => u_value_wanted_c_in_c_mode.res} | 0 ...in_uncurried_mode.res => u_value_wanted_c_in_u_mode.res} | 0 8 files changed, 12 insertions(+), 12 deletions(-) rename jscomp/build_tests/super_errors/expected/{curried_value_instead_of_uncurried_in_curried_mode.res.expected => c_value_wanted_u_in_c_mode.res.expected} (67%) rename jscomp/build_tests/super_errors/expected/{curried_value_instead_of_uncurried_in_uncurried_mode.res.expected => c_value_wanted_u_in_u_mode.res.expected} (69%) rename jscomp/build_tests/super_errors/expected/{uncurried_value_instead_of_curried_in_curried_mode.res.expected => u_value_wanted_c_in_c_mode.res.expected} (67%) rename jscomp/build_tests/super_errors/expected/{uncurried_value_instead_of_curried_in_uncurried_mode.res.expected => u_value_wanted_c_in_u_mode.res.expected} (67%) rename jscomp/build_tests/super_errors/fixtures/{curried_value_instead_of_uncurried_in_curried_mode.res => c_value_wanted_u_in_c_mode.res} (100%) rename jscomp/build_tests/super_errors/fixtures/{curried_value_instead_of_uncurried_in_uncurried_mode.res => c_value_wanted_u_in_u_mode.res} (100%) rename jscomp/build_tests/super_errors/fixtures/{uncurried_value_instead_of_curried_in_curried_mode.res => u_value_wanted_c_in_c_mode.res} (100%) rename jscomp/build_tests/super_errors/fixtures/{uncurried_value_instead_of_curried_in_uncurried_mode.res => u_value_wanted_c_in_u_mode.res} (100%) diff --git a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected b/jscomp/build_tests/super_errors/expected/c_value_wanted_u_in_c_mode.res.expected similarity index 67% rename from jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected rename to jscomp/build_tests/super_errors/expected/c_value_wanted_u_in_c_mode.res.expected index a5bb4f259a..92e59c600a 100644 --- a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_curried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/c_value_wanted_u_in_c_mode.res.expected @@ -1,6 +1,6 @@ We've found a bug for you! - /.../fixtures/curried_value_instead_of_uncurried_in_curried_mode.res:3:5-5:1 + /.../fixtures/c_value_wanted_u_in_c_mode.res:3:5-5:1 1 │ module Foo: { 2 │ let add: (. int, int) => int @@ -22,7 +22,7 @@ let add: (int, int) => int (curried) is not included in let add: (. int, int) => int (uncurried) - /.../fixtures/curried_value_instead_of_uncurried_in_curried_mode.res:2:3-30: + /.../fixtures/c_value_wanted_u_in_c_mode.res:2:3-30: Expected declaration - /.../fixtures/curried_value_instead_of_uncurried_in_curried_mode.res:4:7-9: + /.../fixtures/c_value_wanted_u_in_c_mode.res:4:7-9: Actual declaration \ No newline at end of file diff --git a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected b/jscomp/build_tests/super_errors/expected/c_value_wanted_u_in_u_mode.res.expected similarity index 69% rename from jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected rename to jscomp/build_tests/super_errors/expected/c_value_wanted_u_in_u_mode.res.expected index 4e36379911..00930f1522 100644 --- a/jscomp/build_tests/super_errors/expected/curried_value_instead_of_uncurried_in_uncurried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/c_value_wanted_u_in_u_mode.res.expected @@ -1,6 +1,6 @@ We've found a bug for you! - /.../fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res:5:5-8:1 + /.../fixtures/c_value_wanted_u_in_u_mode.res:5:5-8:1 3 │ module Foo: { 4 │ let add: (int, int) => int @@ -23,7 +23,7 @@ let add: (int, int) => int (curried) is not included in let add: (int, int) => int (uncurried) - /.../fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res:4:3-28: + /.../fixtures/c_value_wanted_u_in_u_mode.res:4:3-28: Expected declaration - /.../fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res:7:7-9: + /.../fixtures/c_value_wanted_u_in_u_mode.res:7:7-9: Actual declaration \ No newline at end of file diff --git a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected b/jscomp/build_tests/super_errors/expected/u_value_wanted_c_in_c_mode.res.expected similarity index 67% rename from jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected rename to jscomp/build_tests/super_errors/expected/u_value_wanted_c_in_c_mode.res.expected index f8657b49f9..1f316e11a6 100644 --- a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_curried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/u_value_wanted_c_in_c_mode.res.expected @@ -1,6 +1,6 @@ We've found a bug for you! - /.../fixtures/uncurried_value_instead_of_curried_in_curried_mode.res:3:5-5:1 + /.../fixtures/u_value_wanted_c_in_c_mode.res:3:5-5:1 1 │ module Foo: { 2 │ let add: (int, int) => int @@ -22,7 +22,7 @@ let add: (. int, int) => int (uncurried) is not included in let add: (int, int) => int (curried) - /.../fixtures/uncurried_value_instead_of_curried_in_curried_mode.res:2:3-28: + /.../fixtures/u_value_wanted_c_in_c_mode.res:2:3-28: Expected declaration - /.../fixtures/uncurried_value_instead_of_curried_in_curried_mode.res:4:7-9: + /.../fixtures/u_value_wanted_c_in_c_mode.res:4:7-9: Actual declaration \ No newline at end of file diff --git a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected b/jscomp/build_tests/super_errors/expected/u_value_wanted_c_in_u_mode.res.expected similarity index 67% rename from jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected rename to jscomp/build_tests/super_errors/expected/u_value_wanted_c_in_u_mode.res.expected index e2e340e711..a93cc860f4 100644 --- a/jscomp/build_tests/super_errors/expected/uncurried_value_instead_of_curried_in_uncurried_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/u_value_wanted_c_in_u_mode.res.expected @@ -1,6 +1,6 @@ We've found a bug for you! - /.../fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res:6:5-8:1 + /.../fixtures/u_value_wanted_c_in_u_mode.res:6:5-8:1 4 │ @@uncurried.swap 5 │ let add: (. int, int) => int @@ -22,7 +22,7 @@ let add: (int, int) => int (uncurried) is not included in let add: (int, int) => int (curried) - /.../fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res:5:3-30: + /.../fixtures/u_value_wanted_c_in_u_mode.res:5:3-30: Expected declaration - /.../fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res:7:7-9: + /.../fixtures/u_value_wanted_c_in_u_mode.res:7:7-9: Actual declaration \ No newline at end of file diff --git a/jscomp/build_tests/super_errors/fixtures/curried_value_instead_of_uncurried_in_curried_mode.res b/jscomp/build_tests/super_errors/fixtures/c_value_wanted_u_in_c_mode.res similarity index 100% rename from jscomp/build_tests/super_errors/fixtures/curried_value_instead_of_uncurried_in_curried_mode.res rename to jscomp/build_tests/super_errors/fixtures/c_value_wanted_u_in_c_mode.res diff --git a/jscomp/build_tests/super_errors/fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res b/jscomp/build_tests/super_errors/fixtures/c_value_wanted_u_in_u_mode.res similarity index 100% rename from jscomp/build_tests/super_errors/fixtures/curried_value_instead_of_uncurried_in_uncurried_mode.res rename to jscomp/build_tests/super_errors/fixtures/c_value_wanted_u_in_u_mode.res diff --git a/jscomp/build_tests/super_errors/fixtures/uncurried_value_instead_of_curried_in_curried_mode.res b/jscomp/build_tests/super_errors/fixtures/u_value_wanted_c_in_c_mode.res similarity index 100% rename from jscomp/build_tests/super_errors/fixtures/uncurried_value_instead_of_curried_in_curried_mode.res rename to jscomp/build_tests/super_errors/fixtures/u_value_wanted_c_in_c_mode.res diff --git a/jscomp/build_tests/super_errors/fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res b/jscomp/build_tests/super_errors/fixtures/u_value_wanted_c_in_u_mode.res similarity index 100% rename from jscomp/build_tests/super_errors/fixtures/uncurried_value_instead_of_curried_in_uncurried_mode.res rename to jscomp/build_tests/super_errors/fixtures/u_value_wanted_c_in_u_mode.res From 2870c962cb4579126a92ca41fafad78c994a7d3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20Tsnobiladz=C3=A9?= Date: Tue, 21 Nov 2023 15:24:00 +0100 Subject: [PATCH 7/7] shorten test file names even more --- ...n_c_mode.res.expected => c_for_u_in_c_mode.res.expected} | 6 +++--- ...n_u_mode.res.expected => c_for_u_in_u_mode.res.expected} | 6 +++--- ...n_c_mode.res.expected => u_for_c_in_c_mode.res.expected} | 6 +++--- ...n_u_mode.res.expected => u_for_c_in_u_mode.res.expected} | 6 +++--- ...c_value_wanted_u_in_c_mode.res => c_for_u_in_c_mode.res} | 0 ...c_value_wanted_u_in_u_mode.res => c_for_u_in_u_mode.res} | 0 ...u_value_wanted_c_in_c_mode.res => u_for_c_in_c_mode.res} | 0 ...u_value_wanted_c_in_u_mode.res => u_for_c_in_u_mode.res} | 0 8 files changed, 12 insertions(+), 12 deletions(-) rename jscomp/build_tests/super_errors/expected/{c_value_wanted_u_in_c_mode.res.expected => c_for_u_in_c_mode.res.expected} (73%) rename jscomp/build_tests/super_errors/expected/{c_value_wanted_u_in_u_mode.res.expected => c_for_u_in_u_mode.res.expected} (75%) rename jscomp/build_tests/super_errors/expected/{u_value_wanted_c_in_c_mode.res.expected => u_for_c_in_c_mode.res.expected} (73%) rename jscomp/build_tests/super_errors/expected/{u_value_wanted_c_in_u_mode.res.expected => u_for_c_in_u_mode.res.expected} (73%) rename jscomp/build_tests/super_errors/fixtures/{c_value_wanted_u_in_c_mode.res => c_for_u_in_c_mode.res} (100%) rename jscomp/build_tests/super_errors/fixtures/{c_value_wanted_u_in_u_mode.res => c_for_u_in_u_mode.res} (100%) rename jscomp/build_tests/super_errors/fixtures/{u_value_wanted_c_in_c_mode.res => u_for_c_in_c_mode.res} (100%) rename jscomp/build_tests/super_errors/fixtures/{u_value_wanted_c_in_u_mode.res => u_for_c_in_u_mode.res} (100%) diff --git a/jscomp/build_tests/super_errors/expected/c_value_wanted_u_in_c_mode.res.expected b/jscomp/build_tests/super_errors/expected/c_for_u_in_c_mode.res.expected similarity index 73% rename from jscomp/build_tests/super_errors/expected/c_value_wanted_u_in_c_mode.res.expected rename to jscomp/build_tests/super_errors/expected/c_for_u_in_c_mode.res.expected index 92e59c600a..a76943f8ff 100644 --- a/jscomp/build_tests/super_errors/expected/c_value_wanted_u_in_c_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/c_for_u_in_c_mode.res.expected @@ -1,6 +1,6 @@ We've found a bug for you! - /.../fixtures/c_value_wanted_u_in_c_mode.res:3:5-5:1 + /.../fixtures/c_for_u_in_c_mode.res:3:5-5:1 1 │ module Foo: { 2 │ let add: (. int, int) => int @@ -22,7 +22,7 @@ let add: (int, int) => int (curried) is not included in let add: (. int, int) => int (uncurried) - /.../fixtures/c_value_wanted_u_in_c_mode.res:2:3-30: + /.../fixtures/c_for_u_in_c_mode.res:2:3-30: Expected declaration - /.../fixtures/c_value_wanted_u_in_c_mode.res:4:7-9: + /.../fixtures/c_for_u_in_c_mode.res:4:7-9: Actual declaration \ No newline at end of file diff --git a/jscomp/build_tests/super_errors/expected/c_value_wanted_u_in_u_mode.res.expected b/jscomp/build_tests/super_errors/expected/c_for_u_in_u_mode.res.expected similarity index 75% rename from jscomp/build_tests/super_errors/expected/c_value_wanted_u_in_u_mode.res.expected rename to jscomp/build_tests/super_errors/expected/c_for_u_in_u_mode.res.expected index 00930f1522..3b3462a019 100644 --- a/jscomp/build_tests/super_errors/expected/c_value_wanted_u_in_u_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/c_for_u_in_u_mode.res.expected @@ -1,6 +1,6 @@ We've found a bug for you! - /.../fixtures/c_value_wanted_u_in_u_mode.res:5:5-8:1 + /.../fixtures/c_for_u_in_u_mode.res:5:5-8:1 3 │ module Foo: { 4 │ let add: (int, int) => int @@ -23,7 +23,7 @@ let add: (int, int) => int (curried) is not included in let add: (int, int) => int (uncurried) - /.../fixtures/c_value_wanted_u_in_u_mode.res:4:3-28: + /.../fixtures/c_for_u_in_u_mode.res:4:3-28: Expected declaration - /.../fixtures/c_value_wanted_u_in_u_mode.res:7:7-9: + /.../fixtures/c_for_u_in_u_mode.res:7:7-9: Actual declaration \ No newline at end of file diff --git a/jscomp/build_tests/super_errors/expected/u_value_wanted_c_in_c_mode.res.expected b/jscomp/build_tests/super_errors/expected/u_for_c_in_c_mode.res.expected similarity index 73% rename from jscomp/build_tests/super_errors/expected/u_value_wanted_c_in_c_mode.res.expected rename to jscomp/build_tests/super_errors/expected/u_for_c_in_c_mode.res.expected index 1f316e11a6..64ccef591c 100644 --- a/jscomp/build_tests/super_errors/expected/u_value_wanted_c_in_c_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/u_for_c_in_c_mode.res.expected @@ -1,6 +1,6 @@ We've found a bug for you! - /.../fixtures/u_value_wanted_c_in_c_mode.res:3:5-5:1 + /.../fixtures/u_for_c_in_c_mode.res:3:5-5:1 1 │ module Foo: { 2 │ let add: (int, int) => int @@ -22,7 +22,7 @@ let add: (. int, int) => int (uncurried) is not included in let add: (int, int) => int (curried) - /.../fixtures/u_value_wanted_c_in_c_mode.res:2:3-28: + /.../fixtures/u_for_c_in_c_mode.res:2:3-28: Expected declaration - /.../fixtures/u_value_wanted_c_in_c_mode.res:4:7-9: + /.../fixtures/u_for_c_in_c_mode.res:4:7-9: Actual declaration \ No newline at end of file diff --git a/jscomp/build_tests/super_errors/expected/u_value_wanted_c_in_u_mode.res.expected b/jscomp/build_tests/super_errors/expected/u_for_c_in_u_mode.res.expected similarity index 73% rename from jscomp/build_tests/super_errors/expected/u_value_wanted_c_in_u_mode.res.expected rename to jscomp/build_tests/super_errors/expected/u_for_c_in_u_mode.res.expected index a93cc860f4..823724e0e7 100644 --- a/jscomp/build_tests/super_errors/expected/u_value_wanted_c_in_u_mode.res.expected +++ b/jscomp/build_tests/super_errors/expected/u_for_c_in_u_mode.res.expected @@ -1,6 +1,6 @@ We've found a bug for you! - /.../fixtures/u_value_wanted_c_in_u_mode.res:6:5-8:1 + /.../fixtures/u_for_c_in_u_mode.res:6:5-8:1 4 │ @@uncurried.swap 5 │ let add: (. int, int) => int @@ -22,7 +22,7 @@ let add: (int, int) => int (uncurried) is not included in let add: (int, int) => int (curried) - /.../fixtures/u_value_wanted_c_in_u_mode.res:5:3-30: + /.../fixtures/u_for_c_in_u_mode.res:5:3-30: Expected declaration - /.../fixtures/u_value_wanted_c_in_u_mode.res:7:7-9: + /.../fixtures/u_for_c_in_u_mode.res:7:7-9: Actual declaration \ No newline at end of file diff --git a/jscomp/build_tests/super_errors/fixtures/c_value_wanted_u_in_c_mode.res b/jscomp/build_tests/super_errors/fixtures/c_for_u_in_c_mode.res similarity index 100% rename from jscomp/build_tests/super_errors/fixtures/c_value_wanted_u_in_c_mode.res rename to jscomp/build_tests/super_errors/fixtures/c_for_u_in_c_mode.res diff --git a/jscomp/build_tests/super_errors/fixtures/c_value_wanted_u_in_u_mode.res b/jscomp/build_tests/super_errors/fixtures/c_for_u_in_u_mode.res similarity index 100% rename from jscomp/build_tests/super_errors/fixtures/c_value_wanted_u_in_u_mode.res rename to jscomp/build_tests/super_errors/fixtures/c_for_u_in_u_mode.res diff --git a/jscomp/build_tests/super_errors/fixtures/u_value_wanted_c_in_c_mode.res b/jscomp/build_tests/super_errors/fixtures/u_for_c_in_c_mode.res similarity index 100% rename from jscomp/build_tests/super_errors/fixtures/u_value_wanted_c_in_c_mode.res rename to jscomp/build_tests/super_errors/fixtures/u_for_c_in_c_mode.res diff --git a/jscomp/build_tests/super_errors/fixtures/u_value_wanted_c_in_u_mode.res b/jscomp/build_tests/super_errors/fixtures/u_for_c_in_u_mode.res similarity index 100% rename from jscomp/build_tests/super_errors/fixtures/u_value_wanted_c_in_u_mode.res rename to jscomp/build_tests/super_errors/fixtures/u_for_c_in_u_mode.res