From 16b6d901826de04bcff57aaf6d30d8bef2fe8168 Mon Sep 17 00:00:00 2001 From: Cristiano Calcagno Date: Mon, 8 Jul 2024 12:42:53 +0200 Subject: [PATCH 1/2] Make tests uncurried-ready. Tweak tests so they build in uncurried mode. --- jscomp/test/UntaggedVariants.js | 12 +-- jscomp/test/UntaggedVariants.res | 4 +- jscomp/test/a_filename_test.js | 4 +- jscomp/test/a_filename_test.res | 2 +- jscomp/test/ari_regress_test.res | 8 +- jscomp/test/arity_deopt.res | 8 +- jscomp/test/async_inline.js | 2 +- jscomp/test/async_inline.res | 2 +- jscomp/test/bigint_test.js | 78 ++++++++------- jscomp/test/bigint_test.res | 4 +- jscomp/test/bs_abstract_test.res | 6 +- jscomp/test/bs_abstract_test.resi | 2 +- jscomp/test/bs_array_test.js | 56 +++++------ jscomp/test/bs_array_test.res | 6 +- jscomp/test/bs_auto_uncurry.js | 38 ++++---- jscomp/test/bs_auto_uncurry.res | 8 +- jscomp/test/bs_list_test.res | 30 +++--- jscomp/test/bs_map_set_dict_test.res | 4 +- jscomp/test/bs_min_max_test.res | 2 +- jscomp/test/bs_mutable_set_test.res | 2 +- jscomp/test/bs_poly_mutable_set_test.res | 2 +- jscomp/test/bs_sort_test.js | 22 ++--- jscomp/test/bs_sort_test.res | 8 +- jscomp/test/caml_format_test.res | 4 +- jscomp/test/demo_page.res | 2 +- jscomp/test/digest_test.res | 2 +- jscomp/test/earger_curry_test.js | 10 +- jscomp/test/earger_curry_test.res | 10 +- jscomp/test/ext_bytes_test.res | Bin 5099 -> 5088 bytes jscomp/test/ext_filename_test.js | 15 +-- jscomp/test/ext_filename_test.res | 2 +- jscomp/test/ffi_arity_test.res | 2 +- jscomp/test/float_test.js | 116 +++++++++++------------ jscomp/test/float_test.res | 6 +- jscomp/test/for_loop_test.res | 8 +- jscomp/test/format_regression.js | 7 +- jscomp/test/format_regression.res | 2 +- jscomp/test/gpr_1409_test.js | 20 ++-- jscomp/test/gpr_1409_test.res | 2 +- jscomp/test/gpr_1423_app_test.res | 4 +- jscomp/test/gpr_1692_test.res | 2 +- jscomp/test/gpr_3931_test.res | 2 +- jscomp/test/gpr_4265_test.res | 6 +- jscomp/test/hash_test.js | 14 ++- jscomp/test/hash_test.res | 2 +- jscomp/test/hashtbl_test.res | 4 +- jscomp/test/inline_regression_test.res | 2 +- jscomp/test/int64_mul_div_test.res | 2 +- jscomp/test/int_hashtbl_test.res | 4 +- jscomp/test/map_find_test.res | 2 +- jscomp/test/mario_game.res | 2 +- jscomp/test/more_poly_variant_test.res | 2 +- jscomp/test/ocaml_re_test.res | 22 ++--- jscomp/test/option_repr_test.res | 6 +- jscomp/test/optional_regression_test.js | 26 +++-- jscomp/test/optional_regression_test.res | 2 +- jscomp/test/pipe_syntax.js | 2 +- jscomp/test/pipe_syntax.res | 4 +- jscomp/test/pr_regression_test.res | 6 +- jscomp/test/print_alpha_test.res | 2 +- jscomp/test/random_test.res | 10 +- jscomp/test/reasonReact.res | 2 +- jscomp/test/sexp.res | 14 +-- jscomp/test/sexpm.res | 18 ++-- jscomp/test/string_test.res | 2 +- jscomp/test/test_ari.js | 10 +- jscomp/test/test_ari.res | 6 +- jscomp/test/test_demo.res | 4 +- jscomp/test/test_external.res | 2 +- jscomp/test/test_for_loop.res | 8 +- jscomp/test/test_google_closure.res | 2 +- jscomp/test/test_list.js | 4 +- jscomp/test/test_list.res | 2 +- jscomp/test/test_string_map.res | 4 +- jscomp/test/uncurried_cast.js | 45 +++------ jscomp/test/uncurried_cast.res | 6 +- jscomp/test/uncurried_default.args.js | 10 +- jscomp/test/uncurried_default.args.res | 2 +- 78 files changed, 361 insertions(+), 426 deletions(-) diff --git a/jscomp/test/UntaggedVariants.js b/jscomp/test/UntaggedVariants.js index 3f3380e7f7..fc4bad2165 100644 --- a/jscomp/test/UntaggedVariants.js +++ b/jscomp/test/UntaggedVariants.js @@ -500,9 +500,9 @@ async function classify$10(a) { return; } else { if (Array.isArray(a)) { - console.log(function (param) { - return Belt_Array.joinWith(a, "-", param); - }); + console.log(Belt_Array.joinWith(a, "-", (function (x) { + return x; + }))); return; } if (a instanceof Promise) { @@ -527,9 +527,9 @@ let Arr = { async function classifyAll(t) { if (Array.isArray(t)) { - console.log(function (param) { - return Belt_Array.joinWith(t, "-", param); - }); + console.log(Belt_Array.joinWith(t, "-", (function (x) { + return x; + }))); return; } if (t instanceof Promise) { diff --git a/jscomp/test/UntaggedVariants.res b/jscomp/test/UntaggedVariants.res index d49722195f..855952a20f 100644 --- a/jscomp/test/UntaggedVariants.res +++ b/jscomp/test/UntaggedVariants.res @@ -375,7 +375,7 @@ module Arr = { let classify = async (a: arr) => switch a { - | Array(arr) => Js.log(arr->Belt.Array.joinWith("-")) + | Array(arr) => Js.log(arr->Belt.Array.joinWith("-", x => x)) | String(s) => Js.log(s) | Promise(p) => Js.log(await p) | Object({userName}) => Js.log(userName) @@ -408,7 +408,7 @@ module AllInstanceofTypes = { | Object({userName}) => Js.log(userName) | Date(date) => Js.log(date->Js.Date.toString) | RegExp(re) => Js.log(re->Js.Re.test_("test")) - | Array(arr) => Js.log(arr->Belt.Array.joinWith("-")) + | Array(arr) => Js.log(arr->Belt.Array.joinWith("-", x => x)) | File(file) => Js.log(file->fileName) | Blob(blob) => Js.log(blob->blobSize) } diff --git a/jscomp/test/a_filename_test.js b/jscomp/test/a_filename_test.js index 214cec8a36..94575f08ba 100644 --- a/jscomp/test/a_filename_test.js +++ b/jscomp/test/a_filename_test.js @@ -30,8 +30,8 @@ function eq(loc, x, y) { }; } -function test(param, param$1) { - return Ext_filename_test.node_relative_path(true, param, param$1); +function test(x, y) { + return Ext_filename_test.node_relative_path(true, x, y); } if (process.platform !== "win32") { diff --git a/jscomp/test/a_filename_test.res b/jscomp/test/a_filename_test.res index 33df783432..5d78f0588d 100644 --- a/jscomp/test/a_filename_test.res +++ b/jscomp/test/a_filename_test.res @@ -9,7 +9,7 @@ let eq = (loc, x, y) => { list{(loc ++ (" id " ++ string_of_int(test_id.contents)), _ => Mt.Eq(x, y)), ...suites.contents} } -let test = Ext_filename_test.node_relative_path(true) +let test = (x,y) => Ext_filename_test.node_relative_path(true, x, y) let () = /* TODO: adapt these tests to run on Windows. */ if platform !== #win32 { eq( diff --git a/jscomp/test/ari_regress_test.res b/jscomp/test/ari_regress_test.res index 6aa7ec12ee..053dcd0f8d 100644 --- a/jscomp/test/ari_regress_test.res +++ b/jscomp/test/ari_regress_test.res @@ -1,5 +1,5 @@ -let f = x => \"+"(x) -let g = f(3, 4) +let f = x => \"+"(x, ...) +let g = f(3)(4) let h = ref(0) @@ -13,9 +13,9 @@ let g1 = (x, y) => { let () = incr(h) (xx, yy) => xx + yy + u } -let x = gg(3, 5, 6) +let x = gg(3, 5)(6) -let v = g1(3, 4, 6) +let v = g1(3, 4)(6, ...) let suites = { open Mt diff --git a/jscomp/test/arity_deopt.res b/jscomp/test/arity_deopt.res index 6eb9cb6335..c7e214365a 100644 --- a/jscomp/test/arity_deopt.res +++ b/jscomp/test/arity_deopt.res @@ -44,9 +44,9 @@ let f3 = x => { So the best is never shrink functons which could change arity */ let () = { - \"@@"(eq(__LOC__, 6), f0(. 1, 2, 3)) - \"@@"(eq(__LOC__, 6), f1(1)(. 2, 3)) - \"@@"(eq(__LOC__, 6), f2(. 1, 2)(3)) - \"@@"(eq(__LOC__, 6), f3(1)(. 2, 3)) + \"@@"(eq(__LOC__, 6, ...), f0(. 1, 2, 3)) + \"@@"(eq(__LOC__, 6, ...), f1(1)(. 2, 3)) + \"@@"(eq(__LOC__, 6, ...), f2(. 1, 2)(3)) + \"@@"(eq(__LOC__, 6, ...), f3(1)(. 2, 3)) } let () = Mt.from_pair_suites(__MODULE__, suites.contents) diff --git a/jscomp/test/async_inline.js b/jscomp/test/async_inline.js index de28f21fc0..4335b2c367 100644 --- a/jscomp/test/async_inline.js +++ b/jscomp/test/async_inline.js @@ -75,7 +75,7 @@ async function nested2(param) { } function onSubmit(param) { - return React.useCallback(async function (_a, b) { + return React.useCallback(async function (b) { return await b; }); } diff --git a/jscomp/test/async_inline.res b/jscomp/test/async_inline.res index 5e3d48d2a4..414aab7705 100644 --- a/jscomp/test/async_inline.res +++ b/jscomp/test/async_inline.res @@ -57,6 +57,6 @@ type callback<'input, 'output> = 'input => 'output external useCallback: (@uncurry ('input => 'output)) => callback<'input, 'output> = "useCallback" let onSubmit = () => - useCallback(async (_a, b) => { + useCallback(async b => { await b }) diff --git a/jscomp/test/bigint_test.js b/jscomp/test/bigint_test.js index 0875f84e71..f48666d8cb 100644 --- a/jscomp/test/bigint_test.js +++ b/jscomp/test/bigint_test.js @@ -14,16 +14,12 @@ let suites = { contents: /* [] */0 }; -function eq(loc) { - return function (param, param$1) { - return Mt_global.collect_eq(test_id, suites, loc, param, param$1); - }; +function eq(loc, x, y) { + Mt_global.collect_eq(test_id, suites, loc, x, y); } -function approx(loc) { - return function (param, param$1) { - return Mt_global.collect_approx(test_id, suites, loc, param, param$1); - }; +function approx(loc, x, y) { + Mt_global.collect_approx(test_id, suites, loc, x, y); } let bigint_compare = Caml.bigint_compare; @@ -86,89 +82,89 @@ function bigint_asr(prim0, prim1) { return (prim0 >> prim1); } -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 26, characters 5-12", Caml.bigint_compare(1n, 1n), 0); +eq("File \"bigint_test.res\", line 26, characters 5-12", Caml.bigint_compare(1n, 1n), 0); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 27, characters 5-12", Caml_obj.compare(1n, 1n), 0); +eq("File \"bigint_test.res\", line 27, characters 5-12", Caml_obj.compare(1n, 1n), 0); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 28, characters 5-12", Caml.bigint_compare(-0n, -1n), 1); +eq("File \"bigint_test.res\", line 28, characters 5-12", Caml.bigint_compare(-0n, -1n), 1); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 29, characters 5-12", Caml_obj.compare(-0n, -1n), 1); +eq("File \"bigint_test.res\", line 29, characters 5-12", Caml_obj.compare(-0n, -1n), 1); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 30, characters 5-12", Caml.bigint_compare(0n, -1n), 1); +eq("File \"bigint_test.res\", line 30, characters 5-12", Caml.bigint_compare(0n, -1n), 1); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 31, characters 5-12", Caml_obj.compare(0n, -1n), 1); +eq("File \"bigint_test.res\", line 31, characters 5-12", Caml_obj.compare(0n, -1n), 1); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 32, characters 5-12", Caml.bigint_compare(1n, 2n), -1); +eq("File \"bigint_test.res\", line 32, characters 5-12", Caml.bigint_compare(1n, 2n), -1); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 33, characters 5-12", Caml_obj.compare(1n, 2n), -1); +eq("File \"bigint_test.res\", line 33, characters 5-12", Caml_obj.compare(1n, 2n), -1); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 34, characters 5-12", Caml.bigint_compare(1n, 2n), -1); +eq("File \"bigint_test.res\", line 34, characters 5-12", Caml.bigint_compare(1n, 2n), -1); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 35, characters 5-12", Caml_obj.compare(1n, 2n), -1); +eq("File \"bigint_test.res\", line 35, characters 5-12", Caml_obj.compare(1n, 2n), -1); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 36, characters 5-12", Caml.bigint_compare(1n, 1n), 0); +eq("File \"bigint_test.res\", line 36, characters 5-12", Caml.bigint_compare(1n, 1n), 0); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 37, characters 5-12", Caml_obj.compare(1n, 1n), 0); +eq("File \"bigint_test.res\", line 37, characters 5-12", Caml_obj.compare(1n, 1n), 0); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 38, characters 5-12", 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n === 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n, true); +eq("File \"bigint_test.res\", line 38, characters 5-12", 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n === 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n, true); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 39, characters 5-12", Caml_obj.equal(1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n, 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n), true); +eq("File \"bigint_test.res\", line 39, characters 5-12", Caml_obj.equal(1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n, 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n), true); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 40, characters 5-12", 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n === 1000000000000000000000000000000000000000000000000000000000000000000000000000000000001n, false); +eq("File \"bigint_test.res\", line 40, characters 5-12", 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n === 1000000000000000000000000000000000000000000000000000000000000000000000000000000000001n, false); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 41, characters 5-12", Caml_obj.equal(1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n, 1000000000000000000000000000000000000000000000000000000000000000000000000000000000001n), false); +eq("File \"bigint_test.res\", line 41, characters 5-12", Caml_obj.equal(1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n, 1000000000000000000000000000000000000000000000000000000000000000000000000000000000001n), false); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 42, characters 5-12", 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n === -1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n, false); +eq("File \"bigint_test.res\", line 42, characters 5-12", 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n === -1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n, false); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 43, characters 5-12", Caml_obj.equal(1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n, -1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n), false); +eq("File \"bigint_test.res\", line 43, characters 5-12", Caml_obj.equal(1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n, -1000000000000000000000000000000000000000000000000000000000000000000000000000000000000n), false); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 44, characters 5-12", ( +eq("File \"bigint_test.res\", line 44, characters 5-12", ( 1n !== 1n ? ( 1n !== 2n ? 0n : 4n ) : 3n ) === 3n, true); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 49, characters 5-12", Caml_obj.equal(1n !== 1n ? ( +eq("File \"bigint_test.res\", line 49, characters 5-12", Caml_obj.equal(1n !== 1n ? ( 1n !== 2n ? 0n : 4n ) : 3n, 3n), true); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 54, characters 5-12", ( +eq("File \"bigint_test.res\", line 54, characters 5-12", ( -1n !== -2n ? ( -1n !== -1n ? 0n : 3n ) : 4n ) === 3n, true); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 59, characters 5-12", Caml_obj.equal(-1n !== -1n ? ( +eq("File \"bigint_test.res\", line 59, characters 5-12", Caml_obj.equal(-1n !== -1n ? ( -1n !== 2n ? 0n : 4n ) : 3n, 3n), true); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 64, characters 5-12", ( +eq("File \"bigint_test.res\", line 64, characters 5-12", ( -1000n !== -1000n ? ( -1000n !== -2n ? 0n : 4n ) : 3n ) === 3n, true); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 69, characters 5-12", Caml_obj.equal(-1000n !== -1000n ? ( +eq("File \"bigint_test.res\", line 69, characters 5-12", Caml_obj.equal(-1000n !== -1000n ? ( -1000n !== -2n ? 0n : 4n ) : 3n, 3n), true); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 74, characters 5-12", 9n & 1n, 1n); +eq("File \"bigint_test.res\", line 74, characters 5-12", 9n & 1n, 1n); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 75, characters 5-12", 9n | 1n, 9n); +eq("File \"bigint_test.res\", line 75, characters 5-12", 9n | 1n, 9n); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 76, characters 5-12", 9n ^ 1n, 8n); +eq("File \"bigint_test.res\", line 76, characters 5-12", 9n ^ 1n, 8n); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 77, characters 5-12", (9n << 1n), 18n); +eq("File \"bigint_test.res\", line 77, characters 5-12", (9n << 1n), 18n); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 78, characters 5-12", (9n << -1n), 4n); +eq("File \"bigint_test.res\", line 78, characters 5-12", (9n << -1n), 4n); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 79, characters 5-12", (9n >> 1n), 4n); +eq("File \"bigint_test.res\", line 79, characters 5-12", (9n >> 1n), 4n); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 80, characters 5-12", (9n >> -1n), 18n); +eq("File \"bigint_test.res\", line 80, characters 5-12", (9n >> -1n), 18n); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 81, characters 5-12", (-9n >> 1n), -5n); +eq("File \"bigint_test.res\", line 81, characters 5-12", (-9n >> 1n), -5n); -Mt_global.collect_eq(test_id, suites, "File \"bigint_test.res\", line 82, characters 5-12", (-9n >> -1n), -18n); +eq("File \"bigint_test.res\", line 82, characters 5-12", (-9n >> -1n), -18n); Mt.from_pair_suites("Bigint_test", suites.contents); diff --git a/jscomp/test/bigint_test.res b/jscomp/test/bigint_test.res index 4348c8fb7d..7ec6430e21 100644 --- a/jscomp/test/bigint_test.res +++ b/jscomp/test/bigint_test.res @@ -1,6 +1,6 @@ let (test_id, suites) = (ref(0), ref(list{})) -let eq = loc => Mt_global.collect_eq(test_id, suites, loc) -let approx = loc => Mt_global.collect_approx(test_id, suites, loc) +let eq = (loc, x, y) => Mt_global.collect_eq(test_id, suites, loc, x, y) +let approx = (loc, x, y) => Mt_global.collect_approx(test_id, suites, loc, x, y) let bigint_compare = (x: bigint, y) => Pervasives.compare(x, y) let generic_compare = Pervasives.compare diff --git a/jscomp/test/bs_abstract_test.res b/jscomp/test/bs_abstract_test.res index 3e1448039b..ef854ad00d 100644 --- a/jscomp/test/bs_abstract_test.res +++ b/jscomp/test/bs_abstract_test.res @@ -27,9 +27,9 @@ type u = { y1: (int, int) => int, } -let uf = u => u->y0Get(1) -let uf1 = u => u->y1Get(1) -let uf2 = u => u->y1Get(1, 2) +let uf = u => y0Get(u)(1) +let uf1 = u => y1Get(u)(1, ...) +let uf2 = u => y1Get(u)(1, 2) @deriving(abstract) type u1 = { diff --git a/jscomp/test/bs_abstract_test.resi b/jscomp/test/bs_abstract_test.resi index e663e7d8bd..93495d53fa 100644 --- a/jscomp/test/bs_abstract_test.resi +++ b/jscomp/test/bs_abstract_test.resi @@ -14,7 +14,7 @@ and x = private { let f: x type u let uf: u => int -let uf1: (u, int) => int +let uf1: u => int => int let uf2: u => int type u1 diff --git a/jscomp/test/bs_array_test.js b/jscomp/test/bs_array_test.js index 70a87335df..babc807909 100644 --- a/jscomp/test/bs_array_test.js +++ b/jscomp/test/bs_array_test.js @@ -1275,28 +1275,20 @@ id$1("File \"bs_array_test.res\", line 355, characters 5-12", [ 4 ]); -function every2(xs, ys) { - let partial_arg = Belt_List.toArray(ys); - let partial_arg$1 = Belt_List.toArray(xs); - return function (param) { - return Belt_Array.every2(partial_arg$1, partial_arg, param); - }; +function every2(xs, ys, x) { + return Belt_Array.every2(Belt_List.toArray(xs), Belt_List.toArray(ys), x); } -function some2(xs, ys) { - let partial_arg = Belt_List.toArray(ys); - let partial_arg$1 = Belt_List.toArray(xs); - return function (param) { - return Belt_Array.some2(partial_arg$1, partial_arg, param); - }; +function some2(xs, ys, x) { + return Belt_Array.some2(Belt_List.toArray(xs), Belt_List.toArray(ys), x); } eq("File \"bs_array_test.res\", line 363, characters 5-12", every2(/* [] */0, { hd: 1, tl: /* [] */0 -})(function (x, y) { +}, (function (x, y) { return x > y; -}), true); +})), true); eq("File \"bs_array_test.res\", line 364, characters 5-12", every2({ hd: 2, @@ -1307,9 +1299,9 @@ eq("File \"bs_array_test.res\", line 364, characters 5-12", every2({ }, { hd: 1, tl: /* [] */0 -})(function (x, y) { +}, (function (x, y) { return x > y; -}), true); +})), true); eq("File \"bs_array_test.res\", line 365, characters 5-12", every2({ hd: 2, @@ -1317,9 +1309,9 @@ eq("File \"bs_array_test.res\", line 365, characters 5-12", every2({ }, { hd: 1, tl: /* [] */0 -})(function (x, y) { +}, (function (x, y) { return x > y; -}), true); +})), true); eq("File \"bs_array_test.res\", line 366, characters 5-12", every2({ hd: 2, @@ -1333,9 +1325,9 @@ eq("File \"bs_array_test.res\", line 366, characters 5-12", every2({ hd: 4, tl: /* [] */0 } -})(function (x, y) { +}, (function (x, y) { return x > y; -}), false); +})), false); eq("File \"bs_array_test.res\", line 367, characters 5-12", every2({ hd: 2, @@ -1349,16 +1341,16 @@ eq("File \"bs_array_test.res\", line 367, characters 5-12", every2({ hd: 0, tl: /* [] */0 } -})(function (x, y) { +}, (function (x, y) { return x > y; -}), true); +})), true); eq("File \"bs_array_test.res\", line 368, characters 5-12", some2(/* [] */0, { hd: 1, tl: /* [] */0 -})(function (x, y) { +}, (function (x, y) { return x > y; -}), false); +})), false); eq("File \"bs_array_test.res\", line 369, characters 5-12", some2({ hd: 2, @@ -1369,9 +1361,9 @@ eq("File \"bs_array_test.res\", line 369, characters 5-12", some2({ }, { hd: 1, tl: /* [] */0 -})(function (x, y) { +}, (function (x, y) { return x > y; -}), true); +})), true); eq("File \"bs_array_test.res\", line 370, characters 5-12", some2({ hd: 2, @@ -1385,9 +1377,9 @@ eq("File \"bs_array_test.res\", line 370, characters 5-12", some2({ hd: 4, tl: /* [] */0 } -})(function (x, y) { +}, (function (x, y) { return x > y; -}), true); +})), true); eq("File \"bs_array_test.res\", line 371, characters 5-12", some2({ hd: 0, @@ -1401,9 +1393,9 @@ eq("File \"bs_array_test.res\", line 371, characters 5-12", some2({ hd: 4, tl: /* [] */0 } -})(function (x, y) { +}, (function (x, y) { return x > y; -}), false); +})), false); eq("File \"bs_array_test.res\", line 372, characters 5-12", some2({ hd: 0, @@ -1417,9 +1409,9 @@ eq("File \"bs_array_test.res\", line 372, characters 5-12", some2({ hd: 2, tl: /* [] */0 } -})(function (x, y) { +}, (function (x, y) { return x > y; -}), true); +})), true); eq("File \"bs_array_test.res\", line 376, characters 5-12", Belt_Array.concat([], [ 1, diff --git a/jscomp/test/bs_array_test.res b/jscomp/test/bs_array_test.res index dbb88eb2de..66259e5e99 100644 --- a/jscomp/test/bs_array_test.res +++ b/jscomp/test/bs_array_test.res @@ -37,7 +37,7 @@ let () = { b( __LOC__, { - let f = A.getExn([0, 1]) + let f = A.getExn([0, 1], ...) (f(0), f(1)) == (0, 1) }, ) @@ -357,8 +357,8 @@ let () = { let () = { module N = { - let every2 = (xs, ys) => A.every2(L.toArray(xs), L.toArray(ys)) - let some2 = (xs, ys) => A.some2(L.toArray(xs), L.toArray(ys)) + let every2 = (xs, ys, x) => A.every2(L.toArray(xs), L.toArray(ys), x) + let some2 = (xs, ys, x) => A.some2(L.toArray(xs), L.toArray(ys), x) } eq(__LOC__, N.every2(list{}, list{1}, (x, y) => x > y), true) eq(__LOC__, N.every2(list{2, 3}, list{1}, (x, y) => x > y), true) diff --git a/jscomp/test/bs_auto_uncurry.js b/jscomp/test/bs_auto_uncurry.js index c1a250bc22..a564f5fe5e 100644 --- a/jscomp/test/bs_auto_uncurry.js +++ b/jscomp/test/bs_auto_uncurry.js @@ -27,13 +27,20 @@ function f(cb) { } let xs = Array.prototype.map.call([ - 1, - 1, - 2 -], (function (x) { - return function (y) { - return (y + x | 0) + 1 | 0; - }; + [ + 1, + 2 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ] +], (function (param) { + return (param[1] + param[0] | 0) + 1 | 0; })); function f_0(param) { @@ -63,10 +70,6 @@ function f_03(xs, u) { return hi(Curry.__1(u)); } -function fishy(x, y, z) { - return map2(x, y, Curry.__2(z)); -} - function h(x, y, z) { return map2(x, y, Curry.__2(z)); } @@ -124,13 +127,11 @@ function unit_magic(param) { let f_unit_magic = unit_magic(); -function hh(xs) { - return function (param) { - Caml_splice_call.spliceApply(f_0002, [ - xs, - param - ]); - }; +function hh(xs, a) { + Caml_splice_call.spliceApply(f_0002, [ + xs, + a + ]); } exports.Curry = Curry$1; @@ -142,7 +143,6 @@ exports.f_0 = f_0; exports.f_01 = f_01; exports.f_02 = f_02; exports.f_03 = f_03; -exports.fishy = fishy; exports.h = h; exports.h1 = h1; exports.add3 = add3; diff --git a/jscomp/test/bs_auto_uncurry.res b/jscomp/test/bs_auto_uncurry.res index 7f1e243d9e..6c73ddc31d 100644 --- a/jscomp/test/bs_auto_uncurry.res +++ b/jscomp/test/bs_auto_uncurry.res @@ -15,7 +15,7 @@ let xbs = map([1, 2, 3, 5], x => x + 1) let f = (cb: int => int) => map([1, 2, 3, 4], cb) -let xs = map([1, 1, 2], (x, y) => y + x + 1) +let xs = map([(1,2), (1,2), (2,1)], ((x, y)) => y + x + 1) @val external map2: (array<'a>, array<'b>, @uncurry ('a, 'b) => 'c) => array<'c> = "map2" @@ -48,13 +48,11 @@ let f_02 = xs => let f_03 = (xs, u) => hi(u) /* arity adjust to [0] [ function (){return u (0)}] */ -let fishy = (x, y, z) => map2(x, y, x => z(x)) - let h = (x, y, z) => map2(x, y, z) let h1 = (x, y, u, z) => map2(x, y, z(u)) -let add3 = (x, y, z) => x + y + z +let add3 = x => (y, z) => x + y + z let h2 = x => ff(x, 2, \"+") @@ -169,4 +167,4 @@ let f_unit_magic = unit_magic() @variadic @val external f_0002: (string, array) => unit = "f_0002" -let hh = xs => f_0002(xs) +let hh = (xs, a) => f_0002(xs, a) diff --git a/jscomp/test/bs_list_test.res b/jscomp/test/bs_list_test.res index 0972509555..bf4fe73776 100644 --- a/jscomp/test/bs_list_test.res +++ b/jscomp/test/bs_list_test.res @@ -34,7 +34,7 @@ let () = { } let () = { - let \"=~" = eq("FLATTEN") + let \"=~" = eq("FLATTEN", ...) \"=~"( { @@ -48,7 +48,7 @@ let () = { } let () = { - let \"=~" = eq("CONCATMANY") + let \"=~" = eq("CONCATMANY", ...) \"=~"( { open N @@ -74,13 +74,13 @@ let () = eq( }, ) let () = { - let \"=~" = eq("APPEND") + let \"=~" = eq("APPEND", ...) \"=~"(N.concat(list{1}, list{}), list{1}) \"=~"(N.concat(list{}, list{1}), list{1}) } let () = { - let \"=~" = eq("ZIP") + let \"=~" = eq("ZIP", ...) \"=~"(N.zip(list{1, 2, 3}, list{3, 4}), list{(1, 3), (2, 4)}) \"=~"(N.zip(list{}, list{1}), list{}) @@ -93,7 +93,7 @@ let mod2 = x => mod(x, 2) == 0 let evenIndex = (_x, i) => mod(i, 2) == 0 let () = { - let \"=~" = eq("PARTITION") + let \"=~" = eq("PARTITION", ...) \"=~"(N.partition(list{1, 2, 3, 2, 3, 4}, mod2), (list{2, 2, 4}, list{1, 3, 3})) \"=~"(N.partition(list{2, 2, 2, 4}, mod2), (list{2, 2, 2, 4}, list{})) @@ -102,14 +102,14 @@ let () = { } let () = { - let \"=~" = eq("UNZIP") + let \"=~" = eq("UNZIP", ...) \"=~"(N.unzip(list{}), (list{}, list{})) \"=~"(N.unzip(list{(1, 2)}), (list{1}, list{2})) \"=~"(N.unzip(list{(1, 2), (3, 4)}), (list{1, 3}, list{2, 4})) } let () = { - let \"=~" = eq("FILTER") + let \"=~" = eq("FILTER", ...) \"=~"(N.keep(list{1, 2, 3, 4}, mod2), list{2, 4}) \"=~"(N.keep(list{1, 3, 41}, mod2), list{}) \"=~"(N.keep(list{}, mod2), list{}) @@ -117,7 +117,7 @@ let () = { } let () = { - let \"=~" = eq("FILTER2") + let \"=~" = eq("FILTER2", ...) \"=~"(N.keepWithIndex(list{}, evenIndex), list{}) \"=~"(N.keepWithIndex(list{1, 2, 3, 4}, evenIndex), list{1, 3}) \"=~"(N.keepWithIndex(list{0, 1, 2, 3, 4, 5, 6, 7}, evenIndex), list{0, 2, 4, 6}) @@ -126,7 +126,7 @@ let () = { let id: int => int = x => x let () = { - let \"=~" = eq("MAP") + let \"=~" = eq("MAP", ...) \"=~"(N.map(N.makeBy(5, id), x => x * 2), list{0, 2, 4, 6, 8}) \"=~"(N.map(list{}, id), list{}) \"=~"(N.map(list{1}, x => -x), list{-1}) @@ -135,7 +135,7 @@ let add = (a, b) => a + b let length_10_id = N.makeBy(10, id) let length_8_id = N.makeBy(8, id) let () = { - let \"=~" = eq("MAP2") + let \"=~" = eq("MAP2", ...) let b = length_10_id let c = length_8_id let d = N.makeBy(10, x => 2 * x) @@ -166,7 +166,7 @@ let () = { } let () = { - let \"=~" = eq("TAKE") + let \"=~" = eq("TAKE", ...) \"=~"(N.take(list{1, 2, 3}, 2), Some(list{1, 2})) \"=~"(N.take(list{}, 1), None) \"=~"(N.take(list{1, 2}, 3), None) @@ -177,7 +177,7 @@ let () = { } let () = { - let \"=~" = eq("DROP") + let \"=~" = eq("DROP", ...) \"=~"(N.drop(length_10_id, 10), Some(list{})) \"=~"(N.drop(length_10_id, 8), Some(list{8, 9})) \"=~"(N.drop(length_10_id, 0), Some(length_10_id)) @@ -185,7 +185,7 @@ let () = { } let () = { - let \"=~" = eq("SPLIT") + let \"=~" = eq("SPLIT", ...) let a = N.makeBy(5, id) \"=~"(N.splitAt(list{}, 1), None) \"=~"(N.splitAt(a, 6), None) @@ -200,7 +200,7 @@ let () = { let succx = x => x + 1 let () = { - let \"=~" = eq("REMOVEASSOQ") + let \"=~" = eq("REMOVEASSOQ", ...) let eqx = (x, y) => (x: int) == y b(__LOC__, N.hasAssoc(list{(1, "1"), (2, "2"), (3, "3")}, 2, \"=")) b(__LOC__, !N.hasAssoc(list{(1, "1"), (2, "2"), (3, "3")}, 4, \"=")) @@ -364,7 +364,7 @@ let () = { } let () = { - let \"=~" = eq("SORT") + let \"=~" = eq("SORT", ...) let cmp = (a, b) => a - b \"=~"(N.sort(list{5, 4, 3, 2}, cmp), list{2, 3, 4, 5}) \"=~"(N.sort(list{3, 9, 37, 3, 1}, cmp), list{1, 3, 3, 9, 37}) diff --git a/jscomp/test/bs_map_set_dict_test.res b/jscomp/test/bs_map_set_dict_test.res index 24075c1e60..ccb8c0e0c5 100644 --- a/jscomp/test/bs_map_set_dict_test.res +++ b/jscomp/test/bs_map_set_dict_test.res @@ -62,8 +62,8 @@ let () = { Js.log(data.contents) } -let f = M.fromArray(~id=module(Icmp)) -let \"=~" = (a, b) => M.eq(a, b) +let f = M.fromArray(~id=module(Icmp), ...) +let \"=~" = (a, b) => M.eq(a, b, ...) let () = { let u0 = f(A.map(I.randomRange(0, 39), x => (x, x))) diff --git a/jscomp/test/bs_min_max_test.res b/jscomp/test/bs_min_max_test.res index b81ea690db..165cdba9c1 100644 --- a/jscomp/test/bs_min_max_test.res +++ b/jscomp/test/bs_min_max_test.res @@ -2,7 +2,7 @@ let suites: ref = ref(list{}) let test_id = ref(0) let eq = (loc, x, y) => Mt.eq_suites(~test_id, ~suites, loc, x, y) -let b = Mt.bool_suites(~test_id, ~suites) +let b = Mt.bool_suites(~test_id, ~suites, ...) let f = (x, y) => Pervasives.compare(x + y, y + x) diff --git a/jscomp/test/bs_mutable_set_test.res b/jscomp/test/bs_mutable_set_test.res index 478bdd3c77..0c89a357d4 100644 --- a/jscomp/test/bs_mutable_set_test.res +++ b/jscomp/test/bs_mutable_set_test.res @@ -185,7 +185,7 @@ let () = { N.add(v, i) } N.checkInvariantInternal(v) - \"@@"(b(__LOC__), R.every(0, 1_00_000, i => N.has(v, i))) + \"@@"(b(__LOC__, ...), R.every(0, 1_00_000, i => N.has(v, i))) eq(__LOC__, N.size(v), 1_00_001) } diff --git a/jscomp/test/bs_poly_mutable_set_test.res b/jscomp/test/bs_poly_mutable_set_test.res index d808233fe9..a4789a42f0 100644 --- a/jscomp/test/bs_poly_mutable_set_test.res +++ b/jscomp/test/bs_poly_mutable_set_test.res @@ -8,7 +8,7 @@ module I = Array_data_util module A = Belt.Array module IntCmp = unpack(Belt.Id.comparable(~cmp=(x: int, y) => compare(x, y))) module L = Belt.List -let fromArray = N.fromArray(~id=module(IntCmp)) +let fromArray = N.fromArray(~id=module(IntCmp), ...) let empty = () => N.make(~id=module(IntCmp)) let () = { diff --git a/jscomp/test/bs_sort_test.js b/jscomp/test/bs_sort_test.js index 6c4b2a8c3b..25f3d6e6e8 100644 --- a/jscomp/test/bs_sort_test.js +++ b/jscomp/test/bs_sort_test.js @@ -335,7 +335,7 @@ eq("File \"bs_sort_test.res\", line 116, characters 5-12", Belt_SortArray.binary let aa = Array_data_util.range(0, 1000); -b("File \"bs_sort_test.res\", line 118, characters 10-17", Belt_Range.every(0, 1000, (function (i) { +b("File \"bs_sort_test.res\", line 118, characters 4-11", Belt_Range.every(0, 1000, (function (i) { return Belt_SortArray.binarySearchBy(aa, i, cmp) === i; }))); @@ -351,7 +351,7 @@ eq("File \"bs_sort_test.res\", line 123, characters 5-12", Belt_SortArray.binary eq("File \"bs_sort_test.res\", line 125, characters 5-12", Belt_SortArray.binarySearchBy(cc, 1, cmp) ^ -1, 1); -b("File \"bs_sort_test.res\", line 127, characters 6-13", Belt_Range.every(0, 1999, (function (i) { +b("File \"bs_sort_test.res\", line 126, characters 6-13", Belt_Range.every(0, 1999, (function (i) { return (Belt_SortArray.binarySearchBy(cc, (i << 1) + 1 | 0, cmp) ^ -1) === (i + 1 | 0); }))); @@ -359,27 +359,27 @@ function lt(x, y) { return x < y; } -eq("File \"bs_sort_test.res\", line 137, characters 5-12", Belt_SortArray.strictlySortedLength([], lt), 0); +eq("File \"bs_sort_test.res\", line 135, characters 5-12", Belt_SortArray.strictlySortedLength([], lt), 0); -eq("File \"bs_sort_test.res\", line 138, characters 5-12", Belt_SortArray.strictlySortedLength([1], lt), 1); +eq("File \"bs_sort_test.res\", line 136, characters 5-12", Belt_SortArray.strictlySortedLength([1], lt), 1); -eq("File \"bs_sort_test.res\", line 139, characters 5-12", Belt_SortArray.strictlySortedLength([ +eq("File \"bs_sort_test.res\", line 137, characters 5-12", Belt_SortArray.strictlySortedLength([ 1, 1 ], lt), 1); -eq("File \"bs_sort_test.res\", line 140, characters 5-12", Belt_SortArray.strictlySortedLength([ +eq("File \"bs_sort_test.res\", line 138, characters 5-12", Belt_SortArray.strictlySortedLength([ 1, 1, 2 ], lt), 1); -eq("File \"bs_sort_test.res\", line 141, characters 5-12", Belt_SortArray.strictlySortedLength([ +eq("File \"bs_sort_test.res\", line 139, characters 5-12", Belt_SortArray.strictlySortedLength([ 1, 2 ], lt), 2); -eq("File \"bs_sort_test.res\", line 142, characters 5-12", Belt_SortArray.strictlySortedLength([ +eq("File \"bs_sort_test.res\", line 140, characters 5-12", Belt_SortArray.strictlySortedLength([ 1, 2, 3, @@ -387,7 +387,7 @@ eq("File \"bs_sort_test.res\", line 142, characters 5-12", Belt_SortArray.strict 3 ], lt), 4); -eq("File \"bs_sort_test.res\", line 143, characters 5-12", Belt_SortArray.strictlySortedLength([ +eq("File \"bs_sort_test.res\", line 141, characters 5-12", Belt_SortArray.strictlySortedLength([ 4, 4, 3, @@ -395,14 +395,14 @@ eq("File \"bs_sort_test.res\", line 143, characters 5-12", Belt_SortArray.strict 1 ], lt), 1); -eq("File \"bs_sort_test.res\", line 144, characters 5-12", Belt_SortArray.strictlySortedLength([ +eq("File \"bs_sort_test.res\", line 142, characters 5-12", Belt_SortArray.strictlySortedLength([ 4, 3, 2, 1 ], lt), -4); -eq("File \"bs_sort_test.res\", line 145, characters 5-12", Belt_SortArray.strictlySortedLength([ +eq("File \"bs_sort_test.res\", line 143, characters 5-12", Belt_SortArray.strictlySortedLength([ 4, 3, 2, diff --git a/jscomp/test/bs_sort_test.res b/jscomp/test/bs_sort_test.res index 42b9059472..cf7ca1a75d 100644 --- a/jscomp/test/bs_sort_test.res +++ b/jscomp/test/bs_sort_test.res @@ -115,7 +115,7 @@ let () = { eq(__LOC__, S.binarySearchBy([1, 2, 3, 4, 33, 35, 36], 3, cmp), 2) eq(__LOC__, S.binarySearchBy([1, 2, 3, 4, 33, 35, 36], 4, cmp), 3) let aa = I.range(0, 1000) - \"@@"(b(__LOC__), R.every(0, 1000, i => S.binarySearchBy(aa, i, cmp) == i)) + b(__LOC__, R.every(0, 1000, i => S.binarySearchBy(aa, i, cmp) == i)) /* 0, 2, 4, ... 4000 */ let cc = A.map(I.range(0, 2000), x => x * 2) eq(__LOC__, lnot(S.binarySearchBy(cc, 5000, cmp)), 2001) @@ -123,13 +123,11 @@ let () = { eq(__LOC__, S.binarySearchBy(cc, 0, cmp), 0) eq(__LOC__, lnot(S.binarySearchBy(cc, 1, cmp)), 1) - \"@@"( - b(__LOC__), + b(__LOC__, R.every(0, 1999, i => lnot(S.binarySearchBy(cc, 2 * i + 1, cmp)) == i + 1 /* 1, 3, 5, ... , 3999 */ - ), - ) + )) } let lt = (x: int, y) => x < y diff --git a/jscomp/test/caml_format_test.res b/jscomp/test/caml_format_test.res index b69981df68..1938b9cf89 100644 --- a/jscomp/test/caml_format_test.res +++ b/jscomp/test/caml_format_test.res @@ -78,7 +78,7 @@ let suites: Mt.pair_suites = \"@"( ), ) -let ff = format_int("%32d") +let ff = format_int("%32d", ...) external format_float: (string, float) => string = "?format_float" @@ -142,7 +142,7 @@ let of_string_data = [ /* module Mt = Mock_mt */ let () = \"@@"( - Mt.from_pair_suites(__MODULE__), + Mt.from_pair_suites(__MODULE__, ...), \"@"( suites, \"@"( diff --git a/jscomp/test/demo_page.res b/jscomp/test/demo_page.res index f8b207f9cb..4c7e2994c7 100644 --- a/jscomp/test/demo_page.res +++ b/jscomp/test/demo_page.res @@ -27,7 +27,7 @@ let rec map = (f, x) => /** Test curry and uncurry calling convention */ let test_curry = (x, y) => x + y -let f = test_curry(32) +let f = test_curry(32, ...) /** Create a typed binding for react */ type t diff --git a/jscomp/test/digest_test.res b/jscomp/test/digest_test.res index 8c9f0edce6..1a075cb30f 100644 --- a/jscomp/test/digest_test.res +++ b/jscomp/test/digest_test.res @@ -1,7 +1,7 @@ let f = x => \"@@"(Digest.to_hex, Digest.string(x)) \"@@"( - Mt.from_pair_suites(__MODULE__), + Mt.from_pair_suites(__MODULE__, ...), \"@"( { open Mt diff --git a/jscomp/test/earger_curry_test.js b/jscomp/test/earger_curry_test.js index 2bc34c8096..a7b41ebc94 100644 --- a/jscomp/test/earger_curry_test.js +++ b/jscomp/test/earger_curry_test.js @@ -144,15 +144,15 @@ let c = Curry._2(g(0), 3, 4); let d = Curry._2(g(0), 3, 5); -eq("File \"earger_curry_test.res\", line 138, characters 5-12", a, 10); +eq("File \"earger_curry_test.res\", line 140, characters 5-12", a, 10); -eq("File \"earger_curry_test.res\", line 139, characters 5-12", b, 11); +eq("File \"earger_curry_test.res\", line 141, characters 5-12", b, 11); -eq("File \"earger_curry_test.res\", line 140, characters 5-12", c, 10); +eq("File \"earger_curry_test.res\", line 142, characters 5-12", c, 10); -eq("File \"earger_curry_test.res\", line 141, characters 5-12", d, 11); +eq("File \"earger_curry_test.res\", line 143, characters 5-12", d, 11); -eq("File \"earger_curry_test.res\", line 142, characters 5-12", all_v.contents, { +eq("File \"earger_curry_test.res\", line 144, characters 5-12", all_v.contents, { hd: 8, tl: { hd: 8, diff --git a/jscomp/test/earger_curry_test.res b/jscomp/test/earger_curry_test.res index a8301343c3..22d8df1573 100644 --- a/jscomp/test/earger_curry_test.res +++ b/jscomp/test/earger_curry_test.res @@ -108,6 +108,7 @@ let f = x => incr(v) 2 }, + ... ) /* in */ /* all_v := !v :: !all_v ; u */ @@ -123,16 +124,17 @@ let g = x => { incr(v) 2 }, + ... ) all_v := list{v.contents, ...all_v.contents} u } -let a = f(0, 3, 4) +let a = f(0)(3, 4) -let b = f(0, 3, 5) +let b = f(0)(3, 5) -let c = g(0, 3, 4) -let d = g(0, 3, 5) +let c = g(0)(3, 4) +let d = g(0)(3, 5) let () = { eq(__LOC__, a, 10) diff --git a/jscomp/test/ext_bytes_test.res b/jscomp/test/ext_bytes_test.res index 5775e3e3b0333896941e9ac3fd8b0567f0c65c1e..2cf7e9d12668779de3e8a743efcfc261c5ab634a 100644 GIT binary patch delta 12 TcmaE@{y=?$EZb%cw!^#tBM$_g delta 24 fcmaE${#t#5EE{(~YEfBYab{U+vEF7`w!^#tcIOE6 diff --git a/jscomp/test/ext_filename_test.js b/jscomp/test/ext_filename_test.js index a97fbfd66b..7837155517 100644 --- a/jscomp/test/ext_filename_test.js +++ b/jscomp/test/ext_filename_test.js @@ -115,21 +115,14 @@ function relative_path(file_or_dir_1, file_or_dir_2) { }; }; let ys = go(dir1, dir2); - if (ys) { - if (ys.hd === node_parent) { - return $$Array.of_list(ys).join(node_sep); - } - let xs = { - hd: node_current, - tl: ys - }; - return $$Array.of_list(xs).join(node_sep); + if (ys && ys.hd === node_parent) { + return $$Array.of_list(ys).join(node_sep); } - let xs$1 = { + let xs = { hd: node_current, tl: ys }; - return $$Array.of_list(xs$1).join(node_sep); + return $$Array.of_list(xs).join(node_sep); } function node_relative_path(node_modules_shorten, file1, dep_file) { diff --git a/jscomp/test/ext_filename_test.res b/jscomp/test/ext_filename_test.res index 86ffdaf2f8..1237d97f1c 100644 --- a/jscomp/test/ext_filename_test.res +++ b/jscomp/test/ext_filename_test.res @@ -134,7 +134,7 @@ let relative_path = (file_or_dir_1, file_or_dir_2) => { switch go(dir1, dir2) { | list{x, ..._} as ys if x == node_parent => String.concat(node_sep, ys) - | ys => \"@@"(String.concat(node_sep), list{node_current, ...ys}) + | ys => \"@@"(String.concat(node_sep, _), list{node_current, ...ys}) } } diff --git a/jscomp/test/ffi_arity_test.res b/jscomp/test/ffi_arity_test.res index f2d1c7cbf3..a59986703e 100644 --- a/jscomp/test/ffi_arity_test.res +++ b/jscomp/test/ffi_arity_test.res @@ -11,7 +11,7 @@ let f = v => v => v + v } -let v = mapi([1, 2, 3], (. a, b) => f(a, b)) +let v = mapi([1, 2, 3], (. a, b) => f(a)(b)) let vv = mapi([1, 2, 3], (. a, b) => a + b) diff --git a/jscomp/test/float_test.js b/jscomp/test/float_test.js index c09c9a97b9..3dcc34ff30 100644 --- a/jscomp/test/float_test.js +++ b/jscomp/test/float_test.js @@ -18,16 +18,12 @@ let suites = { contents: /* [] */0 }; -function eq(loc) { - return function (param, param$1) { - return Mt_global.collect_eq(test_id, suites, loc, param, param$1); - }; +function eq(loc, x, y) { + Mt_global.collect_eq(test_id, suites, loc, x, y); } -function approx(loc) { - return function (param, param$1) { - return Mt_global.collect_approx(test_id, suites, loc, param, param$1); - }; +function approx(loc, x, y) { + Mt_global.collect_approx(test_id, suites, loc, x, y); } let epsilon_float = Caml_int64.float_of_bits([ @@ -178,16 +174,16 @@ function float_greaterequal(x, y) { let generic_greaterequal = Caml_obj.greaterequal; -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 59, characters 5-12", Pervasives.classify_float(3), "FP_normal"); +eq("File \"float_test.res\", line 59, characters 5-12", Pervasives.classify_float(3), "FP_normal"); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 60, characters 5-12", Caml_float.modf_float(-3.125), [ +eq("File \"float_test.res\", line 60, characters 5-12", Caml_float.modf_float(-3.125), [ -0.125, -3 ]); let match$3 = Caml_float.modf_float(Number.NaN); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 62, characters 4-11", [ +eq("File \"float_test.res\", line 62, characters 4-11", [ Number.isNaN(match$3[0]), Number.isNaN(match$3[1]) ], [ @@ -195,7 +191,7 @@ Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 62, charact true ]); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 71, characters 4-11", $$Array.map((function (x) { +eq("File \"float_test.res\", line 71, characters 4-11", $$Array.map((function (x) { if (x > 0) { return 1; } else if (x < 0) { @@ -224,101 +220,101 @@ Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 71, charact 1 ]); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 83, characters 5-12", Caml_float.copysign_float(-3, 0), 3); +eq("File \"float_test.res\", line 83, characters 5-12", Caml_float.copysign_float(-3, 0), 3); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 84, characters 5-12", Caml_float.copysign_float(3, 0), 3); +eq("File \"float_test.res\", line 84, characters 5-12", Caml_float.copysign_float(3, 0), 3); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 85, characters 5-12", Math.log10(10), 1); +eq("File \"float_test.res\", line 85, characters 5-12", Math.log10(10), 1); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 86, characters 5-12", Caml_float.expm1_float(0), 0); +eq("File \"float_test.res\", line 86, characters 5-12", Caml_float.expm1_float(0), 0); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 87, characters 5-12", Number("3.0"), 3.0); +eq("File \"float_test.res\", line 87, characters 5-12", Number("3.0"), 3.0); -Mt_global.collect_approx(test_id, suites, "File \"float_test.res\", line 88, characters 9-16", Caml_float.expm1_float(2), 6.38905609893065); +approx("File \"float_test.res\", line 88, characters 9-16", Caml_float.expm1_float(2), 6.38905609893065); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 89, characters 5-12", Caml.float_compare(NaN, NaN), 0); +eq("File \"float_test.res\", line 89, characters 5-12", Caml.float_compare(NaN, NaN), 0); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 90, characters 5-12", Caml_obj.compare(NaN, NaN), 0); +eq("File \"float_test.res\", line 90, characters 5-12", Caml_obj.compare(NaN, NaN), 0); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 91, characters 5-12", Caml.float_compare(NaN, Pervasives.neg_infinity), -1); +eq("File \"float_test.res\", line 91, characters 5-12", Caml.float_compare(NaN, Pervasives.neg_infinity), -1); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 92, characters 5-12", Caml_obj.compare(NaN, Pervasives.neg_infinity), -1); +eq("File \"float_test.res\", line 92, characters 5-12", Caml_obj.compare(NaN, Pervasives.neg_infinity), -1); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 93, characters 5-12", Caml.float_compare(Pervasives.neg_infinity, NaN), 1); +eq("File \"float_test.res\", line 93, characters 5-12", Caml.float_compare(Pervasives.neg_infinity, NaN), 1); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 94, characters 5-12", Caml_obj.compare(Pervasives.neg_infinity, NaN), 1); +eq("File \"float_test.res\", line 94, characters 5-12", Caml_obj.compare(Pervasives.neg_infinity, NaN), 1); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 95, characters 5-12", NaN === NaN, false); +eq("File \"float_test.res\", line 95, characters 5-12", NaN === NaN, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 96, characters 5-12", Caml_obj.equal(NaN, NaN), false); +eq("File \"float_test.res\", line 96, characters 5-12", Caml_obj.equal(NaN, NaN), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 97, characters 5-12", 4.2 === NaN, false); +eq("File \"float_test.res\", line 97, characters 5-12", 4.2 === NaN, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 98, characters 5-12", Caml_obj.equal(4.2, NaN), false); +eq("File \"float_test.res\", line 98, characters 5-12", Caml_obj.equal(4.2, NaN), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 99, characters 5-12", NaN === 4.2, false); +eq("File \"float_test.res\", line 99, characters 5-12", NaN === 4.2, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 100, characters 5-12", Caml_obj.equal(NaN, 4.2), false); +eq("File \"float_test.res\", line 100, characters 5-12", Caml_obj.equal(NaN, 4.2), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 101, characters 5-12", NaN !== NaN, true); +eq("File \"float_test.res\", line 101, characters 5-12", NaN !== NaN, true); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 102, characters 5-12", Caml_obj.notequal(NaN, NaN), true); +eq("File \"float_test.res\", line 102, characters 5-12", Caml_obj.notequal(NaN, NaN), true); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 103, characters 5-12", 4.2 !== NaN, true); +eq("File \"float_test.res\", line 103, characters 5-12", 4.2 !== NaN, true); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 104, characters 5-12", Caml_obj.notequal(4.2, NaN), true); +eq("File \"float_test.res\", line 104, characters 5-12", Caml_obj.notequal(4.2, NaN), true); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 105, characters 5-12", NaN !== 4.2, true); +eq("File \"float_test.res\", line 105, characters 5-12", NaN !== 4.2, true); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 106, characters 5-12", Caml_obj.notequal(NaN, 4.2), true); +eq("File \"float_test.res\", line 106, characters 5-12", Caml_obj.notequal(NaN, 4.2), true); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 107, characters 5-12", NaN < NaN, false); +eq("File \"float_test.res\", line 107, characters 5-12", NaN < NaN, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 108, characters 5-12", Caml_obj.lessthan(NaN, NaN), false); +eq("File \"float_test.res\", line 108, characters 5-12", Caml_obj.lessthan(NaN, NaN), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 109, characters 5-12", 4.2 < NaN, false); +eq("File \"float_test.res\", line 109, characters 5-12", 4.2 < NaN, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 110, characters 5-12", Caml_obj.lessthan(4.2, NaN), false); +eq("File \"float_test.res\", line 110, characters 5-12", Caml_obj.lessthan(4.2, NaN), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 111, characters 5-12", NaN < 4.2, false); +eq("File \"float_test.res\", line 111, characters 5-12", NaN < 4.2, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 112, characters 5-12", Caml_obj.lessthan(NaN, 4.2), false); +eq("File \"float_test.res\", line 112, characters 5-12", Caml_obj.lessthan(NaN, 4.2), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 113, characters 5-12", NaN > NaN, false); +eq("File \"float_test.res\", line 113, characters 5-12", NaN > NaN, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 114, characters 5-12", Caml_obj.greaterthan(NaN, NaN), false); +eq("File \"float_test.res\", line 114, characters 5-12", Caml_obj.greaterthan(NaN, NaN), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 115, characters 5-12", 4.2 > NaN, false); +eq("File \"float_test.res\", line 115, characters 5-12", 4.2 > NaN, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 116, characters 5-12", Caml_obj.greaterthan(4.2, NaN), false); +eq("File \"float_test.res\", line 116, characters 5-12", Caml_obj.greaterthan(4.2, NaN), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 117, characters 5-12", NaN > 4.2, false); +eq("File \"float_test.res\", line 117, characters 5-12", NaN > 4.2, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 118, characters 5-12", Caml_obj.greaterthan(NaN, 4.2), false); +eq("File \"float_test.res\", line 118, characters 5-12", Caml_obj.greaterthan(NaN, 4.2), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 119, characters 5-12", NaN <= NaN, false); +eq("File \"float_test.res\", line 119, characters 5-12", NaN <= NaN, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 120, characters 5-12", Caml_obj.lessequal(NaN, NaN), false); +eq("File \"float_test.res\", line 120, characters 5-12", Caml_obj.lessequal(NaN, NaN), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 121, characters 5-12", 4.2 <= NaN, false); +eq("File \"float_test.res\", line 121, characters 5-12", 4.2 <= NaN, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 122, characters 5-12", Caml_obj.lessequal(4.2, NaN), false); +eq("File \"float_test.res\", line 122, characters 5-12", Caml_obj.lessequal(4.2, NaN), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 123, characters 5-12", NaN <= 4.2, false); +eq("File \"float_test.res\", line 123, characters 5-12", NaN <= 4.2, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 124, characters 5-12", Caml_obj.lessequal(NaN, 4.2), false); +eq("File \"float_test.res\", line 124, characters 5-12", Caml_obj.lessequal(NaN, 4.2), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 125, characters 5-12", NaN >= NaN, false); +eq("File \"float_test.res\", line 125, characters 5-12", NaN >= NaN, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 126, characters 5-12", Caml_obj.greaterequal(NaN, NaN), false); +eq("File \"float_test.res\", line 126, characters 5-12", Caml_obj.greaterequal(NaN, NaN), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 127, characters 5-12", 4.2 >= NaN, false); +eq("File \"float_test.res\", line 127, characters 5-12", 4.2 >= NaN, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 128, characters 5-12", Caml_obj.greaterequal(4.2, NaN), false); +eq("File \"float_test.res\", line 128, characters 5-12", Caml_obj.greaterequal(4.2, NaN), false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 129, characters 5-12", NaN >= 4.2, false); +eq("File \"float_test.res\", line 129, characters 5-12", NaN >= 4.2, false); -Mt_global.collect_eq(test_id, suites, "File \"float_test.res\", line 130, characters 5-12", Caml_obj.greaterequal(NaN, 4.2), false); +eq("File \"float_test.res\", line 130, characters 5-12", Caml_obj.greaterequal(NaN, 4.2), false); let match$4 = Caml_float.modf_float(32.3); diff --git a/jscomp/test/float_test.res b/jscomp/test/float_test.res index eb8662005e..76efc4186e 100644 --- a/jscomp/test/float_test.res +++ b/jscomp/test/float_test.res @@ -1,6 +1,6 @@ let (test_id, suites) = (ref(0), ref(list{})) -let eq = loc => Mt_global.collect_eq(test_id, suites, loc) -let approx = loc => Mt_global.collect_approx(test_id, suites, loc) +let eq = (loc, x, y) => Mt_global.collect_eq(test_id, suites, loc, x, y) +let approx = (loc, x, y) => Mt_global.collect_approx(test_id, suites, loc, x, y) let epsilon_float = Int64.float_of_bits(0x3C_B0_00_00_00_00_00_00L) @@ -133,7 +133,7 @@ let () = { let () = { let (a, b) = modf(32.3) \"@@"( - Mt.from_pair_suites(__MODULE__), + Mt.from_pair_suites(__MODULE__, ...), \"@"( { open Mt diff --git a/jscomp/test/for_loop_test.res b/jscomp/test/for_loop_test.res index 8c45dd2c05..89f8085f07 100644 --- a/jscomp/test/for_loop_test.res +++ b/jscomp/test/for_loop_test.res @@ -1,6 +1,6 @@ let for_3 = x => { let v = ref(0) - let arr = Array.map((_, _) => (), x) + let arr = Array.map(_ => _ => (), x) for i in 0 to Array.length(x) - 1 { let j = i * 2 arr[i] = _ => v := v.contents + j @@ -11,7 +11,7 @@ let for_3 = x => { let for_4 = x => { let v = ref(0) - let arr = Array.map((_, _) => (), x) + let arr = Array.map(_ => _ => (), x) for i in 0 to Array.length(x) - 1 { let j = i * 2 let k = 2 * j @@ -23,7 +23,7 @@ let for_4 = x => { let for_5 = (x, u) => { let v = ref(0) - let arr = Array.map((_, _) => (), x) + let arr = Array.map(_ => _ => (), x) for i in 0 to Array.length(x) - 1 { let _j = i * 2 let k = 2 * u * u @@ -35,7 +35,7 @@ let for_5 = (x, u) => { let for_6 = (x, u) => { let v = ref(0) - let arr = Array.map((_, _) => (), x) + let arr = Array.map(_ => _ => (), x) let v4 = ref(0) let v5 = ref(0) let inspect_3 = ref(-1) diff --git a/jscomp/test/format_regression.js b/jscomp/test/format_regression.js index 13670936e5..6af98ac543 100644 --- a/jscomp/test/format_regression.js +++ b/jscomp/test/format_regression.js @@ -1,7 +1,6 @@ // Generated by ReScript, PLEASE EDIT WITH CARE 'use strict'; -let Curry = require("../../lib/js/curry.js"); function peek_queue(param) { throw new Error("Assert_failure", { @@ -42,14 +41,14 @@ function take_queue(param) { }); } -function format_pp_token(param, param$1) { +function format_pp_token(param, param$1, param$2) { throw new Error("Assert_failure", { cause: { RE_EXN_ID: "Assert_failure", _1: [ "format_regression.res", 13, - 32 + 35 ] } }); @@ -64,7 +63,7 @@ function advance_loop(state) { return; } take_queue(state.pp_queue); - Curry._1(format_pp_token(state, size$1 < 0 ? 1000000010 : size$1), match.token); + format_pp_token(state, size$1 < 0 ? 1000000010 : size$1, match.token); state.pp_left_total = match.length + state.pp_left_total | 0; continue; }; diff --git a/jscomp/test/format_regression.res b/jscomp/test/format_regression.res index 52d1cfce89..a8394503f4 100644 --- a/jscomp/test/format_regression.res +++ b/jscomp/test/format_regression.res @@ -10,7 +10,7 @@ type pp_token let peek_queue = _ => assert(false) let int_of_size = _ => assert(false) let take_queue = _ => assert(false) -let format_pp_token = (_, _) => assert(false) +let format_pp_token = (_, _, _) => assert(false) let pp_infinity = 1000000010 type pp_queue_elem = { mutable elem_size: size, diff --git a/jscomp/test/gpr_1409_test.js b/jscomp/test/gpr_1409_test.js index aacdda3c1b..d438928556 100644 --- a/jscomp/test/gpr_1409_test.js +++ b/jscomp/test/gpr_1409_test.js @@ -45,22 +45,20 @@ function map(f, x) { } -function make(foo) { - let partial_arg = map((function (prim) { +function make(foo, param) { + let tmp = {}; + let tmp$1 = map((function (prim) { return String(prim); }), foo); - return function (param) { - let tmp = {}; - if (partial_arg !== undefined) { - tmp.foo = partial_arg; - } - return tmp; - }; + if (tmp$1 !== undefined) { + tmp.foo = tmp$1; + } + return tmp; } -let a_ = make(undefined)(); +let a_ = make(undefined, undefined); -let b_ = make(42)(); +let b_ = make(42, undefined); eq("File \"gpr_1409_test.res\", line 26, characters 3-10", b_.foo, "42"); diff --git a/jscomp/test/gpr_1409_test.res b/jscomp/test/gpr_1409_test.res index 934b850bf3..a00780abb2 100644 --- a/jscomp/test/gpr_1409_test.res +++ b/jscomp/test/gpr_1409_test.res @@ -18,7 +18,7 @@ let map = (f, x) => | Some(x) => Some(f(x)) } -let make = (~foo: option=?) => make(~foo=?map(string_of_int, foo)) +let make = (~foo: option=?, ()) => make(~foo=?map(string_of_int, foo), ()) let a_ = make() let b_ = make(~foo=42, ()) diff --git a/jscomp/test/gpr_1423_app_test.res b/jscomp/test/gpr_1423_app_test.res index 86a1762f1c..5ae7060ee9 100644 --- a/jscomp/test/gpr_1423_app_test.res +++ b/jscomp/test/gpr_1423_app_test.res @@ -8,10 +8,10 @@ let eq = (loc, x, y) => { let foo = f => Js.log(f(~a1="a1", ())) -let _ = foo(Gpr_1423_nav.busted(~a2="a2")) +let _ = foo(Gpr_1423_nav.busted(~a2="a2", ...)) let foo2 = f => f(~a1="a1", ()) -let () = eq(__LOC__, foo2(Gpr_1423_nav.busted(~a2="a2")), "a1a2") +let () = eq(__LOC__, foo2(Gpr_1423_nav.busted(~a2="a2", ...)), "a1a2") let () = Mt.from_pair_suites(__MODULE__, suites.contents) diff --git a/jscomp/test/gpr_1692_test.res b/jscomp/test/gpr_1692_test.res index fd789e0920..2526639b5c 100644 --- a/jscomp/test/gpr_1692_test.res +++ b/jscomp/test/gpr_1692_test.res @@ -5,5 +5,5 @@ let j = f => true f => 0 } - }("", "") + }("")("") } diff --git a/jscomp/test/gpr_3931_test.res b/jscomp/test/gpr_3931_test.res index 26593086a0..80ce54c134 100644 --- a/jscomp/test/gpr_3931_test.res +++ b/jscomp/test/gpr_3931_test.res @@ -3,7 +3,7 @@ module rec PA: { } = { /* let () = P.print 3 */ let print = { - let iter = Array.iter(P.print) + let iter = Array.iter(P.print, ...) a => iter(a) } } diff --git a/jscomp/test/gpr_4265_test.res b/jscomp/test/gpr_4265_test.res index 0db028d430..c38327ff70 100644 --- a/jscomp/test/gpr_4265_test.res +++ b/jscomp/test/gpr_4265_test.res @@ -5,15 +5,15 @@ let eq = (loc, x, y) => Mt.eq_suites(~test_id, ~suites, loc, x, y) open Belt let mockMap = MutableMap.Int.make() let add = id => { - (mockMap->MutableMap.Int.set)(id, id) + mockMap->MutableMap.Int.set(id, id) id } -let remove = id => (mockMap->MutableMap.Int.remove)(id) +let remove = id => mockMap->MutableMap.Int.remove(id) let _ = add(1726) let n = add(6667) let _ = add(486) let _ = remove(1726) -let n1 = (mockMap->MutableMap.Int.getExn)(6667) +let n1 = mockMap->MutableMap.Int.getExn(6667) eq(__LOC__, n, n1) diff --git a/jscomp/test/hash_test.js b/jscomp/test/hash_test.js index e1689aae41..e16a1f3cc0 100644 --- a/jscomp/test/hash_test.js +++ b/jscomp/test/hash_test.js @@ -16,10 +16,8 @@ let test_id = { contents: 0 }; -function eq(f) { - return function (param, param$1) { - return Mt_global.collect_eq(test_id, suites, f, param, param$1); - }; +function eq(f, x, y) { + Mt_global.collect_eq(test_id, suites, f, x, y); } let test_strings = $$Array.init(32, (function (i) { @@ -69,13 +67,13 @@ function caml_hash(x) { return Hashtbl.hash(x) & 1073741823; } -Mt_global.collect_eq(test_id, suites, "File \"hash_test.res\", line 44, characters 12-19", $$Array.map(caml_hash, test_strings), test_strings_hash_results); +eq("File \"hash_test.res\", line 44, characters 12-19", $$Array.map(caml_hash, test_strings), test_strings_hash_results); -Mt_global.collect_eq(test_id, suites, "File \"hash_test.res\", line 46, characters 12-19", Hashtbl.hash(0) & 1073741823, 129913994); +eq("File \"hash_test.res\", line 46, characters 12-19", Hashtbl.hash(0) & 1073741823, 129913994); -Mt_global.collect_eq(test_id, suites, "File \"hash_test.res\", line 48, characters 12-19", Hashtbl.hash("x") & 1073741823, 780510073); +eq("File \"hash_test.res\", line 48, characters 12-19", Hashtbl.hash("x") & 1073741823, 780510073); -Mt_global.collect_eq(test_id, suites, "File \"hash_test.res\", line 50, characters 12-19", Hashtbl.hash("xy") & 1073741823, 194127723); +eq("File \"hash_test.res\", line 50, characters 12-19", Hashtbl.hash("xy") & 1073741823, 194127723); Mt.from_pair_suites("Hash_test", suites.contents); diff --git a/jscomp/test/hash_test.res b/jscomp/test/hash_test.res index 7a532f1bcf..526d552cc8 100644 --- a/jscomp/test/hash_test.res +++ b/jscomp/test/hash_test.res @@ -1,6 +1,6 @@ let suites: ref = ref(list{}) let test_id = ref(0) -let eq = f => Mt_global.collect_eq(test_id, suites, f) +let eq = (f, x, y) => Mt_global.collect_eq(test_id, suites, f, x, y) let test_strings = Array.init(32, i => String.make(i, Char.chr(i))) diff --git a/jscomp/test/hashtbl_test.res b/jscomp/test/hashtbl_test.res index 6132a5e86c..bb18f6015a 100644 --- a/jscomp/test/hashtbl_test.res +++ b/jscomp/test/hashtbl_test.res @@ -6,7 +6,7 @@ let f = () => { let tbl = Hashtbl.create(17) add(tbl, 1, '1') add(tbl, 2, '2') - \"@@"(List.sort(((a: int, _), (b, _)) => compare(a, b)), to_list(tbl)) + \"@@"(List.sort(((a: int, _), (b, _)) => compare(a, b), ...), to_list(tbl)) } let g = count => { @@ -18,7 +18,7 @@ let g = count => { replace(tbl, i * 2, string_of_int(i)) } let v = to_list(tbl) - let v = \"@@"(List.sort(((x, _), (y: int, _)) => compare(x, y)), v) + let v = \"@@"(List.sort(((x, _), (y: int, _)) => compare(x, y), ...), v) Array.of_list(v) } diff --git a/jscomp/test/inline_regression_test.res b/jscomp/test/inline_regression_test.res index 8139912655..01aa7dd40d 100644 --- a/jscomp/test/inline_regression_test.res +++ b/jscomp/test/inline_regression_test.res @@ -23,7 +23,7 @@ let generic_basename = (is_dir_sep, current_dir_name, name) => { } } -let basename = generic_basename((s, i) => String.get(s, i) == '/', Filename.current_dir_name) +let basename = generic_basename((s, i) => String.get(s, i) == '/', Filename.current_dir_name, ...) let suites = { open Mt diff --git a/jscomp/test/int64_mul_div_test.res b/jscomp/test/int64_mul_div_test.res index 856cdd87b2..ef3db5619f 100644 --- a/jscomp/test/int64_mul_div_test.res +++ b/jscomp/test/int64_mul_div_test.res @@ -226,7 +226,7 @@ let from_to_string = xs => )) \"@@"( - Mt.from_pair_suites(__MODULE__), + Mt.from_pair_suites(__MODULE__, ...), \"@"( from_pairs("random", pairs), \"@"( diff --git a/jscomp/test/int_hashtbl_test.res b/jscomp/test/int_hashtbl_test.res index cfaf7e4a94..8312a9d5de 100644 --- a/jscomp/test/int_hashtbl_test.res +++ b/jscomp/test/int_hashtbl_test.res @@ -13,7 +13,7 @@ let f = (module(H: Hashtbl.S with type key = int)) => { H.add(tbl, 1, '1') H.add(tbl, 2, '2') \"@@"( - List.sort(((a: int, _), (b, _)) => compare(a, b)), + List.sort(((a: int, _), (b, _)) => compare(a, b), ...), H.fold((k, v, acc) => list{(k, v), ...acc}, tbl, list{}), ) } @@ -27,7 +27,7 @@ let g = (module(H: S), count) => { H.replace(tbl, i * 2, string_of_int(i)) } let v = H.fold((k, v, acc) => list{(k, v), ...acc}, tbl, list{}) - let v = \"@@"(List.sort(((x, _), (y: int, _)) => compare(x, y)), v) + let v = \"@@"(List.sort(((x, _), (y: int, _)) => compare(x, y), ...), v) Array.of_list(v) } diff --git a/jscomp/test/map_find_test.res b/jscomp/test/map_find_test.res index 64a946d30a..01fbd4e782 100644 --- a/jscomp/test/map_find_test.res +++ b/jscomp/test/map_find_test.res @@ -26,7 +26,7 @@ include ( @val("console.log") external log: 'a => unit = "" \"@@"( - Mt.from_pair_suites(__MODULE__), + Mt.from_pair_suites(__MODULE__, ...), list{("int", _ => Eq(IntMap.find(10, m), 'a')), ("string", _ => Eq(SMap.find("10", s), 'a'))}, ) }: {} diff --git a/jscomp/test/mario_game.res b/jscomp/test/mario_game.res index 4dc4f04851..dda93f8aa2 100644 --- a/jscomp/test/mario_game.res +++ b/jscomp/test/mario_game.res @@ -1101,7 +1101,7 @@ module Object: { let update_player = (player, keys, context) => { let prev_jumping = player.jumping let prev_dir = player.dir and prev_vx = abs_float(player.vel.x) - List.iter(update_player_keys(player), keys) + List.iter(update_player_keys(player, ...), keys) let v = player.vel.x *. friction let vel_damped = if abs_float(v) < 0.1 { 0. diff --git a/jscomp/test/more_poly_variant_test.res b/jscomp/test/more_poly_variant_test.res index 6352030926..b7ee7f9ab1 100644 --- a/jscomp/test/more_poly_variant_test.res +++ b/jscomp/test/more_poly_variant_test.res @@ -4,7 +4,7 @@ let rec map = (f): (vlist<'a> => vlist<'b>) => x => switch x { | #Nil => #Nil - | #Cons(a, l) => #Cons(f(. a), map(f, l)) + | #Cons(a, l) => #Cons(f(. a), map(f)(l)) } let split_cases = x => diff --git a/jscomp/test/ocaml_re_test.res b/jscomp/test/ocaml_re_test.res index c75c80134b..ff4b072d84 100644 --- a/jscomp/test/ocaml_re_test.res +++ b/jscomp/test/ocaml_re_test.res @@ -653,7 +653,7 @@ module Re_automata: { let rec rename = (ids, x) => switch x.def { | Cst(_) | Eps | Mark(_) | Pmark(_) | Erase(_) | Before(_) | After(_) => mk_expr(ids, x.def) - | Alt(l) => mk_expr(ids, Alt(List.map(rename(ids), l))) + | Alt(l) => mk_expr(ids, Alt(List.map(rename(ids, ...), l))) | Seq(k, y, z) => mk_expr(ids, Seq(k, rename(ids, y), rename(ids, z))) | Rep(g, k, y) => mk_expr(ids, Rep(g, k, rename(ids, y))) } @@ -772,7 +772,7 @@ module Re_automata: { let rec mark_used_indices = tbl => List.iter(x => switch x { - | E.TSeq(l, _, _) => mark_used_indices(tbl, l) + | E.TSeq(l, _, _) => mark_used_indices(tbl)(l) | E.TExp(marks, _) | E.TMatch(marks) => List.iter(((_, i)) => @@ -780,7 +780,7 @@ module Re_automata: { tbl[i] = true } , marks.Marks.marks) - } + }, ... ) let rec find_free = (tbl, idx, len) => @@ -793,7 +793,7 @@ module Re_automata: { let free_index = (tbl_ref, l) => { let tbl = tbl_ref.contents reset_table(tbl) - mark_used_indices(tbl, l) + mark_used_indices(tbl)(l) let len = Array.length(tbl) let idx = find_free(tbl, 0, len) if idx == len { @@ -808,7 +808,7 @@ module Re_automata: { switch x { | E.TMatch(_) => false | _ => true - } + }, ... ) let rec split_at_match_rec = (l', x) => @@ -985,7 +985,7 @@ module Re_automata: { /* ** */ - let prepend_deriv = List.fold_right(((s, x), l) => Cset.prepend(s, x, l)) + let prepend_deriv = List.fold_right(((s, x), l) => Cset.prepend(s, x, l), ...) let rec restrict = (s, x) => switch x { @@ -1013,9 +1013,9 @@ module Re_automata: { | E.TMatch(m') => E.TMatch(Marks.merge(m, m')) } - and prepend_marks_expr_lst = (m, l) => List.map(prepend_marks_expr(m), l) + and prepend_marks_expr_lst = (m, l) => List.map(prepend_marks_expr(m, ...), l) - let prepend_marks = m => List.map(((s, x)) => (s, prepend_marks_expr_lst(m, x))) + let prepend_marks = m => List.map(((s, x)) => (s, prepend_marks_expr_lst(m, x)), ...) let rec deriv_1 = (all_chars, categories, marks, cat, x, rem) => switch x.def { @@ -1110,7 +1110,7 @@ module Re_automata: { , y) { | None => Cset.prepend(s, E.tseq(kind, y, z, list{}), rem) | Some(marks) => - let z'' = prepend_marks(marks, z') + let z'' = prepend_marks(marks)(z') switch kind { | #Longest => Cset.prepend( @@ -2451,9 +2451,9 @@ let rec loop info s pos st = s }, ) - | Sequence(l) => Sequence(List.map(handle_case(ign_case), l)) + | Sequence(l) => Sequence(List.map(handle_case(ign_case, ...), l)) | Alternative(l) => - let l' = List.map(handle_case(ign_case), l) + let l' = List.map(handle_case(ign_case, ...), l) if is_charset(Alternative(l')) { Set(List.fold_left((s, r) => Cset.union(s, as_set(r)), Cset.empty, l')) } else { diff --git a/jscomp/test/option_repr_test.res b/jscomp/test/option_repr_test.res index a57ca37438..2d23dc3a1e 100644 --- a/jscomp/test/option_repr_test.res +++ b/jscomp/test/option_repr_test.res @@ -122,10 +122,10 @@ let neqx = (a, b) => a != b && b != a let all_true = xs => Belt.List.every(xs, x => x) -\"@@"(b(__LOC__), all_true(list{gtx(Some(Some(Js.null)), Some(None))})) +\"@@"(b(__LOC__, ...), all_true(list{gtx(Some(Some(Js.null)), Some(None))})) \"@@"( - b(__LOC__), + b(__LOC__, ...), all_true(list{ ltx(Some(None), Some(Some(3))), ltx(Some(None), Some(Some(None))), @@ -142,7 +142,7 @@ let all_true = xs => Belt.List.every(xs, x => x) ) \"@@"( - b(__LOC__), + b(__LOC__, ...), all_true(list{ eqx(None, None), neqx(None, Some(Js.null)), diff --git a/jscomp/test/optional_regression_test.js b/jscomp/test/optional_regression_test.js index cee1c0b3fc..af956ee879 100644 --- a/jscomp/test/optional_regression_test.js +++ b/jscomp/test/optional_regression_test.js @@ -16,20 +16,18 @@ function eq(loc, x, y) { Mt.eq_suites(test_id, suites, loc, x, y); } -function make(s, b, i) { - return function (param) { - let tmp = {}; - if (s !== undefined) { - tmp.s = Caml_option.valFromOption(s); - } - if (b !== undefined) { - tmp.b = Caml_option.valFromOption(b); - } - if (i !== undefined) { - tmp.i = Caml_option.valFromOption(i); - } - return tmp; - }; +function make(s, b, i, param) { + let tmp = {}; + if (s !== undefined) { + tmp.s = Caml_option.valFromOption(s); + } + if (b !== undefined) { + tmp.b = Caml_option.valFromOption(b); + } + if (i !== undefined) { + tmp.i = Caml_option.valFromOption(i); + } + return tmp; } let hh = { diff --git a/jscomp/test/optional_regression_test.res b/jscomp/test/optional_regression_test.res index c525cff5c2..647aff5bc6 100644 --- a/jscomp/test/optional_regression_test.res +++ b/jscomp/test/optional_regression_test.res @@ -9,7 +9,7 @@ type test = { @optional i: int, } -let make = (~s=?, ~b=?, ~i=?) => test(~s?, ~b?, ~i?) +let make = (~s=?, ~b=?, ~i=?, ()) => test(~s?, ~b?, ~i?, ()) let hh = make(~s="", ~b=false, ~i=0, ()) diff --git a/jscomp/test/pipe_syntax.js b/jscomp/test/pipe_syntax.js index 2341470fb0..cd1896b433 100644 --- a/jscomp/test/pipe_syntax.js +++ b/jscomp/test/pipe_syntax.js @@ -13,7 +13,7 @@ function t1(x, f) { } function t2(x, f, g) { - return Curry._2(f, Curry._3(g, Curry._1(f, x), x, x), x); + return Curry._1(f, Curry._3(g, Curry._1(f, x), x, x)); } function t3(x, f) { diff --git a/jscomp/test/pipe_syntax.res b/jscomp/test/pipe_syntax.res index bfec31da42..77c0ef02b4 100644 --- a/jscomp/test/pipe_syntax.res +++ b/jscomp/test/pipe_syntax.res @@ -4,13 +4,13 @@ include ( let t1 = (x, f) => x->f - let t2 = (x, f, g) => x->f->g(x, x)->f(x) + let t2 = (x, f, g) => x->f->g(x, x)->f let t3 = (x, f) => x->f(~h=1, ~x=2) }: { let t0: ('a, 'a => 'a) => 'a let t1: ('a, 'a => 'b) => 'b - let t2: ('a, ('a, 'a) => 'b, ('a => 'b, 'a, 'a) => 'a) => 'b + let t2: ('a, 'a => 'a => 'b, ('a => 'b, 'a, 'a) => 'a) => 'a => 'b let t3: ('a, ('a, ~h: int, ~x: int) => 'b) => 'b } ) diff --git a/jscomp/test/pr_regression_test.res b/jscomp/test/pr_regression_test.res index bd74bf0017..70d8692ab9 100644 --- a/jscomp/test/pr_regression_test.res +++ b/jscomp/test/pr_regression_test.res @@ -5,7 +5,7 @@ let a = { ((x, y) => h(x, y))({ action() 3 - }) + }, ...) \"@@"(ignore, f(\"+")) \"@@"(ignore, f(\"+")) v.contents @@ -18,7 +18,7 @@ let b = { ((x, y) => h(x, y))({ action() 3 - }) + }, ...) \"@@"(ignore, f(\"+")) \"@@"(ignore, f(\"+")) v.contents @@ -48,7 +48,7 @@ let d = { let v = 3 action() v * v - }) + }, ...) \"@@"(ignore, f(\"+", 3)) \"@@"(ignore, f(\"+", 3)) v.contents diff --git a/jscomp/test/print_alpha_test.res b/jscomp/test/print_alpha_test.res index 81e6511f4f..da1bd17a6f 100644 --- a/jscomp/test/print_alpha_test.res +++ b/jscomp/test/print_alpha_test.res @@ -13,6 +13,6 @@ Mt.from_pair_suites( __MODULE__, { open Mt - list{(__LOC__, _ => Eq(f(\"+", (), 1, 2), 3))} + list{(__LOC__, _ => Eq(f(\"+", ())(1, 2), 3))} }, ) diff --git a/jscomp/test/random_test.res b/jscomp/test/random_test.res index 7d313b1b82..6bf9f50034 100644 --- a/jscomp/test/random_test.res +++ b/jscomp/test/random_test.res @@ -1,12 +1,12 @@ let id = ref(0) let suites = ref(list{}) -let eq = f => Mt_global.collect_eq(id, suites, f) -let neq = f => Mt_global.collect_neq(id, suites, f) -let approx = f => Mt_global.collect_approx(id, suites, f) +let eq = f => Mt_global.collect_eq(id, suites, f, ...) +let neq = f => Mt_global.collect_neq(id, suites, f, ...) +let approx = f => Mt_global.collect_approx(id, suites, f, ...) let () = neq( - __LOC__, + __LOC__)( { Random.self_init() Random.int(10000) @@ -25,7 +25,7 @@ let v = Array.make(10, false) let () = for i in 0 to 9 { v[i] = Random.bool() } -let () = eq(__LOC__, v, [true, true, true, true, true, false, true, true, true, false]) +let () = eq(__LOC__)(v, [true, true, true, true, true, false, true, true, true, false]) let f = Random.int64(Int64.max_int) let h = Random.int64(3L) diff --git a/jscomp/test/reasonReact.res b/jscomp/test/reasonReact.res index 0bb79e42bb..429803677b 100644 --- a/jscomp/test/reasonReact.res +++ b/jscomp/test/reasonReact.res @@ -296,7 +296,7 @@ module WrapProps = { noRetainedProps, _, > => { - let jsElementWrapped = Some(wrapProps(~reactClass, ~props, children)) + let jsElementWrapped = Some(wrapProps(~reactClass, ~props, children, ...)) {...dummyInteropComponent, jsElementWrapped: jsElementWrapped} } } diff --git a/jscomp/test/sexp.res b/jscomp/test/sexp.res index ef95024c24..d6ac2351e4 100644 --- a/jscomp/test/sexp.res +++ b/jscomp/test/sexp.res @@ -110,7 +110,7 @@ module Traverse = { | _ => None } - let to_pair_with = (f1, f2, e) => + let to_pair_with = (f1, f2) => e => \">>="(to_pair(e), ((x, y)) => \">>="(f1(x), x => \">>="(f2(y), y => return((x, y))))) let to_triple = e => @@ -119,7 +119,7 @@ module Traverse = { | _ => None } - let to_triple_with = (f1, f2, f3, e) => + let to_triple_with = (f1, f2, f3) => e => \">>="(to_triple(e), ((x, y, z)) => \">>="(f1(x), x => \">>="(f2(y), y => \">>="(f3(z), z => return((x, y, z))))) ) @@ -130,7 +130,7 @@ module Traverse = { | #Atom(_) => None } - let to_list_with = (f, e: t) => + let to_list_with = f => (e: t) => switch e { | #List(l) => map_opt(f, l) | #Atom(_) => None @@ -143,13 +143,13 @@ module Traverse = { | list{} => None } - let get_field = (name, e) => + let get_field = name => e => switch e { | #List(l) => _get_field(name, l) | #Atom(_) => None } - let field = (name, f, e) => \">>="(get_field(name, e), f) + let field = (name, f) => e => \">>="(get_field(name)(e), f) let rec _get_field_list = (name, l) => switch l { @@ -158,7 +158,7 @@ module Traverse = { | list{} => None } - let field_list = (name, f, e) => + let field_list = (name, f) => e => switch e { | #List(l) => \">>="(_get_field_list(name, l), f) | #Atom(_) => None @@ -171,7 +171,7 @@ module Traverse = { | list{_, ...tl} => _get_variant(s, args, tl) } - let get_variant = (l, e) => + let get_variant = l => e => switch e { | #List(list{#Atom(s), ...args}) => _get_variant(s, args, l) | #List(_) => None diff --git a/jscomp/test/sexpm.res b/jscomp/test/sexpm.res index 24c82f8ce6..cfc5422722 100644 --- a/jscomp/test/sexpm.res +++ b/jscomp/test/sexpm.res @@ -139,7 +139,7 @@ module MakeDecode = (M: MONAD) => { /* read expression */ let rec expr = (k, t) => if t.i == t.len { - _refill(t, expr(k), _error_eof) + _refill(t, expr(k, ...), _error_eof) } else { switch _get(t) { | ' ' | '\t' | '\n' => expr(k, t) @@ -163,7 +163,7 @@ module MakeDecode = (M: MONAD) => { /* parse list */ and expr_list = (acc, k, t) => if t.i == t.len { - _refill(t, expr_list(acc, k), _error_eof) + _refill(t, expr_list(acc, k, ...), _error_eof) } else { switch _get(t) { | ' ' | '\t' | '\n' => expr_list(acc, k, t) @@ -192,7 +192,7 @@ module MakeDecode = (M: MONAD) => { /* parse atom */ and atom = (k, t) => if t.i == t.len { - _refill(t, atom(k), _return_atom(None, k)) + _refill(t, atom(k, ...), _return_atom(None, k, ...)) } else { switch _get(t) { | '\\' => _error(t, "unexpected '\\' in non-quoted string") @@ -207,7 +207,7 @@ module MakeDecode = (M: MONAD) => { /* quoted string */ and quoted = (k, t) => if t.i == t.len { - _refill(t, quoted(k), _error_eof) + _refill(t, quoted(k, ...), _error_eof) } else { switch _get(t) { | '\\' => @@ -226,7 +226,7 @@ module MakeDecode = (M: MONAD) => { /* read escaped char */ and escaped = (k, t) => if t.i == t.len { - _refill(t, escaped(k), _error_eof) + _refill(t, escaped(k, ...), _error_eof) } else { switch _get(t) { | 'n' => k('\n') @@ -242,7 +242,7 @@ module MakeDecode = (M: MONAD) => { and read2int = (i, k, t) => if t.i == t.len { - _refill(t, read2int(i, k), _error_eof) + _refill(t, read2int(i, k, ...), _error_eof) } else { switch _get(t) { | c if _is_digit(c) => read1int(10 * i + _digit2i(c), k, t) @@ -252,7 +252,7 @@ module MakeDecode = (M: MONAD) => { and read1int = (i, k, t) => if t.i == t.len { - _refill(t, read1int(i, k), _error_eof) + _refill(t, read1int(i, k, ...), _error_eof) } else { switch _get(t) { | c if _is_digit(c) => k(10 * i + _digit2i(c)) @@ -263,7 +263,7 @@ module MakeDecode = (M: MONAD) => { /* skip until end of line, then call next() */ and skip_comment = (k, t) => if t.i == t.len { - _refill(t, skip_comment(k), _error_eof) + _refill(t, skip_comment(k, ...), _error_eof) } else { switch _get(t) { | '\n' => k(None, ()) @@ -274,7 +274,7 @@ module MakeDecode = (M: MONAD) => { /* top-level expression */ let rec expr_or_end = (k, t) => if t.i == t.len { - _refill(t, expr_or_end(k), _ => M.return(#End)) + _refill(t, expr_or_end(k, ...), _ => M.return(#End)) } else { switch _get(t) { | ' ' | '\t' | '\n' => expr_or_end(k, t) diff --git a/jscomp/test/string_test.res b/jscomp/test/string_test.res index 92ddcbf3d6..de1436571f 100644 --- a/jscomp/test/string_test.res +++ b/jscomp/test/string_test.res @@ -71,7 +71,7 @@ let xsplit = (~delim, s) => { @val external string_of_char: char => string = "String.fromCharCode" -let string_of_chars = x => \"@@"(String.concat(""), List.map(string_of_char, x)) +let string_of_chars = x => \"@@"(String.concat("", ...), List.map(string_of_char, x)) Mt.from_pair_suites( __MODULE__, diff --git a/jscomp/test/test_ari.js b/jscomp/test/test_ari.js index 9d1825a3f5..f229b97fd6 100644 --- a/jscomp/test/test_ari.js +++ b/jscomp/test/test_ari.js @@ -6,10 +6,8 @@ let VV = require("VV"); let List = require("../../lib/js/list.js"); let Curry = require("../../lib/js/curry.js"); -function f(x) { - return function (param) { - return x + param | 0; - }; +function f(x, y) { + return x + y | 0; } function f1(x, y) { @@ -24,8 +22,6 @@ function f2(param) { return 3 + param | 0; } -let g = 7; - function ff(param) { return U.test_primit(3, param); } @@ -45,6 +41,8 @@ function length_aux(_len, _x) { }; } +let g = 7; + let length = List.length; let compare_lengths = List.compare_lengths; diff --git a/jscomp/test/test_ari.res b/jscomp/test/test_ari.res index cfdf3b61bd..57835f6cc8 100644 --- a/jscomp/test/test_ari.res +++ b/jscomp/test/test_ari.res @@ -1,4 +1,4 @@ -let f = x => \"+"(x) +let f = (x,y) => \"+"(x,y) /* {[ f = function (x){ function(x,y){x + y} (x) } @@ -15,12 +15,12 @@ actually will become */ let f1 = (x, y) => x + y let f3 = (g, x) => g(x) -let f2 = \"+"(3) +let f2 = \"+"(3, ...) let g = f(3, 4) @val("test_primit") @module("U") external ext: (int, int) => int = "test_primit" -let ff = ext(3) +let ff = ext(3, ...) type u = int => int @val("test_primit2") @module("VV") external ext: int => u = "test_primit2" let fff = ext(3) diff --git a/jscomp/test/test_demo.res b/jscomp/test/test_demo.res index 163e78d930..f8928f11a3 100644 --- a/jscomp/test/test_demo.res +++ b/jscomp/test/test_demo.res @@ -106,6 +106,6 @@ let g1 = (x, y) => { let u = x + y (xx, yy) => xx + yy + u } -let x = g(3, 5, 6) +let x = g(3, 5)(6) -let v = g1(3, 4, 6) +let v = g1(3, 4)(6, ...) diff --git a/jscomp/test/test_external.res b/jscomp/test/test_external.res index 0baaa3b734..cd8c1ea4be 100644 --- a/jscomp/test/test_external.res +++ b/jscomp/test/test_external.res @@ -15,4 +15,4 @@ let xx = doc() let () = alert("hehha") -let b = f("x", 3) +let b = f("x")(3) diff --git a/jscomp/test/test_for_loop.res b/jscomp/test/test_for_loop.res index 5b7e25d61d..358e0f96c0 100644 --- a/jscomp/test/test_for_loop.res +++ b/jscomp/test/test_for_loop.res @@ -14,7 +14,7 @@ let for_2 = x => let for_3 = x => { let v = ref(0) - let arr = Array.map((_, _) => (), x) + let arr = Array.map(_ => _ => (), x) for i in 0 to Array.length(x) { let j = i * 2 arr[i] = _ => v := v.contents + j @@ -25,7 +25,7 @@ let for_3 = x => { let for_4 = x => { let v = ref(0) - let arr = Array.map((_, _) => (), x) + let arr = Array.map(_ => _ => (), x) for i in 0 to Array.length(x) { let j = i * 2 let k = 2 * j @@ -37,7 +37,7 @@ let for_4 = x => { let for_5 = (x, u) => { let v = ref(0) - let arr = Array.map((_, _) => (), x) + let arr = Array.map(_ => _ => (), x) for i in 0 to Array.length(x) { let _j = i * 2 let k = 2 * u * u @@ -49,7 +49,7 @@ let for_5 = (x, u) => { let for_6 = (x, u) => { let v = ref(0) - let arr = Array.map((_, _) => (), x) + let arr = Array.map(_ => _ => (), x) let v4 = ref(0) let v5 = ref(0) incr(v4) diff --git a/jscomp/test/test_google_closure.res b/jscomp/test/test_google_closure.res index 97e50d27c1..80f8480950 100644 --- a/jscomp/test/test_google_closure.res +++ b/jscomp/test/test_google_closure.res @@ -1,6 +1,6 @@ let f = (a, b, _) => a + b -let f2 = a => f(a, 1) +let f2 = a => f(a, 1, ...) let (a, b, c) = ( string_of_int(f(1, 2, 3)), diff --git a/jscomp/test/test_list.js b/jscomp/test/test_list.js index f6b0f3d41e..2822fd6b14 100644 --- a/jscomp/test/test_list.js +++ b/jscomp/test/test_list.js @@ -585,9 +585,9 @@ function find(p, _x) { } function find_all(p) { - return function (param) { + return function (__x) { let _accu = /* [] */0; - let _x = param; + let _x = __x; while(true) { let x = _x; let accu = _accu; diff --git a/jscomp/test/test_list.res b/jscomp/test/test_list.res index acda86ce68..c4bfeb3804 100644 --- a/jscomp/test/test_list.res +++ b/jscomp/test/test_list.res @@ -286,7 +286,7 @@ let find_all = p => { find(accu, l) } } - find(list{}) + find(list{}, _) } let filter = find_all diff --git a/jscomp/test/test_string_map.res b/jscomp/test/test_string_map.res index b58fc23b95..bb2fa0566c 100644 --- a/jscomp/test/test_string_map.res +++ b/jscomp/test/test_string_map.res @@ -16,12 +16,12 @@ include ( let assertion_test = () => { let m = ref(StringMap.empty) let count = 1000000 - \"@@"(timing("building"), _ => + \"@@"(timing("building", ...), _ => for i in 0 to count { m := StringMap.add(string_of_int(i), string_of_int(i), m.contents) } ) - \"@@"(timing("querying"), _ => + \"@@"(timing("querying", ...), _ => for i in 0 to count { ignore(StringMap.find(string_of_int(i), m.contents)) } diff --git a/jscomp/test/uncurried_cast.js b/jscomp/test/uncurried_cast.js index e6fde9268f..970d0fc8b9 100644 --- a/jscomp/test/uncurried_cast.js +++ b/jscomp/test/uncurried_cast.js @@ -1,7 +1,6 @@ // Generated by ReScript, PLEASE EDIT WITH CARE 'use strict'; -let Curry = require("../../lib/js/curry.js"); let Belt_List = require("../../lib/js/belt_List.js"); let Caml_exceptions = require("../../lib/js/caml_exceptions.js"); @@ -42,16 +41,14 @@ let l = Belt_List.mapU({ return x + 1 | 0; })); -let partial_arg = { - hd: 1, - tl: { - hd: 2, - tl: /* [] */0 - } -}; - -function partial(param) { - return map(partial_arg, param); +function partial(x) { + return Belt_List.mapU({ + hd: 1, + tl: { + hd: 2, + tl: /* [] */0 + } + }, x); } let ll = partial(function (x) { @@ -64,20 +61,12 @@ function withOpts(xOpt, y, zOpt, w) { return ((x + y | 0) + z | 0) + w | 0; } -function still2Args(param, param$1) { - return withOpts(undefined, 4, param, param$1); -} - -let anInt = Curry._1(still2Args, 3)(5); - let StandardNotation = { testRaise: testRaise, l: l, partial: partial, ll: ll, - withOpts: withOpts, - still2Args: still2Args, - anInt: anInt + withOpts: withOpts }; function testRaise$1() { @@ -98,7 +87,7 @@ let l$1 = Belt_List.mapU({ return x + 1 | 0; })); -let partial_arg$1 = { +let partial_arg = { hd: 1, tl: { hd: 2, @@ -107,7 +96,7 @@ let partial_arg$1 = { }; function partial$1(param) { - return map(partial_arg$1, param); + return map(partial_arg, param); } let ll$1 = partial$1(function (x) { @@ -120,16 +109,6 @@ function withOpts$1(xOpt, y, zOpt, w) { return ((x + y | 0) + z | 0) + w | 0; } -function still2Args$1(param, param$1) { - return withOpts$1(undefined, 4, param, param$1); -} - -let partial_arg$2 = 3; - -let anInt$1 = (function (param) { - return still2Args$1(partial_arg$2, param); -})(5); - exports.Uncurried = Uncurried; exports.E = E; exports.StandardNotation = StandardNotation; @@ -138,6 +117,4 @@ exports.l = l$1; exports.partial = partial$1; exports.ll = ll$1; exports.withOpts = withOpts$1; -exports.still2Args = still2Args$1; -exports.anInt = anInt$1; /* l Not a pure module */ diff --git a/jscomp/test/uncurried_cast.res b/jscomp/test/uncurried_cast.res index 4a4684ffd7..9a5f933be8 100644 --- a/jscomp/test/uncurried_cast.res +++ b/jscomp/test/uncurried_cast.res @@ -14,13 +14,11 @@ module StandardNotation = { let testRaise = () => raise(E) let l = List.map(.list{1, 2}, (. x) => x + 1) - let partial = List.map(list{1, 2}) + let partial = x => List.map(list{1, 2}, x) let ll = partial((. x) => x + 1) let withOpts = (. ~x=3, y, ~z=4, w) => x + y + z + w type unc2 = (. ~z: int=?, int) => int - let still2Args : unc2 = withOpts(4) - let anInt = still2Args(~z=3)(. 5) } @@uncurried.swap @@ -35,5 +33,3 @@ let ll = partial(.x => x + 1) let withOpts = (~x=3, y, ~z=4, w) => x + y + z + w type unc2 = (~z: int=?, int) => int -let still2Args : unc2 = withOpts(. 4) -let anInt = still2Args(. ~z=3)(5) diff --git a/jscomp/test/uncurried_default.args.js b/jscomp/test/uncurried_default.args.js index 523750380f..6396c663d6 100644 --- a/jscomp/test/uncurried_default.args.js +++ b/jscomp/test/uncurried_default.args.js @@ -13,11 +13,7 @@ function withOpt(xOpt, y) { let testWithOpt = withOpt(undefined, 3)(undefined, 4); -let partial_arg = 10; - -let partial = Curry._1((function (param) { - return withOpt(partial_arg, param); -})(3), 4)(11); +let partial = withOpt(10, 3)(4, 11); let total = withOpt(10, 3)(4, 11); @@ -69,10 +65,10 @@ function withOpt$1(xOpt, y) { let testWithOpt$1 = withOpt$1(undefined, 3)(undefined, 4); -let partial_arg$1 = 10; +let partial_arg = 10; let partial$1 = Curry._1((function (param) { - return withOpt$1(partial_arg$1, param); + return withOpt$1(partial_arg, param); })(3), 4)(11); let total$1 = withOpt$1(10, 3)(4, 11); diff --git a/jscomp/test/uncurried_default.args.res b/jscomp/test/uncurried_default.args.res index 386e4269c9..242b4214ec 100644 --- a/jscomp/test/uncurried_default.args.res +++ b/jscomp/test/uncurried_default.args.res @@ -1,7 +1,7 @@ module StandardNotation = { let withOpt = (. ~x=1, y) => (. ~z=1, w) => x+y+z+w let testWithOpt = withOpt(. 3)(. 4) - let partial = withOpt(~x=10)(3)(~z=4)(11) + let partial = withOpt(~x=10, 3)(~z=4, 11) let total = withOpt(. ~x=10, 3)(. ~z=4, 11) let foo1 = (. ~x=3, ~y) => x+y From 0b4bcaec049658218e5686555c136dce6dc8905d Mon Sep 17 00:00:00 2001 From: Cristiano Calcagno Date: Mon, 8 Jul 2024 14:45:20 +0200 Subject: [PATCH 2/2] Tweak some tests for uncurried. --- CHANGELOG.md | 1 + jscomp/test/ari_regress_test.js | 13 ++-- jscomp/test/ari_regress_test.res | 4 +- jscomp/test/build.ninja | 3 +- jscomp/test/earger_curry_test.js | 26 +++---- jscomp/test/earger_curry_test.res | 7 +- jscomp/test/pr_regression_test.js | 119 ----------------------------- jscomp/test/pr_regression_test.res | 63 --------------- 8 files changed, 24 insertions(+), 212 deletions(-) delete mode 100644 jscomp/test/pr_regression_test.js delete mode 100644 jscomp/test/pr_regression_test.res diff --git a/CHANGELOG.md b/CHANGELOG.md index c7644a9101..19762b6f83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,6 +54,7 @@ - Convert `js.ml` files to `.res`. https://github.com/rescript-lang/rescript-compiler/pull/6835 - Remove old `.ml` tests. https://github.com/rescript-lang/rescript-compiler/pull/6847 - Make compiler libs ready for uncurried mode. https://github.com/rescript-lang/rescript-compiler/pull/6861 +- Make tests ready for uncurried mode. https://github.com/rescript-lang/rescript-compiler/pull/6862 #### :nail_care: Polish diff --git a/jscomp/test/ari_regress_test.js b/jscomp/test/ari_regress_test.js index 6e996c97f1..da79d0742c 100644 --- a/jscomp/test/ari_regress_test.js +++ b/jscomp/test/ari_regress_test.js @@ -2,7 +2,6 @@ 'use strict'; let Mt = require("./mt.js"); -let Curry = require("../../lib/js/curry.js"); let g = 7; @@ -22,10 +21,8 @@ let u = 8; let x = u + 6 | 0; -let partial_arg = g1(3, 4); - -function v(param) { - return partial_arg(6, param); +function v(__x) { + return g1(3, 4)(6, __x); } let suites_0 = [ @@ -46,7 +43,7 @@ let suites_1 = { return { TAG: "Eq", _0: 14, - _1: (Curry._1(v, 1), Curry._1(v, 1)) + _1: (v(1), v(1)) }; }) ], @@ -68,7 +65,7 @@ let suites_1 = { return { TAG: "Eq", _0: h.contents, - _1: 1 + _1: 2 }; }) ], @@ -84,4 +81,4 @@ let suites = { Mt.from_pair_suites("Ari_regress_test", suites); -/* partial_arg Not a pure module */ +/* Not a pure module */ diff --git a/jscomp/test/ari_regress_test.res b/jscomp/test/ari_regress_test.res index 053dcd0f8d..d90eec871e 100644 --- a/jscomp/test/ari_regress_test.res +++ b/jscomp/test/ari_regress_test.res @@ -15,7 +15,7 @@ let g1 = (x, y) => { } let x = gg(3, 5)(6) -let v = g1(3, 4)(6, ...) +let v = g1(3, 4)(6, _) let suites = { open Mt @@ -32,7 +32,7 @@ let suites = { ), ), ("curry3", _ => Eq(x, 14)), - (__LOC__, _ => Eq(h.contents, 1)), + (__LOC__, _ => Eq(h.contents, 2)), } } diff --git a/jscomp/test/build.ninja b/jscomp/test/build.ninja index e23a1352c0..c4ada596fc 100644 --- a/jscomp/test/build.ninja +++ b/jscomp/test/build.ninja @@ -489,7 +489,6 @@ o test/polyvar_test.cmi test/polyvar_test.cmj : cc test/polyvar_test.res | $bsc o test/ppx_apply_test.cmi test/ppx_apply_test.cmj : cc test/ppx_apply_test.res | test/mt.cmj $bsc $stdlib runtime o test/pq_test.cmi test/pq_test.cmj : cc test/pq_test.res | $bsc $stdlib runtime o test/pr6726.cmi test/pr6726.cmj : cc test/pr6726.res | $bsc $stdlib runtime -o test/pr_regression_test.cmi test/pr_regression_test.cmj : cc test/pr_regression_test.res | test/mt.cmj $bsc $stdlib runtime o test/prepend_data_ffi.cmi test/prepend_data_ffi.cmj : cc test/prepend_data_ffi.res | $bsc $stdlib runtime o test/primitive_reg_test.cmi test/primitive_reg_test.cmj : cc test/primitive_reg_test.res | $bsc $stdlib runtime o test/print_alpha_test.cmi test/print_alpha_test.cmj : cc test/print_alpha_test.res | test/mt.cmj $bsc $stdlib runtime @@ -712,4 +711,4 @@ o test/update_record_test.cmi test/update_record_test.cmj : cc test/update_recor o test/variant.cmi test/variant.cmj : cc test/variant.res | $bsc $stdlib runtime o test/variantsMatching.cmi test/variantsMatching.cmj : cc test/variantsMatching.res | $bsc $stdlib runtime o test/webpack_config.cmi test/webpack_config.cmj : cc test/webpack_config.res | $bsc $stdlib runtime -o test : phony test/406_primitive_test.cmi test/406_primitive_test.cmj test/AsInUncurriedExternals.cmi test/AsInUncurriedExternals.cmj test/Coercion.cmi test/Coercion.cmj test/DerivingAccessorsCurried.cmi test/DerivingAccessorsCurried.cmj test/DerivingAccessorsUncurried.cmi test/DerivingAccessorsUncurried.cmj test/DictInference.cmi test/DictInference.cmj test/DisambiguateOptionalFields.cmi test/DisambiguateOptionalFields.cmj test/DotDotDot.cmi test/DotDotDot.cmj test/EmptyRecord.cmi test/EmptyRecord.cmj test/FFI.cmi test/FFI.cmj test/Import.cmi test/Import.cmj test/ImportAttributes.cmi test/ImportAttributes.cmj test/RecordCoercion.cmi test/RecordCoercion.cmj test/RecordOrObject.cmi test/RecordOrObject.cmj test/SafePromises.cmi test/SafePromises.cmj test/UncurriedAlways.cmi test/UncurriedAlways.cmj test/UncurriedExternals.cmi test/UncurriedExternals.cmj test/UncurriedPervasives.cmi test/UncurriedPervasives.cmj test/UntaggedVariants.cmi test/UntaggedVariants.cmj test/VariantCoercion.cmi test/VariantCoercion.cmj test/VariantSpreads.cmi test/VariantSpreads.cmj test/a.cmi test/a.cmj test/a_filename_test.cmi test/a_filename_test.cmj test/a_list_test.cmi test/a_list_test.cmj test/a_recursive_type.cmi test/a_recursive_type.cmj test/a_scope_bug.cmi test/a_scope_bug.cmj test/a_string_test.cmi test/a_string_test.cmj test/abstract_type.cmi test/abstract_type.cmj test/adt_optimize_test.cmi test/adt_optimize_test.cmj test/alias_default_value_test.cmi test/alias_default_value_test.cmj test/alias_test.cmi test/alias_test.cmj test/and_or_tailcall_test.cmi test/and_or_tailcall_test.cmj test/argv_test.cmi test/argv_test.cmj test/ari_regress_test.cmi test/ari_regress_test.cmj test/arith_lexer.cmi test/arith_lexer.cmj test/arith_parser.cmi test/arith_parser.cmj test/arith_syntax.cmi test/arith_syntax.cmj test/arity.cmi test/arity.cmj test/arity_deopt.cmi test/arity_deopt.cmj test/arity_infer.cmi test/arity_infer.cmj test/array_data_util.cmi test/array_data_util.cmj test/array_safe_get.cmi test/array_safe_get.cmj test/array_subtle_test.cmi test/array_subtle_test.cmj test/array_test.cmi test/array_test.cmj test/as_inline_record_test.cmi test/as_inline_record_test.cmj test/ast_abstract_test.cmi test/ast_abstract_test.cmj test/ast_mapper_unused_warning_test.cmi test/ast_mapper_unused_warning_test.cmj test/async_await.cmi test/async_await.cmj test/async_ideas.cmi test/async_ideas.cmj test/async_inline.cmi test/async_inline.cmj test/async_inside_loop.cmi test/async_inside_loop.cmj test/attr_test.cmi test/attr_test.cmj test/b.cmi test/b.cmj test/bal_set_mini.cmi test/bal_set_mini.cmj test/bang_primitive.cmi test/bang_primitive.cmj test/basic_module_test.cmi test/basic_module_test.cmj test/bb.cmi test/bb.cmj test/bdd.cmi test/bdd.cmj test/belt_internal_test.cmi test/belt_internal_test.cmj test/belt_result_alias_test.cmi test/belt_result_alias_test.cmj test/bench.cmi test/bench.cmj test/big_enum.cmi test/big_enum.cmj test/big_polyvar_test.cmi test/big_polyvar_test.cmj test/bigint_test.cmi test/bigint_test.cmj test/block_alias_test.cmi test/block_alias_test.cmj test/boolean_test.cmi test/boolean_test.cmj test/bs_MapInt_test.cmi test/bs_MapInt_test.cmj test/bs_abstract_test.cmi test/bs_abstract_test.cmj test/bs_array_test.cmi test/bs_array_test.cmj test/bs_auto_uncurry.cmi test/bs_auto_uncurry.cmj test/bs_auto_uncurry_test.cmi test/bs_auto_uncurry_test.cmj test/bs_float_test.cmi test/bs_float_test.cmj test/bs_hashmap_test.cmi test/bs_hashmap_test.cmj test/bs_hashset_int_test.cmi test/bs_hashset_int_test.cmj test/bs_hashtbl_string_test.cmi test/bs_hashtbl_string_test.cmj test/bs_ignore_effect.cmi test/bs_ignore_effect.cmj test/bs_ignore_test.cmi test/bs_ignore_test.cmj test/bs_int_test.cmi test/bs_int_test.cmj test/bs_list_test.cmi test/bs_list_test.cmj test/bs_map_set_dict_test.cmi test/bs_map_set_dict_test.cmj test/bs_map_test.cmi test/bs_map_test.cmj test/bs_min_max_test.cmi test/bs_min_max_test.cmj test/bs_mutable_set_test.cmi test/bs_mutable_set_test.cmj test/bs_poly_map_test.cmi test/bs_poly_map_test.cmj test/bs_poly_mutable_map_test.cmi test/bs_poly_mutable_map_test.cmj test/bs_poly_mutable_set_test.cmi test/bs_poly_mutable_set_test.cmj test/bs_poly_set_test.cmi test/bs_poly_set_test.cmj test/bs_qualified.cmi test/bs_qualified.cmj test/bs_queue_test.cmi test/bs_queue_test.cmj test/bs_rbset_int_bench.cmi test/bs_rbset_int_bench.cmj test/bs_rest_test.cmi test/bs_rest_test.cmj test/bs_set_bench.cmi test/bs_set_bench.cmj test/bs_set_int_test.cmi test/bs_set_int_test.cmj test/bs_sort_test.cmi test/bs_sort_test.cmj test/bs_splice_partial.cmi test/bs_splice_partial.cmj test/bs_stack_test.cmi test/bs_stack_test.cmj test/bs_string_test.cmi test/bs_string_test.cmj test/bs_unwrap_test.cmi test/bs_unwrap_test.cmj test/buffer_test.cmi test/buffer_test.cmj test/bytes_split_gpr_743_test.cmi test/bytes_split_gpr_743_test.cmj test/caml_compare_bigint_test.cmi test/caml_compare_bigint_test.cmj test/caml_compare_test.cmi test/caml_compare_test.cmj test/caml_format_test.cmi test/caml_format_test.cmj test/chain_code_test.cmi test/chain_code_test.cmj test/chn_test.cmi test/chn_test.cmj test/class_type_ffi_test.cmi test/class_type_ffi_test.cmj test/coercion_module_alias_test.cmi test/coercion_module_alias_test.cmj test/compare_test.cmi test/compare_test.cmj test/complete_parmatch_test.cmi test/complete_parmatch_test.cmj test/complex_if_test.cmi test/complex_if_test.cmj test/complex_test.cmi test/complex_test.cmj test/complex_while_loop.cmi test/complex_while_loop.cmj test/condition_compilation_test.cmi test/condition_compilation_test.cmj test/config1_test.cmi test/config1_test.cmj test/console_log_test.cmi test/console_log_test.cmj test/const_block_test.cmi test/const_block_test.cmj test/const_defs.cmi test/const_defs.cmj test/const_defs_test.cmi test/const_defs_test.cmj test/const_test.cmi test/const_test.cmj test/cont_int_fold_test.cmi test/cont_int_fold_test.cmj test/cps_test.cmi test/cps_test.cmj test/cross_module_inline_test.cmi test/cross_module_inline_test.cmj test/custom_error_test.cmi test/custom_error_test.cmj test/debug_keep_test.cmi test/debug_keep_test.cmj test/debug_mode_value.cmi test/debug_mode_value.cmj test/debug_tmp.cmi test/debug_tmp.cmj test/debugger_test.cmi test/debugger_test.cmj test/default_export_test.cmi test/default_export_test.cmj test/defunctor_make_test.cmi test/defunctor_make_test.cmj test/demo_int_map.cmi test/demo_int_map.cmj test/demo_page.cmi test/demo_page.cmj test/demo_pipe.cmi test/demo_pipe.cmj test/derive_projector_test.cmi test/derive_projector_test.cmj test/digest_test.cmi test/digest_test.cmj test/directives.cmi test/directives.cmj test/div_by_zero_test.cmi test/div_by_zero_test.cmj test/dollar_escape_test.cmi test/dollar_escape_test.cmj test/earger_curry_test.cmi test/earger_curry_test.cmj test/effect.cmi test/effect.cmj test/epsilon_test.cmi test/epsilon_test.cmj test/equal_box_test.cmi test/equal_box_test.cmj test/equal_exception_test.cmi test/equal_exception_test.cmj test/equal_test.cmi test/equal_test.cmj test/es6_export.cmi test/es6_export.cmj test/es6_import.cmi test/es6_import.cmj test/es6_module_test.cmi test/es6_module_test.cmj test/escape_esmodule.cmi test/escape_esmodule.cmj test/esmodule_ref.cmi test/esmodule_ref.cmj test/event_ffi.cmi test/event_ffi.cmj test/exception_alias.cmi test/exception_alias.cmj test/exception_raise_test.cmi test/exception_raise_test.cmj test/exception_rebound_err_test.cmi test/exception_rebound_err_test.cmj test/exception_value_test.cmi test/exception_value_test.cmj test/exotic_labels_test.cmi test/exotic_labels_test.cmj test/exponentiation_precedence_test.cmi test/exponentiation_precedence_test.cmj test/export_keyword.cmi test/export_keyword.cmj test/ext_array_test.cmi test/ext_array_test.cmj test/ext_bytes_test.cmi test/ext_bytes_test.cmj test/ext_filename_test.cmi test/ext_filename_test.cmj test/ext_list_test.cmi test/ext_list_test.cmj test/ext_pervasives_test.cmi test/ext_pervasives_test.cmj test/ext_string_test.cmi test/ext_string_test.cmj test/ext_sys_test.cmi test/ext_sys_test.cmj test/extensible_variant_test.cmi test/extensible_variant_test.cmj test/external_polyfill_test.cmi test/external_polyfill_test.cmj test/external_ppx.cmi test/external_ppx.cmj test/external_ppx2.cmi test/external_ppx2.cmj test/fail_comp.cmi test/fail_comp.cmj test/ffi_arity_test.cmi test/ffi_arity_test.cmj test/ffi_array_test.cmi test/ffi_array_test.cmj test/ffi_js_test.cmi test/ffi_js_test.cmj test/ffi_splice_test.cmi test/ffi_splice_test.cmj test/ffi_test.cmi test/ffi_test.cmj test/fib.cmi test/fib.cmj test/flattern_order_test.cmi test/flattern_order_test.cmj test/flexible_array_test.cmi test/flexible_array_test.cmj test/float_array.cmi test/float_array.cmj test/float_of_bits_test.cmi test/float_of_bits_test.cmj test/float_record.cmi test/float_record.cmj test/float_test.cmi test/float_test.cmj test/floatarray_test.cmi test/floatarray_test.cmj test/for_loop_test.cmi test/for_loop_test.cmj test/for_side_effect_test.cmi test/for_side_effect_test.cmj test/format_regression.cmi test/format_regression.cmj test/format_test.cmi test/format_test.cmj test/fun_pattern_match.cmi test/fun_pattern_match.cmj test/function_directives.cmi test/function_directives.cmj test/function_directives_no_inline.cmi test/function_directives_no_inline.cmj test/functor_app_test.cmi test/functor_app_test.cmj test/functor_def.cmi test/functor_def.cmj test/functor_ffi.cmi test/functor_ffi.cmj test/functor_inst.cmi test/functor_inst.cmj test/functors.cmi test/functors.cmj test/gbk.cmi test/gbk.cmj test/genlex_test.cmi test/genlex_test.cmj test/gentTypeReTest.cmi test/gentTypeReTest.cmj test/global_exception_regression_test.cmi test/global_exception_regression_test.cmj test/global_mangles.cmi test/global_mangles.cmj test/global_module_alias_test.cmi test/global_module_alias_test.cmj test/google_closure_test.cmi test/google_closure_test.cmj test/gpr496_test.cmi test/gpr496_test.cmj test/gpr_1072.cmi test/gpr_1072.cmj test/gpr_1072_reg.cmi test/gpr_1072_reg.cmj test/gpr_1150.cmi test/gpr_1150.cmj test/gpr_1154_test.cmi test/gpr_1154_test.cmj test/gpr_1170.cmi test/gpr_1170.cmj test/gpr_1240_missing_unbox.cmi test/gpr_1240_missing_unbox.cmj test/gpr_1245_test.cmi test/gpr_1245_test.cmj test/gpr_1268.cmi test/gpr_1268.cmj test/gpr_1409_test.cmi test/gpr_1409_test.cmj test/gpr_1423_app_test.cmi test/gpr_1423_app_test.cmj test/gpr_1423_nav.cmi test/gpr_1423_nav.cmj test/gpr_1438.cmi test/gpr_1438.cmj test/gpr_1481.cmi test/gpr_1481.cmj test/gpr_1484.cmi test/gpr_1484.cmj test/gpr_1503_test.cmi test/gpr_1503_test.cmj test/gpr_1539_test.cmi test/gpr_1539_test.cmj test/gpr_1658_test.cmi test/gpr_1658_test.cmj test/gpr_1667_test.cmi test/gpr_1667_test.cmj test/gpr_1692_test.cmi test/gpr_1692_test.cmj test/gpr_1698_test.cmi test/gpr_1698_test.cmj test/gpr_1701_test.cmi test/gpr_1701_test.cmj test/gpr_1716_test.cmi test/gpr_1716_test.cmj test/gpr_1717_test.cmi test/gpr_1717_test.cmj test/gpr_1728_test.cmi test/gpr_1728_test.cmj test/gpr_1749_test.cmi test/gpr_1749_test.cmj test/gpr_1759_test.cmi test/gpr_1759_test.cmj test/gpr_1760_test.cmi test/gpr_1760_test.cmj test/gpr_1762_test.cmi test/gpr_1762_test.cmj test/gpr_1817_test.cmi test/gpr_1817_test.cmj test/gpr_1822_test.cmi test/gpr_1822_test.cmj test/gpr_1891_test.cmi test/gpr_1891_test.cmj test/gpr_1943_test.cmi test/gpr_1943_test.cmj test/gpr_1946_test.cmi test/gpr_1946_test.cmj test/gpr_2316_test.cmi test/gpr_2316_test.cmj test/gpr_2352_test.cmi test/gpr_2352_test.cmj test/gpr_2413_test.cmi test/gpr_2413_test.cmj test/gpr_2474.cmi test/gpr_2474.cmj test/gpr_2487.cmi test/gpr_2487.cmj test/gpr_2503_test.cmi test/gpr_2503_test.cmj test/gpr_2608_test.cmi test/gpr_2608_test.cmj test/gpr_2614_test.cmi test/gpr_2614_test.cmj test/gpr_2633_test.cmi test/gpr_2633_test.cmj test/gpr_2642_test.cmi test/gpr_2642_test.cmj test/gpr_2682_test.cmi test/gpr_2682_test.cmj test/gpr_2700_test.cmi test/gpr_2700_test.cmj test/gpr_2731_test.cmi test/gpr_2731_test.cmj test/gpr_2789_test.cmi test/gpr_2789_test.cmj test/gpr_2931_test.cmi test/gpr_2931_test.cmj test/gpr_3142_test.cmi test/gpr_3142_test.cmj test/gpr_3154_test.cmi test/gpr_3154_test.cmj test/gpr_3209_test.cmi test/gpr_3209_test.cmj test/gpr_3492_test.cmi test/gpr_3492_test.cmj test/gpr_3519_jsx_test.cmi test/gpr_3519_jsx_test.cmj test/gpr_3519_test.cmi test/gpr_3519_test.cmj test/gpr_3536_test.cmi test/gpr_3536_test.cmj test/gpr_3546_test.cmi test/gpr_3546_test.cmj test/gpr_3548_test.cmi test/gpr_3548_test.cmj test/gpr_3549_test.cmi test/gpr_3549_test.cmj test/gpr_3566_drive_test.cmi test/gpr_3566_drive_test.cmj test/gpr_3566_test.cmi test/gpr_3566_test.cmj test/gpr_3595_test.cmi test/gpr_3595_test.cmj test/gpr_3609_test.cmi test/gpr_3609_test.cmj test/gpr_3697_test.cmi test/gpr_3697_test.cmj test/gpr_373_test.cmi test/gpr_373_test.cmj test/gpr_3770_test.cmi test/gpr_3770_test.cmj test/gpr_3852_alias.cmi test/gpr_3852_alias.cmj test/gpr_3852_alias_reify.cmi test/gpr_3852_alias_reify.cmj test/gpr_3852_effect.cmi test/gpr_3852_effect.cmj test/gpr_3865.cmi test/gpr_3865.cmj test/gpr_3865_bar.cmi test/gpr_3865_bar.cmj test/gpr_3865_foo.cmi test/gpr_3865_foo.cmj test/gpr_3875_test.cmi test/gpr_3875_test.cmj test/gpr_3877_test.cmi test/gpr_3877_test.cmj test/gpr_3895_test.cmi test/gpr_3895_test.cmj test/gpr_3897_test.cmi test/gpr_3897_test.cmj test/gpr_3931_test.cmi test/gpr_3931_test.cmj test/gpr_3980_test.cmi test/gpr_3980_test.cmj test/gpr_4025_test.cmi test/gpr_4025_test.cmj test/gpr_405_test.cmi test/gpr_405_test.cmj test/gpr_4069_test.cmi test/gpr_4069_test.cmj test/gpr_4265_test.cmi test/gpr_4265_test.cmj test/gpr_4274_test.cmi test/gpr_4274_test.cmj test/gpr_4280_test.cmi test/gpr_4280_test.cmj test/gpr_4407_test.cmi test/gpr_4407_test.cmj test/gpr_441.cmi test/gpr_441.cmj test/gpr_4442_test.cmi test/gpr_4442_test.cmj test/gpr_4491_test.cmi test/gpr_4491_test.cmj test/gpr_4494_test.cmi test/gpr_4494_test.cmj test/gpr_4519_test.cmi test/gpr_4519_test.cmj test/gpr_459_test.cmi test/gpr_459_test.cmj test/gpr_4632.cmi test/gpr_4632.cmj test/gpr_4639_test.cmi test/gpr_4639_test.cmj test/gpr_4900_test.cmi test/gpr_4900_test.cmj test/gpr_4924_test.cmi test/gpr_4924_test.cmj test/gpr_4931.cmi test/gpr_4931.cmj test/gpr_4931_allow.cmi test/gpr_4931_allow.cmj test/gpr_5071_test.cmi test/gpr_5071_test.cmj test/gpr_5169_test.cmi test/gpr_5169_test.cmj test/gpr_5218_test.cmi test/gpr_5218_test.cmj test/gpr_5280_optimize_test.cmi test/gpr_5280_optimize_test.cmj test/gpr_5557.cmi test/gpr_5557.cmj test/gpr_5753.cmi test/gpr_5753.cmj test/gpr_658.cmi test/gpr_658.cmj test/gpr_858_test.cmi test/gpr_858_test.cmj test/gpr_858_unit2_test.cmi test/gpr_858_unit2_test.cmj test/gpr_904_test.cmi test/gpr_904_test.cmj test/gpr_974_test.cmi test/gpr_974_test.cmj test/gpr_977_test.cmi test/gpr_977_test.cmj test/gpr_return_type_unused_attribute.cmi test/gpr_return_type_unused_attribute.cmj test/gray_code_test.cmi test/gray_code_test.cmj test/guide_for_ext.cmi test/guide_for_ext.cmj test/hash_collision_test.cmi test/hash_collision_test.cmj test/hash_sugar_desugar.cmi test/hash_sugar_desugar.cmj test/hash_test.cmi test/hash_test.cmj test/hashtbl_test.cmi test/hashtbl_test.cmj test/hello.foo.cmi test/hello.foo.cmj test/hello_res.cmi test/hello_res.cmj test/ignore_test.cmi test/ignore_test.cmj test/imm_map_bench.cmi test/imm_map_bench.cmj test/import2.cmi test/import2.cmj test/import_external.cmi test/import_external.cmj test/import_side_effect.cmi test/import_side_effect.cmj test/import_side_effect_free.cmi test/import_side_effect_free.cmj test/include_side_effect.cmi test/include_side_effect.cmj test/include_side_effect_free.cmi test/include_side_effect_free.cmj test/incomplete_toplevel_test.cmi test/incomplete_toplevel_test.cmj test/infer_type_test.cmi test/infer_type_test.cmj test/inline_condition_with_pattern_matching.cmi test/inline_condition_with_pattern_matching.cmj test/inline_const.cmi test/inline_const.cmj test/inline_const_test.cmi test/inline_const_test.cmj test/inline_edge_cases.cmi test/inline_edge_cases.cmj test/inline_map2_test.cmi test/inline_map2_test.cmj test/inline_map_demo.cmi test/inline_map_demo.cmj test/inline_map_test.cmi test/inline_map_test.cmj test/inline_record_test.cmi test/inline_record_test.cmj test/inline_regression_test.cmi test/inline_regression_test.cmj test/inline_string_test.cmi test/inline_string_test.cmj test/inner_call.cmi test/inner_call.cmj test/inner_define.cmi test/inner_define.cmj test/inner_unused.cmi test/inner_unused.cmj test/installation_test.cmi test/installation_test.cmj test/int32_test.cmi test/int32_test.cmj test/int64_mul_div_test.cmi test/int64_mul_div_test.cmj test/int64_string_bench.cmi test/int64_string_bench.cmj test/int64_string_test.cmi test/int64_string_test.cmj test/int64_test.cmi test/int64_test.cmj test/int_hashtbl_test.cmi test/int_hashtbl_test.cmj test/int_map.cmi test/int_map.cmj test/int_overflow_test.cmi test/int_overflow_test.cmj test/int_poly_var.cmi test/int_poly_var.cmj test/int_switch_test.cmi test/int_switch_test.cmj test/internal_unused_test.cmi test/internal_unused_test.cmj test/io_test.cmi test/io_test.cmj test/js_array_test.cmi test/js_array_test.cmj test/js_bool_test.cmi test/js_bool_test.cmj test/js_cast_test.cmi test/js_cast_test.cmj test/js_date_test.cmi test/js_date_test.cmj test/js_dict_test.cmi test/js_dict_test.cmj test/js_exception_catch_test.cmi test/js_exception_catch_test.cmj test/js_float_test.cmi test/js_float_test.cmj test/js_global_test.cmi test/js_global_test.cmj test/js_int_test.cmi test/js_int_test.cmj test/js_json_test.cmi test/js_json_test.cmj test/js_list_test.cmi test/js_list_test.cmj test/js_math_test.cmi test/js_math_test.cmj test/js_null_test.cmi test/js_null_test.cmj test/js_null_undefined_test.cmi test/js_null_undefined_test.cmj test/js_nullable_test.cmi test/js_nullable_test.cmj test/js_obj_test.cmi test/js_obj_test.cmj test/js_option_test.cmi test/js_option_test.cmj test/js_re_test.cmi test/js_re_test.cmj test/js_string_test.cmi test/js_string_test.cmj test/js_undefined_test.cmi test/js_undefined_test.cmj test/js_val.cmi test/js_val.cmj test/jsoo_400_test.cmi test/jsoo_400_test.cmj test/jsoo_485_test.cmi test/jsoo_485_test.cmj test/jsxv4_newtype.cmi test/jsxv4_newtype.cmj test/key_word_property.cmi test/key_word_property.cmj test/key_word_property2.cmi test/key_word_property2.cmj test/key_word_property_plus_test.cmi test/key_word_property_plus_test.cmj test/label_uncurry.cmi test/label_uncurry.cmj test/large_integer_pat.cmi test/large_integer_pat.cmj test/large_record_duplication_test.cmi test/large_record_duplication_test.cmj test/largest_int_flow.cmi test/largest_int_flow.cmj test/lazy_demo.cmi test/lazy_demo.cmj test/lazy_test.cmi test/lazy_test.cmj test/lib_js_test.cmi test/lib_js_test.cmj test/libarg_test.cmi test/libarg_test.cmj test/libqueue_test.cmi test/libqueue_test.cmj test/limits_test.cmi test/limits_test.cmj test/list_stack.cmi test/list_stack.cmj test/list_test.cmi test/list_test.cmj test/local_exception_test.cmi test/local_exception_test.cmj test/loop_regression_test.cmi test/loop_regression_test.cmj test/loop_suites_test.cmi test/loop_suites_test.cmj test/map_find_test.cmi test/map_find_test.cmj test/map_test.cmi test/map_test.cmj test/mario_game.cmi test/mario_game.cmj test/marshal.cmi test/marshal.cmj test/meth_annotation.cmi test/meth_annotation.cmj test/method_name_test.cmi test/method_name_test.cmj test/method_string_name.cmi test/method_string_name.cmj test/minimal_test.cmi test/minimal_test.cmj test/miss_colon_test.cmi test/miss_colon_test.cmj test/mock_mt.cmi test/mock_mt.cmj test/module_alias_test.cmi test/module_alias_test.cmj test/module_as_class_ffi.cmi test/module_as_class_ffi.cmj test/module_as_function.cmi test/module_as_function.cmj test/module_missing_conversion.cmi test/module_missing_conversion.cmj test/module_parameter_test.cmi test/module_parameter_test.cmj test/module_splice_test.cmi test/module_splice_test.cmj test/more_poly_variant_test.cmi test/more_poly_variant_test.cmj test/more_uncurry.cmi test/more_uncurry.cmj test/mpr_6033_test.cmi test/mpr_6033_test.cmj test/mt.cmi test/mt.cmj test/mt_global.cmi test/mt_global.cmj test/mutable_obj_test.cmi test/mutable_obj_test.cmj test/mutable_uncurry_test.cmi test/mutable_uncurry_test.cmj test/mutual_non_recursive_type.cmi test/mutual_non_recursive_type.cmj test/name_mangle_test.cmi test/name_mangle_test.cmj test/nested_include.cmi test/nested_include.cmj test/nested_module_alias.cmi test/nested_module_alias.cmj test/nested_obj_literal.cmi test/nested_obj_literal.cmj test/nested_obj_test.cmi test/nested_obj_test.cmj test/nested_pattern_match_test.cmi test/nested_pattern_match_test.cmj test/noassert.cmi test/noassert.cmj test/node_path_test.cmi test/node_path_test.cmj test/null_list_test.cmi test/null_list_test.cmj test/number_lexer.cmi test/number_lexer.cmj test/obj_literal_ppx.cmi test/obj_literal_ppx.cmj test/obj_literal_ppx_test.cmi test/obj_literal_ppx_test.cmj test/obj_magic_test.cmi test/obj_magic_test.cmj test/obj_type_test.cmi test/obj_type_test.cmj test/ocaml_re_test.cmi test/ocaml_re_test.cmj test/of_string_test.cmi test/of_string_test.cmj test/offset.cmi test/offset.cmj test/omit_trailing_undefined_in_external_calls.cmi test/omit_trailing_undefined_in_external_calls.cmj test/option_encoding_test.cmi test/option_encoding_test.cmj test/option_record_none_test.cmi test/option_record_none_test.cmj test/option_repr_test.cmi test/option_repr_test.cmj test/optional_ffi_test.cmi test/optional_ffi_test.cmj test/optional_regression_test.cmi test/optional_regression_test.cmj test/pipe_send_readline.cmi test/pipe_send_readline.cmj test/pipe_syntax.cmi test/pipe_syntax.cmj test/poly_empty_array.cmi test/poly_empty_array.cmj test/poly_variant_test.cmi test/poly_variant_test.cmj test/polymorphic_raw_test.cmi test/polymorphic_raw_test.cmj test/polymorphism_test.cmi test/polymorphism_test.cmj test/polyvar_convert.cmi test/polyvar_convert.cmj test/polyvar_test.cmi test/polyvar_test.cmj test/ppx_apply_test.cmi test/ppx_apply_test.cmj test/pq_test.cmi test/pq_test.cmj test/pr6726.cmi test/pr6726.cmj test/pr_regression_test.cmi test/pr_regression_test.cmj test/prepend_data_ffi.cmi test/prepend_data_ffi.cmj test/primitive_reg_test.cmi test/primitive_reg_test.cmj test/print_alpha_test.cmi test/print_alpha_test.cmj test/queue_402.cmi test/queue_402.cmj test/queue_test.cmi test/queue_test.cmj test/random_test.cmi test/random_test.cmj test/raw_hash_tbl_bench.cmi test/raw_hash_tbl_bench.cmj test/raw_output_test.cmi test/raw_output_test.cmj test/raw_pure_test.cmi test/raw_pure_test.cmj test/rbset.cmi test/rbset.cmj test/react.cmi test/react.cmj test/reactDOMRe.cmi test/reactDOMRe.cmj test/reactDOMServerRe.cmi test/reactDOMServerRe.cmj test/reactEvent.cmi test/reactEvent.cmj test/reactTestUtils.cmi test/reactTestUtils.cmj test/reasonReact.cmi test/reasonReact.cmj test/reasonReactCompat.cmi test/reasonReactCompat.cmj test/reasonReactOptimizedCreateClass.cmi test/reasonReactOptimizedCreateClass.cmj test/reasonReactRouter.cmi test/reasonReactRouter.cmj test/rebind_module.cmi test/rebind_module.cmj test/rebind_module_test.cmi test/rebind_module_test.cmj test/rec_array_test.cmi test/rec_array_test.cmj test/rec_fun_test.cmi test/rec_fun_test.cmj test/rec_module_opt.cmi test/rec_module_opt.cmj test/rec_module_test.cmi test/rec_module_test.cmj test/recmodule.cmi test/recmodule.cmj test/record_debug_test.cmi test/record_debug_test.cmj test/record_extension_test.cmi test/record_extension_test.cmj test/record_name_test.cmi test/record_name_test.cmj test/record_regression.cmi test/record_regression.cmj test/record_type_spread.cmi test/record_type_spread.cmj test/record_with_test.cmi test/record_with_test.cmj test/recursive_module.cmi test/recursive_module.cmj test/recursive_module_test.cmi test/recursive_module_test.cmj test/recursive_react_component.cmi test/recursive_react_component.cmj test/recursive_records_test.cmi test/recursive_records_test.cmj test/recursive_unbound_module_test.cmi test/recursive_unbound_module_test.cmj test/regression_print.cmi test/regression_print.cmj test/relative_path.cmi test/relative_path.cmj test/res_debug.cmi test/res_debug.cmj test/return_check.cmi test/return_check.cmj test/runtime_encoding_test.cmi test/runtime_encoding_test.cmj test/set_annotation.cmi test/set_annotation.cmj test/set_gen.cmi test/set_gen.cmj test/sexp.cmi test/sexp.cmj test/sexpm.cmi test/sexpm.cmj test/sexpm_test.cmi test/sexpm_test.cmj test/side_effect.cmi test/side_effect.cmj test/side_effect2.cmi test/side_effect2.cmj test/side_effect_free.cmi test/side_effect_free.cmj test/simplify_lambda_632o.cmi test/simplify_lambda_632o.cmj test/single_module_alias.cmi test/single_module_alias.cmj test/singular_unit_test.cmi test/singular_unit_test.cmj test/small_inline_test.cmi test/small_inline_test.cmj test/splice_test.cmi test/splice_test.cmj test/stack_comp_test.cmi test/stack_comp_test.cmj test/stack_test.cmi test/stack_test.cmj test/stream_parser_test.cmi test/stream_parser_test.cmj test/string_bound_get_test.cmi test/string_bound_get_test.cmj test/string_constant_compare.cmi test/string_constant_compare.cmj test/string_get_set_test.cmi test/string_get_set_test.cmj test/string_runtime_test.cmi test/string_runtime_test.cmj test/string_set.cmi test/string_set.cmj test/string_set_test.cmi test/string_set_test.cmj test/string_test.cmi test/string_test.cmj test/string_unicode_test.cmi test/string_unicode_test.cmj test/stringmatch_test.cmi test/stringmatch_test.cmj test/submodule.cmi test/submodule.cmj test/submodule_call.cmi test/submodule_call.cmj test/switch_case_test.cmi test/switch_case_test.cmj test/switch_string.cmi test/switch_string.cmj test/tagged_template_test.cmi test/tagged_template_test.cmj test/tailcall_inline_test.cmi test/tailcall_inline_test.cmj test/template.cmi test/template.cmj test/test.cmi test/test.cmj test/test2.cmi test/test2.cmj test/test_alias.cmi test/test_alias.cmj test/test_ari.cmi test/test_ari.cmj test/test_array.cmi test/test_array.cmj test/test_array_append.cmi test/test_array_append.cmj test/test_array_primitive.cmi test/test_array_primitive.cmj test/test_bool_equal.cmi test/test_bool_equal.cmj test/test_bs_this.cmi test/test_bs_this.cmj test/test_bug.cmi test/test_bug.cmj test/test_bytes.cmi test/test_bytes.cmj test/test_case_opt_collision.cmi test/test_case_opt_collision.cmj test/test_case_set.cmi test/test_case_set.cmj test/test_char.cmi test/test_char.cmj test/test_closure.cmi test/test_closure.cmj test/test_common.cmi test/test_common.cmj test/test_const_elim.cmi test/test_const_elim.cmj test/test_const_propogate.cmi test/test_const_propogate.cmj test/test_cpp.cmi test/test_cpp.cmj test/test_cps.cmi test/test_cps.cmj test/test_demo.cmi test/test_demo.cmj test/test_dup_param.cmi test/test_dup_param.cmj test/test_eq.cmi test/test_eq.cmj test/test_exception.cmi test/test_exception.cmj test/test_exception_escape.cmi test/test_exception_escape.cmj test/test_export2.cmi test/test_export2.cmj test/test_external.cmi test/test_external.cmj test/test_external_unit.cmi test/test_external_unit.cmj test/test_ffi.cmi test/test_ffi.cmj test/test_fib.cmi test/test_fib.cmj test/test_filename.cmi test/test_filename.cmj test/test_for_loop.cmi test/test_for_loop.cmj test/test_for_map.cmi test/test_for_map.cmj test/test_for_map2.cmi test/test_for_map2.cmj test/test_format.cmi test/test_format.cmj test/test_formatter.cmi test/test_formatter.cmj test/test_functor_dead_code.cmi test/test_functor_dead_code.cmj test/test_generative_module.cmi test/test_generative_module.cmj test/test_global_print.cmi test/test_global_print.cmj test/test_google_closure.cmi test/test_google_closure.cmj test/test_include.cmi test/test_include.cmj test/test_incomplete.cmi test/test_incomplete.cmj test/test_incr_ref.cmi test/test_incr_ref.cmj test/test_int_map_find.cmi test/test_int_map_find.cmj test/test_internalOO.cmi test/test_internalOO.cmj test/test_is_js.cmi test/test_is_js.cmj test/test_js_ffi.cmi test/test_js_ffi.cmj test/test_let.cmi test/test_let.cmj test/test_list.cmi test/test_list.cmj test/test_literal.cmi test/test_literal.cmj test/test_literals.cmi test/test_literals.cmj test/test_match_exception.cmi test/test_match_exception.cmj test/test_mutliple.cmi test/test_mutliple.cmj test/test_nat64.cmi test/test_nat64.cmj test/test_nested_let.cmi test/test_nested_let.cmj test/test_nested_print.cmi test/test_nested_print.cmj test/test_non_export.cmi test/test_non_export.cmj test/test_nullary.cmi test/test_nullary.cmj test/test_obj.cmi test/test_obj.cmj test/test_order.cmi test/test_order.cmj test/test_order_tailcall.cmi test/test_order_tailcall.cmj test/test_other_exn.cmi test/test_other_exn.cmj test/test_pack.cmi test/test_pack.cmj test/test_per.cmi test/test_per.cmj test/test_pervasive.cmi test/test_pervasive.cmj test/test_pervasives2.cmi test/test_pervasives2.cmj test/test_pervasives3.cmi test/test_pervasives3.cmj test/test_primitive.cmi test/test_primitive.cmj test/test_ramification.cmi test/test_ramification.cmj test/test_react.cmi test/test_react.cmj test/test_react_case.cmi test/test_react_case.cmj test/test_regex.cmi test/test_regex.cmj test/test_runtime_encoding.cmi test/test_runtime_encoding.cmj test/test_scope.cmi test/test_scope.cmj test/test_seq.cmi test/test_seq.cmj test/test_set.cmi test/test_set.cmj test/test_side_effect_functor.cmi test/test_side_effect_functor.cmj test/test_simple_include.cmi test/test_simple_include.cmj test/test_simple_pattern_match.cmi test/test_simple_pattern_match.cmj test/test_simple_ref.cmi test/test_simple_ref.cmj test/test_simple_tailcall.cmi test/test_simple_tailcall.cmj test/test_small.cmi test/test_small.cmj test/test_sprintf.cmi test/test_sprintf.cmj test/test_stack.cmi test/test_stack.cmj test/test_static_catch_ident.cmi test/test_static_catch_ident.cmj test/test_string.cmi test/test_string.cmj test/test_string_case.cmi test/test_string_case.cmj test/test_string_const.cmi test/test_string_const.cmj test/test_string_map.cmi test/test_string_map.cmj test/test_string_switch.cmi test/test_string_switch.cmj test/test_switch.cmi test/test_switch.cmj test/test_trywith.cmi test/test_trywith.cmj test/test_tuple.cmi test/test_tuple.cmj test/test_tuple_destructring.cmi test/test_tuple_destructring.cmj test/test_type_based_arity.cmi test/test_type_based_arity.cmj test/test_u.cmi test/test_u.cmj test/test_unknown.cmi test/test_unknown.cmj test/test_unsafe_cmp.cmi test/test_unsafe_cmp.cmj test/test_unsafe_obj_ffi.cmi test/test_unsafe_obj_ffi.cmj test/test_unsafe_obj_ffi_ppx.cmi test/test_unsafe_obj_ffi_ppx.cmj test/test_unsupported_primitive.cmi test/test_unsupported_primitive.cmj test/test_while_closure.cmi test/test_while_closure.cmj test/test_while_side_effect.cmi test/test_while_side_effect.cmj test/test_zero_nullable.cmi test/test_zero_nullable.cmj test/then_mangle_test.cmi test/then_mangle_test.cmj test/ticker.cmi test/ticker.cmj test/to_string_test.cmi test/to_string_test.cmj test/topsort_test.cmi test/topsort_test.cmj test/tramp_fib.cmi test/tramp_fib.cmj test/tuple_alloc.cmi test/tuple_alloc.cmj test/type-coercion-free-vars.cmi test/type-coercion-free-vars.cmj test/type_disambiguate.cmi test/type_disambiguate.cmj test/typeof_test.cmi test/typeof_test.cmj test/unboxed_attribute.cmi test/unboxed_attribute.cmj test/unboxed_attribute_test.cmi test/unboxed_attribute_test.cmj test/unboxed_crash.cmi test/unboxed_crash.cmj test/unboxed_use_case.cmi test/unboxed_use_case.cmj test/uncurried_cast.cmi test/uncurried_cast.cmj test/uncurried_default.args.cmi test/uncurried_default.args.cmj test/uncurried_pipe.cmi test/uncurried_pipe.cmj test/uncurry_external_test.cmi test/uncurry_external_test.cmj test/uncurry_glob_test.cmi test/uncurry_glob_test.cmj test/uncurry_test.cmi test/uncurry_test.cmj test/undef_regression2_test.cmi test/undef_regression2_test.cmj test/undef_regression_test.cmi test/undef_regression_test.cmj test/undefine_conditional.cmi test/undefine_conditional.cmj test/unicode_type_error.cmi test/unicode_type_error.cmj test/unit_undefined_test.cmi test/unit_undefined_test.cmj test/unitest_string.cmi test/unitest_string.cmj test/unsafe_full_apply_primitive.cmi test/unsafe_full_apply_primitive.cmj test/unsafe_ppx_test.cmi test/unsafe_ppx_test.cmj test/update_record_test.cmi test/update_record_test.cmj test/variant.cmi test/variant.cmj test/variantsMatching.cmi test/variantsMatching.cmj test/webpack_config.cmi test/webpack_config.cmj +o test : phony test/406_primitive_test.cmi test/406_primitive_test.cmj test/AsInUncurriedExternals.cmi test/AsInUncurriedExternals.cmj test/Coercion.cmi test/Coercion.cmj test/DerivingAccessorsCurried.cmi test/DerivingAccessorsCurried.cmj test/DerivingAccessorsUncurried.cmi test/DerivingAccessorsUncurried.cmj test/DictInference.cmi test/DictInference.cmj test/DisambiguateOptionalFields.cmi test/DisambiguateOptionalFields.cmj test/DotDotDot.cmi test/DotDotDot.cmj test/EmptyRecord.cmi test/EmptyRecord.cmj test/FFI.cmi test/FFI.cmj test/Import.cmi test/Import.cmj test/ImportAttributes.cmi test/ImportAttributes.cmj test/RecordCoercion.cmi test/RecordCoercion.cmj test/RecordOrObject.cmi test/RecordOrObject.cmj test/SafePromises.cmi test/SafePromises.cmj test/UncurriedAlways.cmi test/UncurriedAlways.cmj test/UncurriedExternals.cmi test/UncurriedExternals.cmj test/UncurriedPervasives.cmi test/UncurriedPervasives.cmj test/UntaggedVariants.cmi test/UntaggedVariants.cmj test/VariantCoercion.cmi test/VariantCoercion.cmj test/VariantSpreads.cmi test/VariantSpreads.cmj test/a.cmi test/a.cmj test/a_filename_test.cmi test/a_filename_test.cmj test/a_list_test.cmi test/a_list_test.cmj test/a_recursive_type.cmi test/a_recursive_type.cmj test/a_scope_bug.cmi test/a_scope_bug.cmj test/a_string_test.cmi test/a_string_test.cmj test/abstract_type.cmi test/abstract_type.cmj test/adt_optimize_test.cmi test/adt_optimize_test.cmj test/alias_default_value_test.cmi test/alias_default_value_test.cmj test/alias_test.cmi test/alias_test.cmj test/and_or_tailcall_test.cmi test/and_or_tailcall_test.cmj test/argv_test.cmi test/argv_test.cmj test/ari_regress_test.cmi test/ari_regress_test.cmj test/arith_lexer.cmi test/arith_lexer.cmj test/arith_parser.cmi test/arith_parser.cmj test/arith_syntax.cmi test/arith_syntax.cmj test/arity.cmi test/arity.cmj test/arity_deopt.cmi test/arity_deopt.cmj test/arity_infer.cmi test/arity_infer.cmj test/array_data_util.cmi test/array_data_util.cmj test/array_safe_get.cmi test/array_safe_get.cmj test/array_subtle_test.cmi test/array_subtle_test.cmj test/array_test.cmi test/array_test.cmj test/as_inline_record_test.cmi test/as_inline_record_test.cmj test/ast_abstract_test.cmi test/ast_abstract_test.cmj test/ast_mapper_unused_warning_test.cmi test/ast_mapper_unused_warning_test.cmj test/async_await.cmi test/async_await.cmj test/async_ideas.cmi test/async_ideas.cmj test/async_inline.cmi test/async_inline.cmj test/async_inside_loop.cmi test/async_inside_loop.cmj test/attr_test.cmi test/attr_test.cmj test/b.cmi test/b.cmj test/bal_set_mini.cmi test/bal_set_mini.cmj test/bang_primitive.cmi test/bang_primitive.cmj test/basic_module_test.cmi test/basic_module_test.cmj test/bb.cmi test/bb.cmj test/bdd.cmi test/bdd.cmj test/belt_internal_test.cmi test/belt_internal_test.cmj test/belt_result_alias_test.cmi test/belt_result_alias_test.cmj test/bench.cmi test/bench.cmj test/big_enum.cmi test/big_enum.cmj test/big_polyvar_test.cmi test/big_polyvar_test.cmj test/bigint_test.cmi test/bigint_test.cmj test/block_alias_test.cmi test/block_alias_test.cmj test/boolean_test.cmi test/boolean_test.cmj test/bs_MapInt_test.cmi test/bs_MapInt_test.cmj test/bs_abstract_test.cmi test/bs_abstract_test.cmj test/bs_array_test.cmi test/bs_array_test.cmj test/bs_auto_uncurry.cmi test/bs_auto_uncurry.cmj test/bs_auto_uncurry_test.cmi test/bs_auto_uncurry_test.cmj test/bs_float_test.cmi test/bs_float_test.cmj test/bs_hashmap_test.cmi test/bs_hashmap_test.cmj test/bs_hashset_int_test.cmi test/bs_hashset_int_test.cmj test/bs_hashtbl_string_test.cmi test/bs_hashtbl_string_test.cmj test/bs_ignore_effect.cmi test/bs_ignore_effect.cmj test/bs_ignore_test.cmi test/bs_ignore_test.cmj test/bs_int_test.cmi test/bs_int_test.cmj test/bs_list_test.cmi test/bs_list_test.cmj test/bs_map_set_dict_test.cmi test/bs_map_set_dict_test.cmj test/bs_map_test.cmi test/bs_map_test.cmj test/bs_min_max_test.cmi test/bs_min_max_test.cmj test/bs_mutable_set_test.cmi test/bs_mutable_set_test.cmj test/bs_poly_map_test.cmi test/bs_poly_map_test.cmj test/bs_poly_mutable_map_test.cmi test/bs_poly_mutable_map_test.cmj test/bs_poly_mutable_set_test.cmi test/bs_poly_mutable_set_test.cmj test/bs_poly_set_test.cmi test/bs_poly_set_test.cmj test/bs_qualified.cmi test/bs_qualified.cmj test/bs_queue_test.cmi test/bs_queue_test.cmj test/bs_rbset_int_bench.cmi test/bs_rbset_int_bench.cmj test/bs_rest_test.cmi test/bs_rest_test.cmj test/bs_set_bench.cmi test/bs_set_bench.cmj test/bs_set_int_test.cmi test/bs_set_int_test.cmj test/bs_sort_test.cmi test/bs_sort_test.cmj test/bs_splice_partial.cmi test/bs_splice_partial.cmj test/bs_stack_test.cmi test/bs_stack_test.cmj test/bs_string_test.cmi test/bs_string_test.cmj test/bs_unwrap_test.cmi test/bs_unwrap_test.cmj test/buffer_test.cmi test/buffer_test.cmj test/bytes_split_gpr_743_test.cmi test/bytes_split_gpr_743_test.cmj test/caml_compare_bigint_test.cmi test/caml_compare_bigint_test.cmj test/caml_compare_test.cmi test/caml_compare_test.cmj test/caml_format_test.cmi test/caml_format_test.cmj test/chain_code_test.cmi test/chain_code_test.cmj test/chn_test.cmi test/chn_test.cmj test/class_type_ffi_test.cmi test/class_type_ffi_test.cmj test/coercion_module_alias_test.cmi test/coercion_module_alias_test.cmj test/compare_test.cmi test/compare_test.cmj test/complete_parmatch_test.cmi test/complete_parmatch_test.cmj test/complex_if_test.cmi test/complex_if_test.cmj test/complex_test.cmi test/complex_test.cmj test/complex_while_loop.cmi test/complex_while_loop.cmj test/condition_compilation_test.cmi test/condition_compilation_test.cmj test/config1_test.cmi test/config1_test.cmj test/console_log_test.cmi test/console_log_test.cmj test/const_block_test.cmi test/const_block_test.cmj test/const_defs.cmi test/const_defs.cmj test/const_defs_test.cmi test/const_defs_test.cmj test/const_test.cmi test/const_test.cmj test/cont_int_fold_test.cmi test/cont_int_fold_test.cmj test/cps_test.cmi test/cps_test.cmj test/cross_module_inline_test.cmi test/cross_module_inline_test.cmj test/custom_error_test.cmi test/custom_error_test.cmj test/debug_keep_test.cmi test/debug_keep_test.cmj test/debug_mode_value.cmi test/debug_mode_value.cmj test/debug_tmp.cmi test/debug_tmp.cmj test/debugger_test.cmi test/debugger_test.cmj test/default_export_test.cmi test/default_export_test.cmj test/defunctor_make_test.cmi test/defunctor_make_test.cmj test/demo_int_map.cmi test/demo_int_map.cmj test/demo_page.cmi test/demo_page.cmj test/demo_pipe.cmi test/demo_pipe.cmj test/derive_projector_test.cmi test/derive_projector_test.cmj test/digest_test.cmi test/digest_test.cmj test/directives.cmi test/directives.cmj test/div_by_zero_test.cmi test/div_by_zero_test.cmj test/dollar_escape_test.cmi test/dollar_escape_test.cmj test/earger_curry_test.cmi test/earger_curry_test.cmj test/effect.cmi test/effect.cmj test/epsilon_test.cmi test/epsilon_test.cmj test/equal_box_test.cmi test/equal_box_test.cmj test/equal_exception_test.cmi test/equal_exception_test.cmj test/equal_test.cmi test/equal_test.cmj test/es6_export.cmi test/es6_export.cmj test/es6_import.cmi test/es6_import.cmj test/es6_module_test.cmi test/es6_module_test.cmj test/escape_esmodule.cmi test/escape_esmodule.cmj test/esmodule_ref.cmi test/esmodule_ref.cmj test/event_ffi.cmi test/event_ffi.cmj test/exception_alias.cmi test/exception_alias.cmj test/exception_raise_test.cmi test/exception_raise_test.cmj test/exception_rebound_err_test.cmi test/exception_rebound_err_test.cmj test/exception_value_test.cmi test/exception_value_test.cmj test/exotic_labels_test.cmi test/exotic_labels_test.cmj test/exponentiation_precedence_test.cmi test/exponentiation_precedence_test.cmj test/export_keyword.cmi test/export_keyword.cmj test/ext_array_test.cmi test/ext_array_test.cmj test/ext_bytes_test.cmi test/ext_bytes_test.cmj test/ext_filename_test.cmi test/ext_filename_test.cmj test/ext_list_test.cmi test/ext_list_test.cmj test/ext_pervasives_test.cmi test/ext_pervasives_test.cmj test/ext_string_test.cmi test/ext_string_test.cmj test/ext_sys_test.cmi test/ext_sys_test.cmj test/extensible_variant_test.cmi test/extensible_variant_test.cmj test/external_polyfill_test.cmi test/external_polyfill_test.cmj test/external_ppx.cmi test/external_ppx.cmj test/external_ppx2.cmi test/external_ppx2.cmj test/fail_comp.cmi test/fail_comp.cmj test/ffi_arity_test.cmi test/ffi_arity_test.cmj test/ffi_array_test.cmi test/ffi_array_test.cmj test/ffi_js_test.cmi test/ffi_js_test.cmj test/ffi_splice_test.cmi test/ffi_splice_test.cmj test/ffi_test.cmi test/ffi_test.cmj test/fib.cmi test/fib.cmj test/flattern_order_test.cmi test/flattern_order_test.cmj test/flexible_array_test.cmi test/flexible_array_test.cmj test/float_array.cmi test/float_array.cmj test/float_of_bits_test.cmi test/float_of_bits_test.cmj test/float_record.cmi test/float_record.cmj test/float_test.cmi test/float_test.cmj test/floatarray_test.cmi test/floatarray_test.cmj test/for_loop_test.cmi test/for_loop_test.cmj test/for_side_effect_test.cmi test/for_side_effect_test.cmj test/format_regression.cmi test/format_regression.cmj test/format_test.cmi test/format_test.cmj test/fun_pattern_match.cmi test/fun_pattern_match.cmj test/function_directives.cmi test/function_directives.cmj test/function_directives_no_inline.cmi test/function_directives_no_inline.cmj test/functor_app_test.cmi test/functor_app_test.cmj test/functor_def.cmi test/functor_def.cmj test/functor_ffi.cmi test/functor_ffi.cmj test/functor_inst.cmi test/functor_inst.cmj test/functors.cmi test/functors.cmj test/gbk.cmi test/gbk.cmj test/genlex_test.cmi test/genlex_test.cmj test/gentTypeReTest.cmi test/gentTypeReTest.cmj test/global_exception_regression_test.cmi test/global_exception_regression_test.cmj test/global_mangles.cmi test/global_mangles.cmj test/global_module_alias_test.cmi test/global_module_alias_test.cmj test/google_closure_test.cmi test/google_closure_test.cmj test/gpr496_test.cmi test/gpr496_test.cmj test/gpr_1072.cmi test/gpr_1072.cmj test/gpr_1072_reg.cmi test/gpr_1072_reg.cmj test/gpr_1150.cmi test/gpr_1150.cmj test/gpr_1154_test.cmi test/gpr_1154_test.cmj test/gpr_1170.cmi test/gpr_1170.cmj test/gpr_1240_missing_unbox.cmi test/gpr_1240_missing_unbox.cmj test/gpr_1245_test.cmi test/gpr_1245_test.cmj test/gpr_1268.cmi test/gpr_1268.cmj test/gpr_1409_test.cmi test/gpr_1409_test.cmj test/gpr_1423_app_test.cmi test/gpr_1423_app_test.cmj test/gpr_1423_nav.cmi test/gpr_1423_nav.cmj test/gpr_1438.cmi test/gpr_1438.cmj test/gpr_1481.cmi test/gpr_1481.cmj test/gpr_1484.cmi test/gpr_1484.cmj test/gpr_1503_test.cmi test/gpr_1503_test.cmj test/gpr_1539_test.cmi test/gpr_1539_test.cmj test/gpr_1658_test.cmi test/gpr_1658_test.cmj test/gpr_1667_test.cmi test/gpr_1667_test.cmj test/gpr_1692_test.cmi test/gpr_1692_test.cmj test/gpr_1698_test.cmi test/gpr_1698_test.cmj test/gpr_1701_test.cmi test/gpr_1701_test.cmj test/gpr_1716_test.cmi test/gpr_1716_test.cmj test/gpr_1717_test.cmi test/gpr_1717_test.cmj test/gpr_1728_test.cmi test/gpr_1728_test.cmj test/gpr_1749_test.cmi test/gpr_1749_test.cmj test/gpr_1759_test.cmi test/gpr_1759_test.cmj test/gpr_1760_test.cmi test/gpr_1760_test.cmj test/gpr_1762_test.cmi test/gpr_1762_test.cmj test/gpr_1817_test.cmi test/gpr_1817_test.cmj test/gpr_1822_test.cmi test/gpr_1822_test.cmj test/gpr_1891_test.cmi test/gpr_1891_test.cmj test/gpr_1943_test.cmi test/gpr_1943_test.cmj test/gpr_1946_test.cmi test/gpr_1946_test.cmj test/gpr_2316_test.cmi test/gpr_2316_test.cmj test/gpr_2352_test.cmi test/gpr_2352_test.cmj test/gpr_2413_test.cmi test/gpr_2413_test.cmj test/gpr_2474.cmi test/gpr_2474.cmj test/gpr_2487.cmi test/gpr_2487.cmj test/gpr_2503_test.cmi test/gpr_2503_test.cmj test/gpr_2608_test.cmi test/gpr_2608_test.cmj test/gpr_2614_test.cmi test/gpr_2614_test.cmj test/gpr_2633_test.cmi test/gpr_2633_test.cmj test/gpr_2642_test.cmi test/gpr_2642_test.cmj test/gpr_2682_test.cmi test/gpr_2682_test.cmj test/gpr_2700_test.cmi test/gpr_2700_test.cmj test/gpr_2731_test.cmi test/gpr_2731_test.cmj test/gpr_2789_test.cmi test/gpr_2789_test.cmj test/gpr_2931_test.cmi test/gpr_2931_test.cmj test/gpr_3142_test.cmi test/gpr_3142_test.cmj test/gpr_3154_test.cmi test/gpr_3154_test.cmj test/gpr_3209_test.cmi test/gpr_3209_test.cmj test/gpr_3492_test.cmi test/gpr_3492_test.cmj test/gpr_3519_jsx_test.cmi test/gpr_3519_jsx_test.cmj test/gpr_3519_test.cmi test/gpr_3519_test.cmj test/gpr_3536_test.cmi test/gpr_3536_test.cmj test/gpr_3546_test.cmi test/gpr_3546_test.cmj test/gpr_3548_test.cmi test/gpr_3548_test.cmj test/gpr_3549_test.cmi test/gpr_3549_test.cmj test/gpr_3566_drive_test.cmi test/gpr_3566_drive_test.cmj test/gpr_3566_test.cmi test/gpr_3566_test.cmj test/gpr_3595_test.cmi test/gpr_3595_test.cmj test/gpr_3609_test.cmi test/gpr_3609_test.cmj test/gpr_3697_test.cmi test/gpr_3697_test.cmj test/gpr_373_test.cmi test/gpr_373_test.cmj test/gpr_3770_test.cmi test/gpr_3770_test.cmj test/gpr_3852_alias.cmi test/gpr_3852_alias.cmj test/gpr_3852_alias_reify.cmi test/gpr_3852_alias_reify.cmj test/gpr_3852_effect.cmi test/gpr_3852_effect.cmj test/gpr_3865.cmi test/gpr_3865.cmj test/gpr_3865_bar.cmi test/gpr_3865_bar.cmj test/gpr_3865_foo.cmi test/gpr_3865_foo.cmj test/gpr_3875_test.cmi test/gpr_3875_test.cmj test/gpr_3877_test.cmi test/gpr_3877_test.cmj test/gpr_3895_test.cmi test/gpr_3895_test.cmj test/gpr_3897_test.cmi test/gpr_3897_test.cmj test/gpr_3931_test.cmi test/gpr_3931_test.cmj test/gpr_3980_test.cmi test/gpr_3980_test.cmj test/gpr_4025_test.cmi test/gpr_4025_test.cmj test/gpr_405_test.cmi test/gpr_405_test.cmj test/gpr_4069_test.cmi test/gpr_4069_test.cmj test/gpr_4265_test.cmi test/gpr_4265_test.cmj test/gpr_4274_test.cmi test/gpr_4274_test.cmj test/gpr_4280_test.cmi test/gpr_4280_test.cmj test/gpr_4407_test.cmi test/gpr_4407_test.cmj test/gpr_441.cmi test/gpr_441.cmj test/gpr_4442_test.cmi test/gpr_4442_test.cmj test/gpr_4491_test.cmi test/gpr_4491_test.cmj test/gpr_4494_test.cmi test/gpr_4494_test.cmj test/gpr_4519_test.cmi test/gpr_4519_test.cmj test/gpr_459_test.cmi test/gpr_459_test.cmj test/gpr_4632.cmi test/gpr_4632.cmj test/gpr_4639_test.cmi test/gpr_4639_test.cmj test/gpr_4900_test.cmi test/gpr_4900_test.cmj test/gpr_4924_test.cmi test/gpr_4924_test.cmj test/gpr_4931.cmi test/gpr_4931.cmj test/gpr_4931_allow.cmi test/gpr_4931_allow.cmj test/gpr_5071_test.cmi test/gpr_5071_test.cmj test/gpr_5169_test.cmi test/gpr_5169_test.cmj test/gpr_5218_test.cmi test/gpr_5218_test.cmj test/gpr_5280_optimize_test.cmi test/gpr_5280_optimize_test.cmj test/gpr_5557.cmi test/gpr_5557.cmj test/gpr_5753.cmi test/gpr_5753.cmj test/gpr_658.cmi test/gpr_658.cmj test/gpr_858_test.cmi test/gpr_858_test.cmj test/gpr_858_unit2_test.cmi test/gpr_858_unit2_test.cmj test/gpr_904_test.cmi test/gpr_904_test.cmj test/gpr_974_test.cmi test/gpr_974_test.cmj test/gpr_977_test.cmi test/gpr_977_test.cmj test/gpr_return_type_unused_attribute.cmi test/gpr_return_type_unused_attribute.cmj test/gray_code_test.cmi test/gray_code_test.cmj test/guide_for_ext.cmi test/guide_for_ext.cmj test/hash_collision_test.cmi test/hash_collision_test.cmj test/hash_sugar_desugar.cmi test/hash_sugar_desugar.cmj test/hash_test.cmi test/hash_test.cmj test/hashtbl_test.cmi test/hashtbl_test.cmj test/hello.foo.cmi test/hello.foo.cmj test/hello_res.cmi test/hello_res.cmj test/ignore_test.cmi test/ignore_test.cmj test/imm_map_bench.cmi test/imm_map_bench.cmj test/import2.cmi test/import2.cmj test/import_external.cmi test/import_external.cmj test/import_side_effect.cmi test/import_side_effect.cmj test/import_side_effect_free.cmi test/import_side_effect_free.cmj test/include_side_effect.cmi test/include_side_effect.cmj test/include_side_effect_free.cmi test/include_side_effect_free.cmj test/incomplete_toplevel_test.cmi test/incomplete_toplevel_test.cmj test/infer_type_test.cmi test/infer_type_test.cmj test/inline_condition_with_pattern_matching.cmi test/inline_condition_with_pattern_matching.cmj test/inline_const.cmi test/inline_const.cmj test/inline_const_test.cmi test/inline_const_test.cmj test/inline_edge_cases.cmi test/inline_edge_cases.cmj test/inline_map2_test.cmi test/inline_map2_test.cmj test/inline_map_demo.cmi test/inline_map_demo.cmj test/inline_map_test.cmi test/inline_map_test.cmj test/inline_record_test.cmi test/inline_record_test.cmj test/inline_regression_test.cmi test/inline_regression_test.cmj test/inline_string_test.cmi test/inline_string_test.cmj test/inner_call.cmi test/inner_call.cmj test/inner_define.cmi test/inner_define.cmj test/inner_unused.cmi test/inner_unused.cmj test/installation_test.cmi test/installation_test.cmj test/int32_test.cmi test/int32_test.cmj test/int64_mul_div_test.cmi test/int64_mul_div_test.cmj test/int64_string_bench.cmi test/int64_string_bench.cmj test/int64_string_test.cmi test/int64_string_test.cmj test/int64_test.cmi test/int64_test.cmj test/int_hashtbl_test.cmi test/int_hashtbl_test.cmj test/int_map.cmi test/int_map.cmj test/int_overflow_test.cmi test/int_overflow_test.cmj test/int_poly_var.cmi test/int_poly_var.cmj test/int_switch_test.cmi test/int_switch_test.cmj test/internal_unused_test.cmi test/internal_unused_test.cmj test/io_test.cmi test/io_test.cmj test/js_array_test.cmi test/js_array_test.cmj test/js_bool_test.cmi test/js_bool_test.cmj test/js_cast_test.cmi test/js_cast_test.cmj test/js_date_test.cmi test/js_date_test.cmj test/js_dict_test.cmi test/js_dict_test.cmj test/js_exception_catch_test.cmi test/js_exception_catch_test.cmj test/js_float_test.cmi test/js_float_test.cmj test/js_global_test.cmi test/js_global_test.cmj test/js_int_test.cmi test/js_int_test.cmj test/js_json_test.cmi test/js_json_test.cmj test/js_list_test.cmi test/js_list_test.cmj test/js_math_test.cmi test/js_math_test.cmj test/js_null_test.cmi test/js_null_test.cmj test/js_null_undefined_test.cmi test/js_null_undefined_test.cmj test/js_nullable_test.cmi test/js_nullable_test.cmj test/js_obj_test.cmi test/js_obj_test.cmj test/js_option_test.cmi test/js_option_test.cmj test/js_re_test.cmi test/js_re_test.cmj test/js_string_test.cmi test/js_string_test.cmj test/js_undefined_test.cmi test/js_undefined_test.cmj test/js_val.cmi test/js_val.cmj test/jsoo_400_test.cmi test/jsoo_400_test.cmj test/jsoo_485_test.cmi test/jsoo_485_test.cmj test/jsxv4_newtype.cmi test/jsxv4_newtype.cmj test/key_word_property.cmi test/key_word_property.cmj test/key_word_property2.cmi test/key_word_property2.cmj test/key_word_property_plus_test.cmi test/key_word_property_plus_test.cmj test/label_uncurry.cmi test/label_uncurry.cmj test/large_integer_pat.cmi test/large_integer_pat.cmj test/large_record_duplication_test.cmi test/large_record_duplication_test.cmj test/largest_int_flow.cmi test/largest_int_flow.cmj test/lazy_demo.cmi test/lazy_demo.cmj test/lazy_test.cmi test/lazy_test.cmj test/lib_js_test.cmi test/lib_js_test.cmj test/libarg_test.cmi test/libarg_test.cmj test/libqueue_test.cmi test/libqueue_test.cmj test/limits_test.cmi test/limits_test.cmj test/list_stack.cmi test/list_stack.cmj test/list_test.cmi test/list_test.cmj test/local_exception_test.cmi test/local_exception_test.cmj test/loop_regression_test.cmi test/loop_regression_test.cmj test/loop_suites_test.cmi test/loop_suites_test.cmj test/map_find_test.cmi test/map_find_test.cmj test/map_test.cmi test/map_test.cmj test/mario_game.cmi test/mario_game.cmj test/marshal.cmi test/marshal.cmj test/meth_annotation.cmi test/meth_annotation.cmj test/method_name_test.cmi test/method_name_test.cmj test/method_string_name.cmi test/method_string_name.cmj test/minimal_test.cmi test/minimal_test.cmj test/miss_colon_test.cmi test/miss_colon_test.cmj test/mock_mt.cmi test/mock_mt.cmj test/module_alias_test.cmi test/module_alias_test.cmj test/module_as_class_ffi.cmi test/module_as_class_ffi.cmj test/module_as_function.cmi test/module_as_function.cmj test/module_missing_conversion.cmi test/module_missing_conversion.cmj test/module_parameter_test.cmi test/module_parameter_test.cmj test/module_splice_test.cmi test/module_splice_test.cmj test/more_poly_variant_test.cmi test/more_poly_variant_test.cmj test/more_uncurry.cmi test/more_uncurry.cmj test/mpr_6033_test.cmi test/mpr_6033_test.cmj test/mt.cmi test/mt.cmj test/mt_global.cmi test/mt_global.cmj test/mutable_obj_test.cmi test/mutable_obj_test.cmj test/mutable_uncurry_test.cmi test/mutable_uncurry_test.cmj test/mutual_non_recursive_type.cmi test/mutual_non_recursive_type.cmj test/name_mangle_test.cmi test/name_mangle_test.cmj test/nested_include.cmi test/nested_include.cmj test/nested_module_alias.cmi test/nested_module_alias.cmj test/nested_obj_literal.cmi test/nested_obj_literal.cmj test/nested_obj_test.cmi test/nested_obj_test.cmj test/nested_pattern_match_test.cmi test/nested_pattern_match_test.cmj test/noassert.cmi test/noassert.cmj test/node_path_test.cmi test/node_path_test.cmj test/null_list_test.cmi test/null_list_test.cmj test/number_lexer.cmi test/number_lexer.cmj test/obj_literal_ppx.cmi test/obj_literal_ppx.cmj test/obj_literal_ppx_test.cmi test/obj_literal_ppx_test.cmj test/obj_magic_test.cmi test/obj_magic_test.cmj test/obj_type_test.cmi test/obj_type_test.cmj test/ocaml_re_test.cmi test/ocaml_re_test.cmj test/of_string_test.cmi test/of_string_test.cmj test/offset.cmi test/offset.cmj test/omit_trailing_undefined_in_external_calls.cmi test/omit_trailing_undefined_in_external_calls.cmj test/option_encoding_test.cmi test/option_encoding_test.cmj test/option_record_none_test.cmi test/option_record_none_test.cmj test/option_repr_test.cmi test/option_repr_test.cmj test/optional_ffi_test.cmi test/optional_ffi_test.cmj test/optional_regression_test.cmi test/optional_regression_test.cmj test/pipe_send_readline.cmi test/pipe_send_readline.cmj test/pipe_syntax.cmi test/pipe_syntax.cmj test/poly_empty_array.cmi test/poly_empty_array.cmj test/poly_variant_test.cmi test/poly_variant_test.cmj test/polymorphic_raw_test.cmi test/polymorphic_raw_test.cmj test/polymorphism_test.cmi test/polymorphism_test.cmj test/polyvar_convert.cmi test/polyvar_convert.cmj test/polyvar_test.cmi test/polyvar_test.cmj test/ppx_apply_test.cmi test/ppx_apply_test.cmj test/pq_test.cmi test/pq_test.cmj test/pr6726.cmi test/pr6726.cmj test/prepend_data_ffi.cmi test/prepend_data_ffi.cmj test/primitive_reg_test.cmi test/primitive_reg_test.cmj test/print_alpha_test.cmi test/print_alpha_test.cmj test/queue_402.cmi test/queue_402.cmj test/queue_test.cmi test/queue_test.cmj test/random_test.cmi test/random_test.cmj test/raw_hash_tbl_bench.cmi test/raw_hash_tbl_bench.cmj test/raw_output_test.cmi test/raw_output_test.cmj test/raw_pure_test.cmi test/raw_pure_test.cmj test/rbset.cmi test/rbset.cmj test/react.cmi test/react.cmj test/reactDOMRe.cmi test/reactDOMRe.cmj test/reactDOMServerRe.cmi test/reactDOMServerRe.cmj test/reactEvent.cmi test/reactEvent.cmj test/reactTestUtils.cmi test/reactTestUtils.cmj test/reasonReact.cmi test/reasonReact.cmj test/reasonReactCompat.cmi test/reasonReactCompat.cmj test/reasonReactOptimizedCreateClass.cmi test/reasonReactOptimizedCreateClass.cmj test/reasonReactRouter.cmi test/reasonReactRouter.cmj test/rebind_module.cmi test/rebind_module.cmj test/rebind_module_test.cmi test/rebind_module_test.cmj test/rec_array_test.cmi test/rec_array_test.cmj test/rec_fun_test.cmi test/rec_fun_test.cmj test/rec_module_opt.cmi test/rec_module_opt.cmj test/rec_module_test.cmi test/rec_module_test.cmj test/recmodule.cmi test/recmodule.cmj test/record_debug_test.cmi test/record_debug_test.cmj test/record_extension_test.cmi test/record_extension_test.cmj test/record_name_test.cmi test/record_name_test.cmj test/record_regression.cmi test/record_regression.cmj test/record_type_spread.cmi test/record_type_spread.cmj test/record_with_test.cmi test/record_with_test.cmj test/recursive_module.cmi test/recursive_module.cmj test/recursive_module_test.cmi test/recursive_module_test.cmj test/recursive_react_component.cmi test/recursive_react_component.cmj test/recursive_records_test.cmi test/recursive_records_test.cmj test/recursive_unbound_module_test.cmi test/recursive_unbound_module_test.cmj test/regression_print.cmi test/regression_print.cmj test/relative_path.cmi test/relative_path.cmj test/res_debug.cmi test/res_debug.cmj test/return_check.cmi test/return_check.cmj test/runtime_encoding_test.cmi test/runtime_encoding_test.cmj test/set_annotation.cmi test/set_annotation.cmj test/set_gen.cmi test/set_gen.cmj test/sexp.cmi test/sexp.cmj test/sexpm.cmi test/sexpm.cmj test/sexpm_test.cmi test/sexpm_test.cmj test/side_effect.cmi test/side_effect.cmj test/side_effect2.cmi test/side_effect2.cmj test/side_effect_free.cmi test/side_effect_free.cmj test/simplify_lambda_632o.cmi test/simplify_lambda_632o.cmj test/single_module_alias.cmi test/single_module_alias.cmj test/singular_unit_test.cmi test/singular_unit_test.cmj test/small_inline_test.cmi test/small_inline_test.cmj test/splice_test.cmi test/splice_test.cmj test/stack_comp_test.cmi test/stack_comp_test.cmj test/stack_test.cmi test/stack_test.cmj test/stream_parser_test.cmi test/stream_parser_test.cmj test/string_bound_get_test.cmi test/string_bound_get_test.cmj test/string_constant_compare.cmi test/string_constant_compare.cmj test/string_get_set_test.cmi test/string_get_set_test.cmj test/string_runtime_test.cmi test/string_runtime_test.cmj test/string_set.cmi test/string_set.cmj test/string_set_test.cmi test/string_set_test.cmj test/string_test.cmi test/string_test.cmj test/string_unicode_test.cmi test/string_unicode_test.cmj test/stringmatch_test.cmi test/stringmatch_test.cmj test/submodule.cmi test/submodule.cmj test/submodule_call.cmi test/submodule_call.cmj test/switch_case_test.cmi test/switch_case_test.cmj test/switch_string.cmi test/switch_string.cmj test/tagged_template_test.cmi test/tagged_template_test.cmj test/tailcall_inline_test.cmi test/tailcall_inline_test.cmj test/template.cmi test/template.cmj test/test.cmi test/test.cmj test/test2.cmi test/test2.cmj test/test_alias.cmi test/test_alias.cmj test/test_ari.cmi test/test_ari.cmj test/test_array.cmi test/test_array.cmj test/test_array_append.cmi test/test_array_append.cmj test/test_array_primitive.cmi test/test_array_primitive.cmj test/test_bool_equal.cmi test/test_bool_equal.cmj test/test_bs_this.cmi test/test_bs_this.cmj test/test_bug.cmi test/test_bug.cmj test/test_bytes.cmi test/test_bytes.cmj test/test_case_opt_collision.cmi test/test_case_opt_collision.cmj test/test_case_set.cmi test/test_case_set.cmj test/test_char.cmi test/test_char.cmj test/test_closure.cmi test/test_closure.cmj test/test_common.cmi test/test_common.cmj test/test_const_elim.cmi test/test_const_elim.cmj test/test_const_propogate.cmi test/test_const_propogate.cmj test/test_cpp.cmi test/test_cpp.cmj test/test_cps.cmi test/test_cps.cmj test/test_demo.cmi test/test_demo.cmj test/test_dup_param.cmi test/test_dup_param.cmj test/test_eq.cmi test/test_eq.cmj test/test_exception.cmi test/test_exception.cmj test/test_exception_escape.cmi test/test_exception_escape.cmj test/test_export2.cmi test/test_export2.cmj test/test_external.cmi test/test_external.cmj test/test_external_unit.cmi test/test_external_unit.cmj test/test_ffi.cmi test/test_ffi.cmj test/test_fib.cmi test/test_fib.cmj test/test_filename.cmi test/test_filename.cmj test/test_for_loop.cmi test/test_for_loop.cmj test/test_for_map.cmi test/test_for_map.cmj test/test_for_map2.cmi test/test_for_map2.cmj test/test_format.cmi test/test_format.cmj test/test_formatter.cmi test/test_formatter.cmj test/test_functor_dead_code.cmi test/test_functor_dead_code.cmj test/test_generative_module.cmi test/test_generative_module.cmj test/test_global_print.cmi test/test_global_print.cmj test/test_google_closure.cmi test/test_google_closure.cmj test/test_include.cmi test/test_include.cmj test/test_incomplete.cmi test/test_incomplete.cmj test/test_incr_ref.cmi test/test_incr_ref.cmj test/test_int_map_find.cmi test/test_int_map_find.cmj test/test_internalOO.cmi test/test_internalOO.cmj test/test_is_js.cmi test/test_is_js.cmj test/test_js_ffi.cmi test/test_js_ffi.cmj test/test_let.cmi test/test_let.cmj test/test_list.cmi test/test_list.cmj test/test_literal.cmi test/test_literal.cmj test/test_literals.cmi test/test_literals.cmj test/test_match_exception.cmi test/test_match_exception.cmj test/test_mutliple.cmi test/test_mutliple.cmj test/test_nat64.cmi test/test_nat64.cmj test/test_nested_let.cmi test/test_nested_let.cmj test/test_nested_print.cmi test/test_nested_print.cmj test/test_non_export.cmi test/test_non_export.cmj test/test_nullary.cmi test/test_nullary.cmj test/test_obj.cmi test/test_obj.cmj test/test_order.cmi test/test_order.cmj test/test_order_tailcall.cmi test/test_order_tailcall.cmj test/test_other_exn.cmi test/test_other_exn.cmj test/test_pack.cmi test/test_pack.cmj test/test_per.cmi test/test_per.cmj test/test_pervasive.cmi test/test_pervasive.cmj test/test_pervasives2.cmi test/test_pervasives2.cmj test/test_pervasives3.cmi test/test_pervasives3.cmj test/test_primitive.cmi test/test_primitive.cmj test/test_ramification.cmi test/test_ramification.cmj test/test_react.cmi test/test_react.cmj test/test_react_case.cmi test/test_react_case.cmj test/test_regex.cmi test/test_regex.cmj test/test_runtime_encoding.cmi test/test_runtime_encoding.cmj test/test_scope.cmi test/test_scope.cmj test/test_seq.cmi test/test_seq.cmj test/test_set.cmi test/test_set.cmj test/test_side_effect_functor.cmi test/test_side_effect_functor.cmj test/test_simple_include.cmi test/test_simple_include.cmj test/test_simple_pattern_match.cmi test/test_simple_pattern_match.cmj test/test_simple_ref.cmi test/test_simple_ref.cmj test/test_simple_tailcall.cmi test/test_simple_tailcall.cmj test/test_small.cmi test/test_small.cmj test/test_sprintf.cmi test/test_sprintf.cmj test/test_stack.cmi test/test_stack.cmj test/test_static_catch_ident.cmi test/test_static_catch_ident.cmj test/test_string.cmi test/test_string.cmj test/test_string_case.cmi test/test_string_case.cmj test/test_string_const.cmi test/test_string_const.cmj test/test_string_map.cmi test/test_string_map.cmj test/test_string_switch.cmi test/test_string_switch.cmj test/test_switch.cmi test/test_switch.cmj test/test_trywith.cmi test/test_trywith.cmj test/test_tuple.cmi test/test_tuple.cmj test/test_tuple_destructring.cmi test/test_tuple_destructring.cmj test/test_type_based_arity.cmi test/test_type_based_arity.cmj test/test_u.cmi test/test_u.cmj test/test_unknown.cmi test/test_unknown.cmj test/test_unsafe_cmp.cmi test/test_unsafe_cmp.cmj test/test_unsafe_obj_ffi.cmi test/test_unsafe_obj_ffi.cmj test/test_unsafe_obj_ffi_ppx.cmi test/test_unsafe_obj_ffi_ppx.cmj test/test_unsupported_primitive.cmi test/test_unsupported_primitive.cmj test/test_while_closure.cmi test/test_while_closure.cmj test/test_while_side_effect.cmi test/test_while_side_effect.cmj test/test_zero_nullable.cmi test/test_zero_nullable.cmj test/then_mangle_test.cmi test/then_mangle_test.cmj test/ticker.cmi test/ticker.cmj test/to_string_test.cmi test/to_string_test.cmj test/topsort_test.cmi test/topsort_test.cmj test/tramp_fib.cmi test/tramp_fib.cmj test/tuple_alloc.cmi test/tuple_alloc.cmj test/type-coercion-free-vars.cmi test/type-coercion-free-vars.cmj test/type_disambiguate.cmi test/type_disambiguate.cmj test/typeof_test.cmi test/typeof_test.cmj test/unboxed_attribute.cmi test/unboxed_attribute.cmj test/unboxed_attribute_test.cmi test/unboxed_attribute_test.cmj test/unboxed_crash.cmi test/unboxed_crash.cmj test/unboxed_use_case.cmi test/unboxed_use_case.cmj test/uncurried_cast.cmi test/uncurried_cast.cmj test/uncurried_default.args.cmi test/uncurried_default.args.cmj test/uncurried_pipe.cmi test/uncurried_pipe.cmj test/uncurry_external_test.cmi test/uncurry_external_test.cmj test/uncurry_glob_test.cmi test/uncurry_glob_test.cmj test/uncurry_test.cmi test/uncurry_test.cmj test/undef_regression2_test.cmi test/undef_regression2_test.cmj test/undef_regression_test.cmi test/undef_regression_test.cmj test/undefine_conditional.cmi test/undefine_conditional.cmj test/unicode_type_error.cmi test/unicode_type_error.cmj test/unit_undefined_test.cmi test/unit_undefined_test.cmj test/unitest_string.cmi test/unitest_string.cmj test/unsafe_full_apply_primitive.cmi test/unsafe_full_apply_primitive.cmj test/unsafe_ppx_test.cmi test/unsafe_ppx_test.cmj test/update_record_test.cmi test/update_record_test.cmj test/variant.cmi test/variant.cmj test/variantsMatching.cmi test/variantsMatching.cmj test/webpack_config.cmi test/webpack_config.cmj diff --git a/jscomp/test/earger_curry_test.js b/jscomp/test/earger_curry_test.js index a7b41ebc94..bfa934c89d 100644 --- a/jscomp/test/earger_curry_test.js +++ b/jscomp/test/earger_curry_test.js @@ -122,12 +122,8 @@ function f(x) { } function g(x) { - v.contents = v.contents + 1 | 0; - let partial_arg = 2; - v.contents = v.contents + 1 | 0; - let partial_arg$1 = 1; - let u = function (param, param$1) { - return add5(x, partial_arg$1, partial_arg, param, param$1); + let u = function (a, b) { + return add5(x, (v.contents = v.contents + 1 | 0, 1), (v.contents = v.contents + 1 | 0, 2), a, b); }; all_v.contents = { hd: v.contents, @@ -140,26 +136,26 @@ let a = f(0)(3, 4); let b = f(0)(3, 5); -let c = Curry._2(g(0), 3, 4); +let c = g(0)(3, 4); -let d = Curry._2(g(0), 3, 5); +let d = g(0)(3, 5); -eq("File \"earger_curry_test.res\", line 140, characters 5-12", a, 10); +eq("File \"earger_curry_test.res\", line 141, characters 5-12", a, 10); -eq("File \"earger_curry_test.res\", line 141, characters 5-12", b, 11); +eq("File \"earger_curry_test.res\", line 142, characters 5-12", b, 11); -eq("File \"earger_curry_test.res\", line 142, characters 5-12", c, 10); +eq("File \"earger_curry_test.res\", line 143, characters 5-12", c, 10); -eq("File \"earger_curry_test.res\", line 143, characters 5-12", d, 11); +eq("File \"earger_curry_test.res\", line 144, characters 5-12", d, 11); -eq("File \"earger_curry_test.res\", line 144, characters 5-12", all_v.contents, { +eq("File \"earger_curry_test.res\", line 145, characters 5-12", all_v.contents, { hd: 8, tl: { - hd: 8, + hd: 6, tl: { hd: 6, tl: { - hd: 6, + hd: 4, tl: { hd: 4, tl: { diff --git a/jscomp/test/earger_curry_test.res b/jscomp/test/earger_curry_test.res index 22d8df1573..dafe764805 100644 --- a/jscomp/test/earger_curry_test.res +++ b/jscomp/test/earger_curry_test.res @@ -114,7 +114,7 @@ let f = x => u */ let g = x => { - let u = add5( + let u = (a,b) => add5( x, { incr(v) @@ -124,7 +124,8 @@ let g = x => { incr(v) 2 }, - ... + a, + b ) all_v := list{v.contents, ...all_v.contents} u @@ -141,6 +142,6 @@ let () = { eq(__LOC__, b, 11) eq(__LOC__, c, 10) eq(__LOC__, d, 11) - eq(__LOC__, all_v.contents, list{8, 8, 6, 6, 4, 2}) + eq(__LOC__, all_v.contents, list{8, 6, 6, 4, 4, 2}) } let () = Mt.from_pair_suites(__MODULE__, suites.contents) diff --git a/jscomp/test/pr_regression_test.js b/jscomp/test/pr_regression_test.js deleted file mode 100644 index 225d41acc7..0000000000 --- a/jscomp/test/pr_regression_test.js +++ /dev/null @@ -1,119 +0,0 @@ -// Generated by ReScript, PLEASE EDIT WITH CARE -'use strict'; - -let Mt = require("./mt.js"); -let Curry = require("../../lib/js/curry.js"); - -let v = { - contents: 3 -}; - -function f(h) { - v.contents = v.contents + 1 | 0; - let partial_arg = 3; - return function (param) { - return Curry._2(h, partial_arg, param); - }; -} - -f(function (prim0, prim1) { - return prim0 + prim1 | 0; -}); - -f(function (prim0, prim1) { - return prim0 + prim1 | 0; -}); - -let a = v.contents; - -let v$1 = { - contents: 3 -}; - -function f$1(h) { - v$1.contents = v$1.contents + 1 | 0; - let partial_arg = 3; - return function (param) { - return Curry._2(h, partial_arg, param); - }; -} - -f$1(function (prim0, prim1) { - return prim0 + prim1 | 0; -}); - -f$1(function (prim0, prim1) { - return prim0 + prim1 | 0; -}); - -let b = v$1.contents; - -let v$2 = { - contents: 3 -}; - -function f$2(h) { - return Curry._2(h, 2, (v$2.contents = v$2.contents + 1 | 0, 3)); -} - -f$2(function (prim0, prim1) { - return prim0 + prim1 | 0; -}); - -f$2(function (prim0, prim1) { - return prim0 + prim1 | 0; -}); - -let c = v$2.contents; - -let v$3 = { - contents: 3 -}; - -function f$3(h, g) { - v$3.contents = v$3.contents + 1 | 0; - let partial_arg = 9; - return function (param) { - return Curry._2(h, partial_arg, param); - }; -} - -f$3((function (prim0, prim1) { - return prim0 + prim1 | 0; -}), 3); - -f$3((function (prim0, prim1) { - return prim0 + prim1 | 0; -}), 3); - -let d = v$3.contents; - -Mt.from_pair_suites("Pr_regression_test", { - hd: [ - "partial", - (function (param) { - return { - TAG: "Eq", - _0: [ - 5, - 5, - 5, - 5 - ], - _1: [ - a, - b, - c, - d - ] - }; - }) - ], - tl: /* [] */0 -}); - -exports.a = a; -exports.b = b; -exports.c = c; -exports.d = d; -/* Not a pure module */ diff --git a/jscomp/test/pr_regression_test.res b/jscomp/test/pr_regression_test.res deleted file mode 100644 index 70d8692ab9..0000000000 --- a/jscomp/test/pr_regression_test.res +++ /dev/null @@ -1,63 +0,0 @@ -let a = { - let v = ref(3) - let action = () => incr(v) - let f = h => - ((x, y) => h(x, y))({ - action() - 3 - }, ...) - \"@@"(ignore, f(\"+")) - \"@@"(ignore, f(\"+")) - v.contents -} - -let b = { - let v = ref(3) - let action = () => incr(v) - let f = h => - ((x, y) => h(x, y))({ - action() - 3 - }, ...) - \"@@"(ignore, f(\"+")) - \"@@"(ignore, f(\"+")) - v.contents -} - -let c = { - let v = ref(3) - let action = () => incr(v) - let f = h => - ((x, y) => h(x, y))( - 2, - { - action() - 3 - }, - ) - \"@@"(ignore, f(\"+")) - \"@@"(ignore, f(\"+")) - v.contents -} - -let d = { - let v = ref(3) - let action = () => incr(v) - let f = (h, g) => - ((x, y) => h(x, y))({ - let v = 3 - action() - v * v - }, ...) - \"@@"(ignore, f(\"+", 3)) - \"@@"(ignore, f(\"+", 3)) - v.contents -} - -Mt.from_pair_suites( - __MODULE__, - { - open Mt - list{("partial", _ => Eq((5, 5, 5, 5), (a, b, c, d)))} - }, -)