diff --git a/src/compile/compile_package.zig b/src/compile/compile_package.zig index 3698a66763..3bb196703a 100644 --- a/src/compile/compile_package.zig +++ b/src/compile/compile_package.zig @@ -789,6 +789,7 @@ pub const PackageEnv = struct { // Canonicalize var czer = try Can.init(env, parse_ast, module_envs_out); try czer.canonicalizeFile(); + try czer.validateForChecking(); czer.deinit(); // Type check using the SAME module_envs_map diff --git a/test/snapshots/default_app_no_main.md b/test/snapshots/default_app_no_main.md index e81c0c5766..15d7e4698e 100644 --- a/test/snapshots/default_app_no_main.md +++ b/test/snapshots/default_app_no_main.md @@ -8,9 +8,22 @@ type=file helper = |x| x + 1 ~~~ # EXPECTED -NIL +MISSING MAIN! FUNCTION - default_app_no_main.md:1:1:1:19 # PROBLEMS -NIL +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**default_app_no_main.md:1:1:1:19:** +```roc +helper = |x| x + 1 +``` +^^^^^^^^^^^^^^^^^^ + + # TOKENS ~~~zig LowerIdent,OpAssign,OpBar,LowerIdent,OpBar,LowerIdent,OpPlus,Int, diff --git a/test/snapshots/default_app_wrong_arity.md b/test/snapshots/default_app_wrong_arity.md index 589e0ba169..39261fbf76 100644 --- a/test/snapshots/default_app_wrong_arity.md +++ b/test/snapshots/default_app_wrong_arity.md @@ -11,6 +11,7 @@ main! = |arg1, arg2| { ~~~ # EXPECTED UNUSED VARIABLE - default_app_wrong_arity.md:1:16:1:20 +MAIN! SHOULD TAKE 1 ARGUMENT - default_app_wrong_arity.md:1:1:3:2 # PROBLEMS **UNUSED VARIABLE** Variable `arg2` is not used anywhere in your code. @@ -24,6 +25,21 @@ main! = |arg1, arg2| { ^^^^ +**MAIN! SHOULD TAKE 1 ARGUMENT** +`main!` is defined but has the wrong number of arguments. `main!` should take 1 argument. + +Found `2` arguments. + +Change it to: +`main! = |arg| { ... }` +**default_app_wrong_arity.md:1:1:3:2:** +```roc +main! = |arg1, arg2| { + arg1 +} +``` + + # TOKENS ~~~zig LowerIdent,OpAssign,OpBar,LowerIdent,Comma,LowerIdent,OpBar,OpenCurly, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_001.md b/test/snapshots/fuzz_crash/fuzz_crash_001.md index fdd98cc867..fd3d64f36a 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_001.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_001.md @@ -11,6 +11,7 @@ mo|% PARSE ERROR - fuzz_crash_001.md:1:1:1:3 PARSE ERROR - fuzz_crash_001.md:1:3:1:4 PARSE ERROR - fuzz_crash_001.md:1:4:1:5 +MISSING MAIN! FUNCTION - fuzz_crash_001.md:1:1:1:5 # PROBLEMS **PARSE ERROR** A parsing error occurred: `statement_unexpected_token` @@ -45,6 +46,20 @@ mo|% ^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_001.md:1:1:1:5:** +```roc +mo|% +``` +^^^^ + + # TOKENS ~~~zig LowerIdent,OpBar,OpPercent, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_002.md b/test/snapshots/fuzz_crash/fuzz_crash_002.md index 554ca47c81..80cba11734 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_002.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_002.md @@ -20,6 +20,7 @@ PARSE ERROR - fuzz_crash_002.md:1:21:1:23 PARSE ERROR - fuzz_crash_002.md:1:23:1:24 PARSE ERROR - fuzz_crash_002.md:1:24:1:25 MALFORMED TYPE - fuzz_crash_002.md:1:6:1:7 +MISSING MAIN! FUNCTION - fuzz_crash_002.md:1:1:1:25 # PROBLEMS **UNEXPECTED TOKEN IN TYPE ANNOTATION** The token **;** is not expected in a type annotation. @@ -152,6 +153,20 @@ modu:;::::::::::::::le[% ^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_002.md:1:1:1:25:** +```roc +modu:;::::::::::::::le[% +``` +^^^^^^^^^^^^^^^^^^^^^^^^ + + # TOKENS ~~~zig LowerIdent,OpColon,MalformedUnknownToken,OpDoubleColon,OpDoubleColon,OpDoubleColon,OpDoubleColon,OpDoubleColon,OpDoubleColon,OpDoubleColon,LowerIdent,OpenSquare,OpPercent, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_003.md b/test/snapshots/fuzz_crash/fuzz_crash_003.md index e95b750762..2772e7bdc4 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_003.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_003.md @@ -13,6 +13,7 @@ PARSE ERROR - fuzz_crash_003.md:1:1:1:2 PARSE ERROR - fuzz_crash_003.md:1:3:1:4 PARSE ERROR - fuzz_crash_003.md:1:4:1:6 PARSE ERROR - fuzz_crash_003.md:1:6:1:6 +MISSING MAIN! FUNCTION - fuzz_crash_003.md:1:1:1:6 # PROBLEMS **UNCLOSED STRING** This string is missing a closing quote. @@ -68,6 +69,20 @@ This is an unexpected parsing error. Please check your syntax. ^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_003.md:1:1:1:6:** +```roc += "te +``` +^^^^^ + + # TOKENS ~~~zig OpAssign,StringStart,StringPart,StringEnd, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_004.md b/test/snapshots/fuzz_crash/fuzz_crash_004.md index 1f64de1992..abd75da4a8 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_004.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_004.md @@ -9,6 +9,7 @@ F ~~~ # EXPECTED PARSE ERROR - fuzz_crash_004.md:2:1:2:1 +MISSING MAIN! FUNCTION - fuzz_crash_004.md:1:1:1:2 # PROBLEMS **PARSE ERROR** Type applications require parentheses around their type arguments. @@ -33,6 +34,20 @@ Other valid examples: ^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_004.md:1:1:1:2:** +```roc +F +``` +^ + + # TOKENS ~~~zig UpperIdent, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_005.md b/test/snapshots/fuzz_crash/fuzz_crash_005.md index a886ce9f67..a28900f0ec 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_005.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_005.md @@ -9,6 +9,7 @@ modu ~~~ # EXPECTED PARSE ERROR - fuzz_crash_005.md:1:1:1:5 +MISSING MAIN! FUNCTION - fuzz_crash_005.md:1:1:1:5 # PROBLEMS **PARSE ERROR** A parsing error occurred: `statement_unexpected_token` @@ -21,6 +22,20 @@ modu ^^^^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_005.md:1:1:1:5:** +```roc +modu +``` +^^^^ + + # TOKENS ~~~zig LowerIdent, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_006.md b/test/snapshots/fuzz_crash/fuzz_crash_006.md index 1be6f87317..c6fcb9d67f 100644 Binary files a/test/snapshots/fuzz_crash/fuzz_crash_006.md and b/test/snapshots/fuzz_crash/fuzz_crash_006.md differ diff --git a/test/snapshots/fuzz_crash/fuzz_crash_007.md b/test/snapshots/fuzz_crash/fuzz_crash_007.md index 418f036302..37149f6747 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_007.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_007.md @@ -11,6 +11,7 @@ ff8.8.d PARSE ERROR - fuzz_crash_007.md:1:1:1:4 PARSE ERROR - fuzz_crash_007.md:1:4:1:6 PARSE ERROR - fuzz_crash_007.md:1:6:1:8 +MISSING MAIN! FUNCTION - fuzz_crash_007.md:1:1:1:8 # PROBLEMS **PARSE ERROR** A parsing error occurred: `statement_unexpected_token` @@ -45,6 +46,20 @@ ff8.8.d ^^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_007.md:1:1:1:8:** +```roc +ff8.8.d +``` +^^^^^^^ + + # TOKENS ~~~zig LowerIdent,NoSpaceDotInt,NoSpaceDotLowerIdent, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_008.md b/test/snapshots/fuzz_crash/fuzz_crash_008.md index 3641aacde8..ad3f3254f3 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_008.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_008.md @@ -12,6 +12,7 @@ ASCII CONTROL CHARACTER - :0:0:0:0 PARSE ERROR - fuzz_crash_008.md:1:1:1:2 PARSE ERROR - fuzz_crash_008.md:1:3:1:4 PARSE ERROR - fuzz_crash_008.md:1:4:1:5 +MISSING MAIN! FUNCTION - fuzz_crash_008.md:1:1:1:5 # PROBLEMS **ASCII CONTROL CHARACTER** ASCII control characters are not allowed in Roc source code. @@ -51,6 +52,20 @@ This is an unexpected parsing error. Please check your syntax. ^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_008.md:1:1:1:5:** +```roc +||1 +``` +^^^^ + + # TOKENS ~~~zig OpBar,OpBar,Int, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_009.md b/test/snapshots/fuzz_crash/fuzz_crash_009.md index 7ede2d602b..f058736dc9 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_009.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_009.md @@ -19,6 +19,7 @@ PARSE ERROR - fuzz_crash_009.md:1:3:1:4 PARSE ERROR - fuzz_crash_009.md:1:4:1:5 PARSE ERROR - fuzz_crash_009.md:1:5:1:6 PARSE ERROR - fuzz_crash_009.md:2:6:2:7 +MISSING MAIN! FUNCTION - fuzz_crash_009.md:1:2:6:12 # PROBLEMS **UNCLOSED STRING** This string is missing a closing quote. @@ -85,6 +86,24 @@ This is an unexpected parsing error. Please check your syntax. ^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_009.md:1:2:6:12:** +```roc + f{o, + ] + +foo = + + "onmo % +``` + + # TOKENS ~~~zig LowerIdent,OpenCurly,LowerIdent,Comma, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_010.md b/test/snapshots/fuzz_crash/fuzz_crash_010.md index d80c2a8245..51c1f5a383 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_010.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_010.md @@ -18,6 +18,7 @@ PARSE ERROR - fuzz_crash_010.md:1:2:1:3 PARSE ERROR - fuzz_crash_010.md:1:3:1:4 PARSE ERROR - fuzz_crash_010.md:1:4:1:5 PARSE ERROR - fuzz_crash_010.md:2:6:2:7 +MISSING MAIN! FUNCTION - fuzz_crash_010.md:1:1:5:35 # PROBLEMS **ASCII CONTROL CHARACTER** ASCII control characters are not allowed in Roc source code. @@ -90,6 +91,23 @@ This is an unexpected parsing error. Please check your syntax. ^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_010.md:1:1:5:35:** +```roc +H{o, +  ] +foo = + + "on (string 'onmo %'))) +``` + + # TOKENS ~~~zig UpperIdent,OpenCurly,LowerIdent,Comma, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_012.md b/test/snapshots/fuzz_crash/fuzz_crash_012.md index 8362a442b7..feeeeae991 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_012.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_012.md @@ -15,6 +15,7 @@ PARSE ERROR - fuzz_crash_012.md:1:4:1:5 PARSE ERROR - fuzz_crash_012.md:1:5:1:6 PARSE ERROR - fuzz_crash_012.md:1:6:1:16 PARSE ERROR - fuzz_crash_012.md:1:16:1:17 +MISSING MAIN! FUNCTION - fuzz_crash_012.md:1:1:1:17 # PROBLEMS **PARSE ERROR** A parsing error occurred: `statement_unexpected_token` @@ -93,6 +94,20 @@ This is an unexpected parsing error. Please check your syntax. ^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_012.md:1:1:1:17:** +```roc +||(|(l888888888| +``` +^^^^^^^^^^^^^^^^ + + # TOKENS ~~~zig OpBar,OpBar,NoSpaceOpenRound,OpBar,NoSpaceOpenRound,LowerIdent,OpBar, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_013.md b/test/snapshots/fuzz_crash/fuzz_crash_013.md index e0802861bf..42c53b14ec 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_013.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_013.md @@ -10,6 +10,7 @@ type=file # EXPECTED PARSE ERROR - fuzz_crash_013.md:1:1:1:2 PARSE ERROR - fuzz_crash_013.md:1:2:1:3 +MISSING MAIN! FUNCTION - fuzz_crash_013.md:1:1:1:3 # PROBLEMS **PARSE ERROR** A parsing error occurred: `statement_unexpected_token` @@ -33,6 +34,20 @@ This is an unexpected parsing error. Please check your syntax. ^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_013.md:1:1:1:3:** +```roc +0{ +``` +^^ + + # TOKENS ~~~zig Int,OpenCurly, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_014.md b/test/snapshots/fuzz_crash/fuzz_crash_014.md index 2c0bfe5c5c..51c10bbbad 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_014.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_014.md @@ -14,6 +14,7 @@ PARSE ERROR - fuzz_crash_014.md:1:1:1:3 PARSE ERROR - fuzz_crash_014.md:1:3:1:5 PARSE ERROR - fuzz_crash_014.md:2:1:2:6 PARSE ERROR - fuzz_crash_014.md:3:1:3:5 +MISSING MAIN! FUNCTION - fuzz_crash_014.md:1:1:3:5 # PROBLEMS **PARSE ERROR** A parsing error occurred: `statement_unexpected_token` @@ -59,6 +60,21 @@ This is an unexpected parsing error. Please check your syntax. ^^^^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_014.md:1:1:3:5:** +```roc +0b.0 +0bu22 +0u22 +``` + + # TOKENS ~~~zig MalformedNumberNoDigits,NoSpaceDotInt, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_015.md b/test/snapshots/fuzz_crash/fuzz_crash_015.md index 7b0745710c..497960b63d 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_015.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_015.md @@ -18,6 +18,7 @@ PARSE ERROR - fuzz_crash_015.md:2:1:2:4 PARSE ERROR - fuzz_crash_015.md:3:1:3:4 PARSE ERROR - fuzz_crash_015.md:3:4:3:6 PARSE ERROR - fuzz_crash_015.md:4:1:4:3 +MISSING MAIN! FUNCTION - fuzz_crash_015.md:1:1:4:3 # PROBLEMS **LEADING ZERO** Numbers cannot have leading zeros. @@ -90,6 +91,22 @@ This is an unexpected parsing error. Please check your syntax. ^^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_015.md:1:1:4:3:** +```roc +0o0.0 +0_0 +0u8.0 +0_ +``` + + # TOKENS ~~~zig Int,NoSpaceDotInt, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_016.md b/test/snapshots/fuzz_crash/fuzz_crash_016.md index 503b5f69cd..2fa8ba2be8 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_016.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_016.md @@ -10,6 +10,7 @@ type=file # EXPECTED PARSE ERROR - fuzz_crash_016.md:1:1:1:2 PARSE ERROR - fuzz_crash_016.md:1:2:1:3 +MISSING MAIN! FUNCTION - fuzz_crash_016.md:1:1:1:3 # PROBLEMS **PARSE ERROR** A parsing error occurred: `statement_unexpected_token` @@ -33,6 +34,20 @@ This is an unexpected parsing error. Please check your syntax. ^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_016.md:1:1:1:3:** +```roc +0| +``` +^^ + + # TOKENS ~~~zig Int,OpBar, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_017.md b/test/snapshots/fuzz_crash/fuzz_crash_017.md index ed685f77ea..f59e1dbca4 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_017.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_017.md @@ -11,6 +11,7 @@ foo = "hello ${namF # EXPECTED PARSE ERROR - fuzz_crash_017.md:2:7:2:8 UNRECOGNIZED SYNTAX - fuzz_crash_017.md:2:7:2:20 +MISSING MAIN! FUNCTION - fuzz_crash_017.md:1:1:2:20 # PROBLEMS **PARSE ERROR** A parsing error occurred: `string_expected_close_interpolation` @@ -34,6 +35,20 @@ foo = "hello ${namF This might be a syntax error, an unsupported language feature, or a typo. +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_017.md:1:1:2:20:** +```roc +me = "luc" +foo = "hello ${namF +``` + + # TOKENS ~~~zig LowerIdent,OpAssign,StringStart,StringPart,StringEnd, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_018.md b/test/snapshots/fuzz_crash/fuzz_crash_018.md index 68be6e4006..b457375506 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_018.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_018.md @@ -12,6 +12,7 @@ type=file PARSE ERROR - fuzz_crash_018.md:1:1:1:2 PARSE ERROR - fuzz_crash_018.md:2:1:2:3 UNDECLARED TYPE - fuzz_crash_018.md:1:5:1:6 +MISSING MAIN! FUNCTION - fuzz_crash_018.md:1:1:2:3 # PROBLEMS **PARSE ERROR** A parsing error occurred: `statement_unexpected_token` @@ -46,6 +47,20 @@ This type is referenced here: ^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_018.md:1:1:2:3:** +```roc +0 b:S +.R +``` + + # TOKENS ~~~zig Int,LowerIdent,OpColon,UpperIdent, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_021.md b/test/snapshots/fuzz_crash/fuzz_crash_021.md index 75caa16730..71e929fc27 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_021.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_021.md @@ -20,6 +20,7 @@ PARSE ERROR - fuzz_crash_021.md:1:16:1:16 PARSE ERROR - fuzz_crash_021.md:3:1:3:5 PARSE ERROR - fuzz_crash_021.md:4:1:4:1 MALFORMED TYPE - fuzz_crash_021.md:3:14:3:15 +TYPE MODULE MISSING MATCHING TYPE - fuzz_crash_021.md:1:1:3:15 # PROBLEMS **UNCLOSED STRING** This string is missing a closing quote. @@ -141,6 +142,23 @@ Pair(a, b+ : ( ^ +**TYPE MODULE MISSING MATCHING TYPE** +Type modules must have a type declaration matching the module name. + +This file is named `fuzz_crash_021`.roc, but no top-level type declaration named `fuzz_crash_021` was found. + +Add either: +`fuzz_crash_021 := ...` (nominal type) +or: +`fuzz_crash_021 : ...` (type alias) +**fuzz_crash_021.md:1:1:3:15:** +```roc +Fli/main.roc" } + +Pair(a, b+ : ( +``` + + # TOKENS ~~~zig UpperIdent,OpSlash,LowerIdent,NoSpaceDotLowerIdent,StringStart,StringPart,StringEnd, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_031.md b/test/snapshots/fuzz_crash/fuzz_crash_031.md index a4398e2b8d..6cd1ff74a5 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_031.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_031.md @@ -18,6 +18,7 @@ PARSE ERROR - fuzz_crash_031.md:1:7:1:8 PARSE ERROR - fuzz_crash_031.md:4:1:4:6 UNEXPECTED TOKEN IN EXPRESSION - fuzz_crash_031.md:4:10:4:11 UNRECOGNIZED SYNTAX - fuzz_crash_031.md:4:10:4:11 +MISSING MAIN! FUNCTION - fuzz_crash_031.md:1:1:4:11 # PROBLEMS **UNCLOSED SINGLE QUOTE** This single-quoted literal is missing a closing quote. @@ -95,6 +96,22 @@ vavar t= ' This might be a syntax error, an unsupported language feature, or a typo. +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_031.md:1:1:4:11:** +```roc +mule [] + +#el +vavar t= ' +``` + + # TOKENS ~~~zig LowerIdent,OpenSquare,CloseSquare, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_038.md b/test/snapshots/fuzz_crash/fuzz_crash_038.md index 83300a6566..b382dc13b9 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_038.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_038.md @@ -10,6 +10,7 @@ type=file # EXPECTED PARSE ERROR - fuzz_crash_038.md:1:1:1:2 PARSE ERROR - fuzz_crash_038.md:1:2:1:8 +MISSING MAIN! FUNCTION - fuzz_crash_038.md:1:1:1:13 # PROBLEMS **PARSE ERROR** A parsing error occurred: `statement_unexpected_token` @@ -33,6 +34,20 @@ This is an unexpected parsing error. Please check your syntax. ^^^^^^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_038.md:1:1:1:13:** +```roc +*import B as +``` +^^^^^^^^^^^^ + + # TOKENS ~~~zig OpStar,KwImport,UpperIdent,KwAs, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_064.md b/test/snapshots/fuzz_crash/fuzz_crash_064.md index 58554d999b..01b4c5c9e7 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_064.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_064.md @@ -8,9 +8,22 @@ type=file ~~~ # EXPECTED -NIL +MISSING MAIN! FUNCTION - fuzz_crash_064.md:2:1:2:1 # PROBLEMS -NIL +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_064.md:2:1:2:1:** +```roc + +``` +^ + + # TOKENS ~~~zig EndOfFile, diff --git a/test/snapshots/fuzz_crash/fuzz_crash_079.md b/test/snapshots/fuzz_crash/fuzz_crash_079.md index a1344dec69..5d1c7229bb 100644 --- a/test/snapshots/fuzz_crash/fuzz_crash_079.md +++ b/test/snapshots/fuzz_crash/fuzz_crash_079.md @@ -9,9 +9,22 @@ type=file b:r ~~~ # EXPECTED -NIL +MISSING MAIN! FUNCTION - fuzz_crash_079.md:2:1:2:4 # PROBLEMS -NIL +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_crash_079.md:2:1:2:4:** +```roc +b:r +``` +^^^ + + # TOKENS ~~~zig LowerIdent,OpColon,LowerIdent, diff --git a/test/snapshots/fuzz_crash/fuzz_hang_001.md b/test/snapshots/fuzz_crash/fuzz_hang_001.md index 703792a2ae..79e4a6f335 100644 --- a/test/snapshots/fuzz_crash/fuzz_hang_001.md +++ b/test/snapshots/fuzz_crash/fuzz_hang_001.md @@ -10,6 +10,7 @@ type=file # EXPECTED PARSE ERROR - fuzz_hang_001.md:1:1:1:2 PARSE ERROR - fuzz_hang_001.md:1:3:1:4 +MISSING MAIN! FUNCTION - fuzz_hang_001.md:1:1:1:4 # PROBLEMS **PARSE ERROR** A parsing error occurred: `statement_unexpected_token` @@ -33,6 +34,20 @@ This is an unexpected parsing error. Please check your syntax. ^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**fuzz_hang_001.md:1:1:1:4:** +```roc +0 ( +``` +^^^ + + # TOKENS ~~~zig Int,OpenRound, diff --git a/test/snapshots/nominal/nominal_associated_vs_module.md b/test/snapshots/nominal/nominal_associated_vs_module.md index aac13e4c21..86b223880c 100644 --- a/test/snapshots/nominal/nominal_associated_vs_module.md +++ b/test/snapshots/nominal/nominal_associated_vs_module.md @@ -14,9 +14,29 @@ useBar : Foo.Bar useBar = Something ~~~ # EXPECTED -NIL +TYPE MODULE MISSING MATCHING TYPE - nominal_associated_vs_module.md:1:1:7:19 # PROBLEMS -NIL +**TYPE MODULE MISSING MATCHING TYPE** +Type modules must have a type declaration matching the module name. + +This file is named `nominal_associated_vs_module`.roc, but no top-level type declaration named `nominal_associated_vs_module` was found. + +Add either: +`nominal_associated_vs_module := ...` (nominal type) +or: +`nominal_associated_vs_module : ...` (type alias) +**nominal_associated_vs_module.md:1:1:7:19:** +```roc +Foo := [Whatever].{ + Bar := [Something] +} + +# This should resolve to the local Foo.Bar, not try to import from a Foo module +useBar : Foo.Bar +useBar = Something +``` + + # TOKENS ~~~zig UpperIdent,OpColonEqual,OpenSquare,UpperIdent,CloseSquare,Dot,OpenCurly, diff --git a/test/snapshots/some_folder/002.md b/test/snapshots/some_folder/002.md index 87e220f250..80cf7b225a 100644 --- a/test/snapshots/some_folder/002.md +++ b/test/snapshots/some_folder/002.md @@ -16,6 +16,7 @@ PARSE ERROR - 002.md:1:1:1:3 PARSE ERROR - 002.md:1:4:1:6 PARSE ERROR - 002.md:1:7:1:8 PARSE ERROR - 002.md:1:8:1:9 +MISSING MAIN! FUNCTION - 002.md:1:1:5:12 # PROBLEMS **PARSE ERROR** A parsing error occurred: `statement_unexpected_token` @@ -61,6 +62,23 @@ This is an unexpected parsing error. Please check your syntax. ^ +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**002.md:1:1:5:12:** +```roc +@2 := {} + +foo = "one" + +bar = "two" +``` + + # TOKENS ~~~zig OpaqueName,OpColonEqual,OpenCurly,CloseCurly, diff --git a/test/snapshots/type_module/WrongName.md b/test/snapshots/type_module/WrongName.md index 0925408dcf..72556fae70 100644 --- a/test/snapshots/type_module/WrongName.md +++ b/test/snapshots/type_module/WrongName.md @@ -8,9 +8,24 @@ type=file SomeOtherName := [A, B] ~~~ # EXPECTED -NIL +TYPE MODULE MISSING MATCHING TYPE - WrongName.md:1:1:1:24 # PROBLEMS -NIL +**TYPE MODULE MISSING MATCHING TYPE** +Type modules must have a type declaration matching the module name. + +This file is named `WrongName`.roc, but no top-level type declaration named `WrongName` was found. + +Add either: +`WrongName := ...` (nominal type) +or: +`WrongName : ...` (type alias) +**WrongName.md:1:1:1:24:** +```roc +SomeOtherName := [A, B] +``` +^^^^^^^^^^^^^^^^^^^^^^^ + + # TOKENS ~~~zig UpperIdent,OpColonEqual,OpenSquare,UpperIdent,Comma,UpperIdent,CloseSquare, diff --git a/test/snapshots/type_module/no_type_no_main.md b/test/snapshots/type_module/no_type_no_main.md index 0dc41cdb97..909880c5d5 100644 --- a/test/snapshots/type_module/no_type_no_main.md +++ b/test/snapshots/type_module/no_type_no_main.md @@ -8,9 +8,22 @@ type=file x = 5 ~~~ # EXPECTED -NIL +MISSING MAIN! FUNCTION - no_type_no_main.md:1:1:1:6 # PROBLEMS -NIL +**MISSING MAIN! FUNCTION** +Default app modules must have a `main!` function. + +No `main!` function was found. + +Add a main! function like: +`main! = |arg| { ... }` +**no_type_no_main.md:1:1:1:6:** +```roc +x = 5 +``` +^^^^^ + + # TOKENS ~~~zig LowerIdent,OpAssign,Int,