Fix a bunch of bugs found in fuzzing

This commit is contained in:
Joshua Warner 2024-12-01 12:30:23 -08:00
parent 5cd38c969f
commit f7a5f06e5b
No known key found for this signature in database
GPG key ID: 89AD497003F93FDD
217 changed files with 5745 additions and 994 deletions

View file

@ -1,6 +1,6 @@
#![no_main]
use libfuzzer_sys::fuzz_target;
use bumpalo::Bump;
use libfuzzer_sys::fuzz_target;
use test_syntax::test_helpers::Input;
fuzz_target!(|data: &[u8]| {

View file

@ -102,6 +102,12 @@ fn round_trip_once(input: Input<'_>) -> Option<String> {
return Some("Different ast".to_string());
}
let reformatted = reparsed_ast.format();
if output != reformatted {
return Some("Formatting not stable".to_string());
}
None
}

View file

@ -239,7 +239,7 @@ impl<'a> Input<'a> {
self.as_str(),
output.as_ref().as_str(),
actual,
reparsed_ast_normalized
reparsed_ast
);
}

View file

@ -0,0 +1,43 @@
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-6,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [
Alias {
header: TypeHeader {
name: @0-1 "M",
vars: [],
},
ann: @4-5 SpaceBefore(
BoundVariable(
"r",
),
[
Newline,
],
),
},
],
value_defs: [],
},
@7-8 SpaceBefore(
Var {
module_name: "",
ident: "h",
},
[
Newline,
],
),
)

View file

@ -0,0 +1,48 @@
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-7,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [
Alias {
header: TypeHeader {
name: @0-1 "A",
vars: [
@4-5 SpaceBefore(
Identifier {
ident: "p",
},
[
LineComment(
"",
),
],
),
],
},
ann: @6-7 BoundVariable(
"e",
),
},
],
value_defs: [],
},
@8-9 SpaceBefore(
Tag(
"A",
),
[
Newline,
],
),
)

View file

@ -0,0 +1,44 @@
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-7,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [
Alias {
header: TypeHeader {
name: @0-1 "K",
vars: [],
},
ann: @5-6 SpaceBefore(
BoundVariable(
"s",
),
[
LineComment(
"",
),
],
),
},
],
value_defs: [],
},
@8-9 SpaceBefore(
Tag(
"K",
),
[
Newline,
],
),
)

View file

@ -0,0 +1,3 @@
K:(#
s)
K

View file

@ -0,0 +1,59 @@
SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-9,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [
Alias {
header: TypeHeader {
name: @0-1 "O",
vars: [],
},
ann: @2-9 Apply(
"",
"O",
[
@4-5 SpaceAfter(
BoundVariable(
"z",
),
[
Newline,
LineComment(
"",
),
],
),
],
),
},
],
value_defs: [],
},
@10-11 SpaceBefore(
Var {
module_name: "",
ident: "b",
},
[
Newline,
],
),
),
[
LineComment(
"",
),
],
)

View file

@ -0,0 +1,58 @@
SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-11,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Annotation(
@0-1 Identifier {
ident: "r",
},
@4-5 SpaceBefore(
SpaceAfter(
BoundVariable(
"r",
),
[
Newline,
LineComment(
"",
),
LineComment(
"",
),
],
),
[
Newline,
],
),
),
],
},
@12-13 SpaceBefore(
Var {
module_name: "",
ident: "h",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -0,0 +1,6 @@
r:(
r
#
#
)
h

View file

@ -0,0 +1,51 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-9,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Annotation(
@0-7 RecordDestructure(
[
@1-6 SpaceAfter(
RequiredField(
"l",
@5-6 Identifier {
ident: "s",
},
),
[
LineComment(
"",
),
],
),
],
),
@8-9 BoundVariable(
"s",
),
),
],
},
@10-11 SpaceBefore(
Var {
module_name: "",
ident: "o",
},
[
Newline,
],
),
)

View file

@ -0,0 +1,58 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-9,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Annotation(
@0-1 Identifier {
ident: "k",
},
@3-9 SpaceBefore(
TagUnion {
ext: Some(
@8-9 BoundVariable(
"m",
),
),
tags: Collection {
items: [
@4-5 Apply {
name: @4-5 "T",
args: [],
},
],
final_comments: [
Newline,
],
},
},
[
Newline,
],
),
),
],
},
@11-12 SpaceBefore(
Tag(
"D",
),
[
LineComment(
"",
),
],
),
)

