Report module params parse error

This commit is contained in:
Agus Zubiaga 2024-05-01 22:48:02 -03:00
parent 5b1a3c8f03
commit 760ffaf68f
No known key found for this signature in database
7 changed files with 74 additions and 1 deletions

View file

@ -6210,6 +6210,31 @@ In roc, functions are always written as a lambda, like{}
)
}
#[test]
fn module_params_with_missing_arrow() {
report_header_problem_as(
indoc!(
r#"
module {echo, read} [menu]
"#
),
indoc!(
r#"
WEIRD MODULE PARAMS in /code/proj/Main.roc
I am partway through parsing a module header, but I got stuck here:
1 module {echo, read} [menu]
^
I am expecting `->` next, like:
module { echo, read } -> [menu]
"#
),
)
}
#[test]
fn platform_requires_rigids() {
report_header_problem_as(

View file

@ -0,0 +1 @@
Header(Params(Arrow(@22), @7))

View file

@ -0,0 +1 @@
module { echo, name } [menu]

View file

@ -0,0 +1 @@
Header(Params(Pattern(End(@20), @7), @7))

View file

@ -0,0 +1 @@
module { echo, name -> [menu]

View file

@ -249,6 +249,8 @@ mod test_snapshots {
fail/when_over_indented_underscore.expr,
fail/where_type_variable.expr,
fail/wild_case_arrow.expr,
fail/module_with_unfinished_params.header,
fail/module_params_with_missing_arrow.header,
malformed/bad_opaque_ref.expr,
malformed/malformed_ident_due_to_underscore.expr,
malformed/malformed_pattern_field_access.expr, // See https://github.com/roc-lang/roc/issues/399