Merge pull request #7510 from joshuawarner32/pnc-fuzzing-fixes-4

Fix yet more fuzzing bugs
This commit is contained in:
Luke Boswell 2025-01-20 09:26:52 +11:00 committed by GitHub
commit 5981e4354c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
55 changed files with 1061 additions and 150 deletions

View file

@ -1,5 +1,5 @@
2 :
r where e
implements
P
implements
P
u

View file

@ -1,5 +1,5 @@
x :
(a where e
implements K)
implements K)
-> Z
s

View file

@ -1,4 +1,5 @@
J : [
] where e
implements T
J :
[
] where e
implements T
i

View file

@ -0,0 +1,58 @@
@0-11 SpaceAfter(
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: "a",
},
@2-9 ParensAround(
SpaceBefore(
SpaceAfter(
Var {
module_name: "",
ident: "i",
},
[
Newline,
LineComment(
"",
),
],
),
[
Newline,
],
),
),
),
],
},
@10-11 SpaceBefore(
Var {
module_name: "",
ident: "r",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -0,0 +1,47 @@
@0-7 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-1,
],
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-1 Var {
module_name: "",
ident: "b",
},
),
],
},
@2-7 SpaceBefore(
Closure(
[
@3-4 Identifier {
ident: "e",
},
],
@6-7 Var {
module_name: "",
ident: "s",
},
),
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -0,0 +1,10 @@
(
(
d
-(
"""
"""()?
)
)
)
Y

View file

@ -0,0 +1,61 @@
@0-17 SpaceAfter(
Apply(
@1-15 ParensAround(
ParensAround(
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@2-3,
],
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(
@2-3 Var {
module_name: "",
ident: "d",
},
),
],
},
@4-14 SpaceBefore(
UnaryOp(
@5-13 TrySuffix(
PncApply(
@5-11 Str(
Block(
[],
),
),
[],
),
),
@4-5 Negate,
),
[
Newline,
],
),
),
),
),
[
@16-17 Tag(
"Y",
),
],
Space,
),
[
Newline,
],
)

View file