View file

@ -0,0 +1,5 @@
1 : (
f,
(ww -> p),
)e
Mh

View file

@ -0,0 +1,61 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-13,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Annotation(
@0-1 NumLiteral(
"1",
),
@2-13 Tuple {
elems: [
@3-4 SpaceAfter(
BoundVariable(
"f",
),
[
Newline,
],
),
@6-11 Function(
[
@6-8 BoundVariable(
"ww",
),
],
Pure,
@10-11 BoundVariable(
"p",
),
),
],
ext: Some(
@12-13 BoundVariable(
"e",
),
),
},
),
],
},
@14-16 SpaceBefore(
Tag(
"Mh",
),
[
Newline,
],
),
)

View file

@ -0,0 +1,3 @@
1:(f
,ww->p)e
Mh

View file

@ -0,0 +1,50 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-8,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
AnnotatedBody {
ann_pattern: Apply(
@0-1 Tag(
"E",
),
[],
),
ann_type: @2-3 Apply(
"",
"B",
[],
),
lines_between: [
Newline,
],
body_pattern: @4-6 RecordDestructure(
[],
),
body_expr: @7-8 Tag(
"B",
),
},
],
},
@9-10 SpaceBefore(
Tag(
"B",
),
[
Newline,
],
),
)

View file

@ -28,8 +28,13 @@ Defs(
),
],
},
ann: @6-7 BoundVariable(
"e",
ann: @6-7 SpaceBefore(
BoundVariable(
"e",
),
[
Newline,
],
),
},
],

View file

@ -0,0 +1,56 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-10,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Annotation(
@0-1 NumLiteral(
"3",
),
@2-10 Function(
[
@2-7 Tuple {
elems: Collection {
items: [],
final_comments: [
LineComment(
"",
),
],
},
ext: Some(
@6-7 BoundVariable(
"n",
),
),
},
],
Pure,
@9-10 BoundVariable(
"n",
),
),
),
],
},
@12-13 SpaceBefore(
Num(
"0",
),
[
Newline,
],
),
)

View file

@ -0,0 +1,3 @@
3:(#
)n->n
0

View file

@ -0,0 +1,52 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-8,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Annotation(
@0-1 Identifier {
ident: "d",
},
@2-8 Tuple {
elems: Collection {
items: [
@3-4 Apply(
"",
"J",
[],
),
],
final_comments: [
Newline,
],
},
ext: Some(
@7-8 BoundVariable(
"g",
),
),
},
),
],
},
@9-10 SpaceBefore(
Num(
"2",
),
[
Newline,
],
),
)

View file

@ -0,0 +1,51 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-9,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Annotation(
@0-1 Identifier {
ident: "p",
},
@2-9 Tuple {
elems: Collection {
items: [],
final_comments: [
Newline,
],
},
ext: Some(
@7-8 SpaceBefore(
BoundVariable(
"i",
),
[
Newline,
],
),
),
},
),
],
},
@10-12 SpaceBefore(
Record(
[],
),
[
Newline,
],
),
)

View file

@ -0,0 +1,5 @@
a :
N {
h,
}
g

View file

@ -0,0 +1,58 @@
SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-8,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Annotation(
@0-1 Identifier {
ident: "a",
},
@2-8 Apply(
"",
"N",
[
@3-8 Record {
fields: Collection {
items: [
@4-5 LabelOnly(
@4-5 "h",
),
],
final_comments: [
Newline,
],
},
ext: None,
},
],
),
),
],
},
@9-10 SpaceBefore(
Var {
module_name: "",
ident: "g",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -0,0 +1,3 @@
a:N{h,
}
g

View file

@ -0,0 +1,4 @@
ex <- f #
s # q
<- f #
s

View file

@ -0,0 +1,52 @@
SpaceBefore(
Backpassing(
[
@1-3 Identifier {
ident: "ex",
},
],
@5-6 Var {
module_name: "",
ident: "f",
},
@8-18 SpaceBefore(
Backpassing(
[
@8-9 SpaceAfter(
Identifier {
ident: "s",
},
[
LineComment(
"q",
),
],
),
],
@14-15 Var {
module_name: "",
ident: "f",
},
@17-18 SpaceBefore(
Var {
module_name: "",
ident: "s",
},
[
LineComment(
"",
),
],
),
),
[
LineComment(
"",
),
],
),
),
[
Newline,
],
)

View file

@ -0,0 +1,5 @@
ex<-f#
s#q
<-f#
s

View file

@ -0,0 +1,56 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
EitherIndex(2147483649),
],
regions: [
@0-1,
@2-6,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 1 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
Slice<roc_parse::ast::CommentOrNewline> { start: 1, length: 0 },
],
spaces: [
Newline,
],
type_defs: [],
value_defs: [
Stmt(
@0-1 Num(
"0",
),
),
Stmt(
@2-6 UnaryOp(
@4-6 SpaceBefore(
AccessorFunction(
RecordField(
"d",
),
),
[
Newline,
],
),
@2-3 Not,
),
),
],
},
@7-9 SpaceBefore(
AccessorFunction(
RecordField(
"d",
),
),
[
Newline,
],
),
)

View file

@ -0,0 +1,8 @@
5
- (
(
e =
r
1
)
)

View file

@ -0,0 +1,60 @@
BinOps(
[
(
@0-1 Num(
"5",
),
@1-2 Minus,
),
],
@3-15 ParensAround(
ParensAround(
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@4-12,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Body(
@4-5 Identifier {
ident: "e",
},
@6-12 ParensAround(
ParensAround(
SpaceBefore(
Var {
module_name: "",
ident: "r",
},
[
Newline,
],
),
),
),
),
],
},
@13-14 SpaceBefore(
Num(
"1",
),
[
Newline,
],
),
),
),
),
)

View file

@ -0,0 +1,3 @@
5-((e=((
r))
1))

View file

@ -0,0 +1,48 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-12,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Body(
@0-1 Identifier {
ident: "t",
},
@2-12 Apply(
@2-10 Str(
PlainLine(
"\" ",
),
),
[
@10-12 Str(
PlainLine(
"",
),
),
],
Space,
),
),
],
},
@13-14 SpaceBefore(
Tag(
"S",
),
[
Newline,
],
),
)

View file

@ -0,0 +1,44 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-6,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Body(
@0-1 Identifier {
ident: "a",
},
@2-6 ParensAround(
SpaceBefore(
Num(
"6",
),
[
Newline,
],
),
),
),
],
},
@7-8 SpaceBefore(
Var {
module_name: "",
ident: "a",
},
[
Newline,
],
),
)

View file

@ -0,0 +1,48 @@
BinOps(
[
(
@0-9 SpaceAfter(
Apply(
@0-2 Var {
module_name: "",
ident: "m0",
},
[
@2-9 Closure(
[
@3-4 Identifier {
ident: "w",
},
],
@6-9 Apply(
@6-7 TrySuffix {
target: Result,
expr: Var {
module_name: "",
ident: "w",
},
},
[
@8-9 Var {
module_name: "",
ident: "e",
},
],
Space,
),
),
],
Space,
),
[
Newline,
],
),
@10-11 Slash,
),
],
@11-12 Var {
module_name: "",
ident: "s",
},
)

View file