@ -0,0 +1,50 @@
@0-14 SpaceAfter(
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: "i",
},
@2-12 TupleAccess(
PncApply(
@2-8 Str(
Block(
[],
),
),
[],
),
"1",
),
),
],
},
@13-14 SpaceBefore(
Var {
module_name: "",
ident: "p",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -0,0 +1,47 @@
@0-11 SpaceAfter(
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(
@1-7 PncApply(
@1-4 FloatLiteral(
"-8.",
),
[],
),
@8-9 Apply(
"",
"C",
[],
),
),
],
},
@10-11 SpaceBefore(
Var {
module_name: "",
ident: "p",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -0,0 +1,41 @@
@0-14 SpaceAfter(
Apply(
@0-6 RecordUpdate {
update: @3-4 SpaceBefore(
Var {
module_name: "",
ident: "h",
},
[
LineComment(
"",
),
],
),
fields: [],
},
[
@6-14 Closure(
[
@10-11 SpaceBefore(
Identifier {
ident: "i",
},
[
LineComment(
"",
),
],
),
],
@13-14 Num(
"0",
),
),
],
Space,
),
[
Newline,
],
)

View file

@ -0,0 +1,58 @@
@0-18 SpaceAfter(
Return(
@0-18 SpaceBefore(
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@8-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: [
Body(
@8-10 RecordDestructure(
[],
),
@14-15 SpaceBefore(
Var {
module_name: "",
ident: "s",
},
[
LineComment(
"",
),
],
),
),
],
},
@17-18 SpaceBefore(
Var {
module_name: "",
ident: "r",
},
[
Newline,
],
),
),
[
Newline,
],
),
None,
),
[
Newline,
],
)

View file

@ -0,0 +1,4 @@
return
{}=#
s
r

View file

@ -0,0 +1,82 @@
@0-23 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-21,
],
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: "j",
},
@2-21 BinOps(
[
(
@2-3 Var {
module_name: "",
ident: "m",
},
@3-4 Percent,
),
],
@4-21 When(
@9-10 SpaceAfter(
Var {
module_name: "",
ident: "f",
},
[
Newline,
],
),
[
WhenBranch {
patterns: [
@14-15 Identifier {
ident: "e",
},
],
value: @17-21 ParensAround(
SpaceAfter(
Var {
module_name: "",
ident: "i",
},
[
Newline,
],
),
),
guard: None,
},
],
),
),
),
],
},
@22-23 SpaceBefore(
Var {
module_name: "",
ident: "h",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -0,0 +1,12 @@
when
f
is
3 if (|t|
m
%
when
f
is
z ->
e
z) -> m

View file

@ -0,0 +1,93 @@
@0-40 SpaceAfter(
When(
@5-6 SpaceAfter(
Var {
module_name: "",
ident: "f",
},
[
Newline,
],
),
[
WhenBranch {
patterns: [
@10-11 SpaceBefore(
NumLiteral(
"3",
),
[
Newline,
],
),
],
value: @39-40 Var {
module_name: "",
ident: "m",
},
guard: Some(
@14-37 Closure(
[
@15-16 Identifier {
ident: "t",
},
],
@18-37 BinOps(
[
(
@18-19 Var {
module_name: "",
ident: "m",
},
@19-20 Percent,
),
],
@20-37 When(
@25-26 SpaceAfter(
Var {
module_name: "",
ident: "f",
},
[
Newline,
],
),
[
WhenBranch {
patterns: [
@30-31 Identifier {
ident: "z",
},
],
value: @33-37 Apply(
@33-34 Var {
module_name: "",
ident: "e",
},
[
@36-37 SpaceBefore(
Var {
module_name: "",
ident: "z",
},
[
Newline,
],
),
],
Space,
),
guard: None,
},
],
),
),
),
),
},
],
),
[
Newline,
],
)

View file

@ -0,0 +1,5 @@
when f
is
3 if\t->m%when f
is z->e
z->m

View file

@ -0,0 +1,7 @@
T :
[
] #
where e
implements
T
e

View file

@ -0,0 +1,85 @@
@0-31 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-29,
],
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 "T",
vars: [],
},
ann: @2-29 Where(
@2-5 SpaceAfter(
TagUnion {
ext: None,
tags: Collection {
items: [],
final_comments: [
Newline,
],
},
},
[
LineComment(
"",
),
],
),
[
@15-29 ImplementsClause {
var: @15-16 SpaceBefore(
SpaceAfter(
"e",
[
Newline,
],
),
[
Newline,
],
),
abilities: [
@28-29 SpaceBefore(
Apply(
"",
"T",
[],
),
[
Newline,
],
),
],
},
],
),
},
],
value_defs: [],
},
@30-31 SpaceBefore(
Var {
module_name: "",
ident: "e",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -0,0 +1,7 @@
T:[
]#
where
e
implements
T
e

View file

@ -0,0 +1,5 @@
L : (
l where e
implements Z,
)I
s

View file

@ -0,0 +1,78 @@
@0-29 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(0),
],
regions: [
@0-27,
],
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 "L",
vars: [],
},
ann: @2-27 Tuple {
elems: [
@3-25 Where(
@3-4 BoundVariable(
"l",
),
[
@11-25 ImplementsClause {
var: @11-12 SpaceBefore(
SpaceAfter(
"e",
[
Newline,
],
),
[
Newline,
],
),
abilities: [
@24-25 Apply(
"",
"Z",
[],
),
],
},
],
),
],
ext: Some(
@26-27 Apply(
"",
"I",
[],
),
),
},
},
],
value_defs: [],
},
@28-29 SpaceBefore(
Var {
module_name: "",
ident: "s",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -0,0 +1,4 @@
L:(l where
e
implements Z)I
s

View file

@ -1,5 +1,5 @@
1 : (
* #
where e implements J,
where e implements J,
)*
l

View file

@ -0,0 +1,3 @@
2 : (
)e where p implements T
e

View file

@ -0,0 +1,71 @@
@0-29 SpaceAfter(
Defs(
Defs {
tags: [
EitherIndex(2147483648),
],
regions: [
@0-27,
],
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(
"2",
),
@2-27 Where(
@2-6 Tuple {
elems: Collection {
items: [],
final_comments: [
Newline,
],
},
ext: Some(
@5-6 BoundVariable(
"e",
),
),
},
[
@13-27 ImplementsClause {
var: @13-14 SpaceBefore(
"p",
[
Newline,
],
),
abilities: [
@26-27 Apply(
"",
"T",
[],
),
],
},
],
),
),
],
},
@28-29 SpaceBefore(
Var {
module_name: "",
ident: "e",
},
[
Newline,
],
),
),
[
Newline,
],
)

View file

@ -0,0 +1,4 @@
2:(
)e where
p implements T
e