@ -24,91 +24,96 @@ SpaceAfter(
},
],
},
ann: @21-164 Record {
fields: [
@23-47 SpaceAfter(
RequiredValue(
@23-32 "evaluated",
[],
@35-47 Apply(
"",
"Set",
[
@39-47 BoundVariable(
"position",
),
],
ann: @21-164 SpaceBefore(
Record {
fields: [
@23-47 SpaceAfter(
RequiredValue(
@23-32 "evaluated",
[],
@35-47 Apply(
"",
"Set",
[
@39-47 BoundVariable(
"position",
),
],
),
),
[
Newline,
],
),
[
Newline,
],
),
@54-76 SpaceAfter(
RequiredValue(
@54-61 "openSet",
[],
@64-76 Apply(
"",
"Set",
[
@68-76 BoundVariable(
"position",
),
],
@54-76 SpaceAfter(
RequiredValue(
@54-61 "openSet",
[],
@64-76 Apply(
"",
"Set",
[
@68-76 BoundVariable(
"position",
),
],
),
),
[
Newline,
],
),
[
Newline,
],
),
@83-113 SpaceAfter(
RequiredValue(
@83-88 "costs",
[],
@91-113 Apply(
"Dict",
"Dict",
[
@101-109 BoundVariable(
"position",
),
@110-113 Apply(
"",
"F64",
[],
),
],
@83-113 SpaceAfter(
RequiredValue(
@83-88 "costs",
[],
@91-113 Apply(
"Dict",
"Dict",
[
@101-109 BoundVariable(
"position",
),
@110-113 Apply(
"",
"F64",
[],
),
],
),
),
[
Newline,
],
),
[
Newline,
],
),
@120-158 SpaceAfter(
RequiredValue(
@120-128 "cameFrom",
[],
@131-158 Apply(
"Dict",
"Dict",
[
@141-149 BoundVariable(
"position",
),
@150-158 BoundVariable(
"position",
),
],
@120-158 SpaceAfter(
RequiredValue(
@120-128 "cameFrom",
[],
@131-158 Apply(
"Dict",
"Dict",
[
@141-149 BoundVariable(
"position",
),
@150-158 BoundVariable(
"position",
),
],
),
),
[
Newline,
],
),
[
Newline,
],
),
],
ext: None,
},
[
Newline,
],
ext: None,
},
),
},
],
value_defs: [],

View file

@ -0,0 +1,37 @@
Backpassing(
[
@0-1 Identifier {
ident: "a",
},
@2-6 Apply(
@2-3 Tag(
"M",
),
[
@5-6 SpaceBefore(
Identifier {
ident: "c",
},
[
LineComment(
"",
),
],
),
],
),
],
@8-9 Var {
module_name: "",
ident: "t",
},
@10-11 SpaceBefore(
Var {
module_name: "",
ident: "a",
},
[
Newline,
],
),
)

View file

@ -0,0 +1,28 @@
Closure(
[
@1-6 Apply(
@1-2 Tag(
"L",
),
[
@5-6 SpaceBefore(
Identifier {
ident: "i",
},
[
LineComment(
"",
),
],
),
],
),
],
@8-10 UnaryOp(
@9-10 Var {
module_name: "",
ident: "e",
},
@8-9 Negate,
),
)

View file

@ -0,0 +1,28 @@
Closure(
[
@1-2 Tag(
"L",
),
@3-8 Apply(
@3-4 Tag(
"M",
),
[
@7-8 SpaceBefore(
Tag(
"Q",
),
[
LineComment(
"",
),
],
),
],
),
],
@10-12 Var {
module_name: "",
ident: "f8",
},
)

View file

@ -0,0 +1,53 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-13,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Annotation(
@0-1 Apply(
@0-1 NumLiteral(
"1",
),
[
@2-7 SpaceAfter(
NumLiteral(
"0",
),
[
LineComment(
"",
),
LineComment(
"",
),
],
),
],
),
@11-13 BoundVariable(
"gi",
),
),
],
},
@14-15 SpaceBefore(
Tag(
"M",
),
[
Newline,
],
),
)

View file

@ -0,0 +1,4 @@
1((0#
)#
):gi
M

View file

@ -0,0 +1,4 @@
1 (0 #
0)
f : f
t

View file

@ -0,0 +1,71 @@
SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-15,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Annotation(
@0-1 Apply(
@0-1 NumLiteral(
"1",
),
[
@2-11 SpaceAfter(
Apply(
@3-4 NumLiteral(
"0",
),
[
@7-8 SpaceBefore(
NumLiteral(
"0",
),
[
LineComment(
"",
),
],
),
],
),
[
Newline,
],
),
@12-13 Identifier {
ident: "f",
},
],
),
@14-15 BoundVariable(
"f",
),
),
],
},
@16-17 SpaceBefore(
Var {
module_name: "",
ident: "t",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -0,0 +1,4 @@
1((0(#
0)
))f:f
t

View file

@ -0,0 +1,6 @@
1 (ts 0)
#
f : i7f
e

View file

@ -0,0 +1,68 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-20,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Annotation(
@0-1 Apply(
@0-1 NumLiteral(
"1",
),
[
@2-13 SpaceAfter(
Apply(
@2-4 Identifier {
ident: "ts",
},
[
@5-9 SpaceAfter(
NumLiteral(
"0",
),
[
Newline,
Newline,
LineComment(
"",
),
],
),
],
),
[
Newline,
],
),
@15-16 Identifier {
ident: "f",
},
],
),
@17-20 BoundVariable(
"i7f",
),
),
],
},
@21-22 SpaceBefore(
Var {
module_name: "",
ident: "e",
},
[
Newline,
],
),
)

View file

@ -0,0 +1,6 @@
1(ts((0
)
#
)
)f:i7f
e

View file

@ -0,0 +1,63 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-10,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Stmt(
@0-10 ParensAround(
SpaceBefore(
Backpassing(
[
@2-4 Tag(
"M0",
),
],
@6-7 Var {
module_name: "",
ident: "f",
},
@8-9 SpaceBefore(
Num(
"1",
),
[
Newline,
],
),
),
[
Newline,
],
),
),
),
],
},
@11-15 SpaceBefore(
ParensAround(
SpaceBefore(
Num(
"1",
),
[
Newline,
],
),
),
[
Newline,
],
),
)

View file

@ -0,0 +1,5 @@
(
M0<-f
1)
(
1)

View file

@ -0,0 +1,48 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-9,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Body(
@0-1 Identifier {
ident: "e",
},
@2-9 Apply(
@2-8 Str(
Block(
[],
),
),
[
@8-9 Var {
module_name: "",
ident: "a",
},
],
Space,
),
),
],
},
@10-11 SpaceBefore(
Var {
module_name: "",
ident: "p",
},
[
Newline,
],
),
)

View file

@ -0,0 +1,2 @@
e=""""""a
p

View file

@ -0,0 +1,58 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-10,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Annotation(
@0-1 NumLiteral(
"1",
),
@2-10 Tuple {
elems: [
@6-7 SpaceBefore(
SpaceBefore(
Apply(
"",
"M",
[],
),
[
Newline,
],
),
[
Newline,
],
),
],
ext: Some(
@9-10 BoundVariable(
"w",
),
),
},
),
],
},
@11-13 SpaceBefore(
Var {
module_name: "",
ident: "ah",
},
[
Newline,
],
),
)

View file

@ -0,0 +1,4 @@
1:(
(
M))w
ah

View file

@ -0,0 +1,41 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-6,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Body(
@0-2 RecordDestructure(
[],
),
@5-6 SpaceBefore(
Tag(
"P",
),
[
Newline,
],
),
),
],
},
@7-8 SpaceBefore(
Tag(
"O",
),
[
Newline,
],
),
)

View file

@ -0,0 +1,54 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-10,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Body(
@0-3 SpaceAfter(
RecordDestructure(
Collection {
items: [],
final_comments: [
Newline,
],
},
),
[
Newline,
],
),
@5-10 Apply(
@5-8 Dbg,
[
@9-10 Var {
module_name: "",
ident: "n",
},
],
Space,
),
),
],
},
@11-12 SpaceBefore(
Var {
module_name: "",
ident: "d",
},
[
Newline,
],
),
)

View file

@ -0,0 +1,4 @@
{
}
=dbg n
d

View file

@ -0,0 +1,64 @@
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-11,
],
space_before: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
space_after: [
Slice<roc_parse::ast::CommentOrNewline> { start: 0, length: 0 },
],
spaces: [],
type_defs: [],
value_defs: [
Body(
@0-3 SpaceAfter(
RecordDestructure(
Collection {
items: [],
final_comments: [
Newline,
],
},
),
[
Newline,
],
),
@5-11 BinOps(
[
(
@5-6 Var {
module_name: "",
ident: "d",
},
@6-8 Equals,
),
],
@10-11 SpaceBefore(
Var {
module_name: "",
ident: "g",
},
[
Newline,
],
),
),
),
],
},
@12-13 SpaceBefore(
Var {
module_name: "",
ident: "d",
},
[
Newline,
],
),
)

Some files were not shown because too many files have changed in this diff Show more