Skip to content

Commit 98990af

Browse files
committed
add more tests
1 parent 995aacf commit 98990af

10 files changed

+328
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
SOURCE_FILE
2+
FN
3+
FN_KW "fn"
4+
WHITESPACE " "
5+
NAME
6+
IDENT "f"
7+
PARAM_LIST
8+
L_PAREN "("
9+
R_PAREN ")"
10+
WHITESPACE " "
11+
BLOCK_EXPR
12+
STMT_LIST
13+
L_CURLY "{"
14+
WHITESPACE "\n "
15+
LET_STMT
16+
LET_KW "let"
17+
WHITESPACE " "
18+
WILDCARD_PAT
19+
UNDERSCORE "_"
20+
WHITESPACE " "
21+
EQ "="
22+
WHITESPACE " "
23+
FOR_EXPR
24+
FOR_KW "for"
25+
WHITESPACE " "
26+
WILDCARD_PAT
27+
UNDERSCORE "_"
28+
WHITESPACE " "
29+
IN_KW "in"
30+
WHITESPACE " "
31+
RANGE_EXPR
32+
LITERAL
33+
INT_NUMBER "0"
34+
DOT2 ".."
35+
LITERAL
36+
INT_NUMBER "10"
37+
WHITESPACE " "
38+
BLOCK_EXPR
39+
STMT_LIST
40+
L_CURLY "{"
41+
WHITESPACE "\n "
42+
R_CURLY "}"
43+
WHITESPACE " "
44+
LET_ELSE
45+
ELSE_KW "else"
46+
WHITESPACE " "
47+
BLOCK_EXPR
48+
STMT_LIST
49+
L_CURLY "{"
50+
WHITESPACE "\n "
51+
RETURN_EXPR
52+
RETURN_KW "return"
53+
WHITESPACE "\n "
54+
R_CURLY "}"
55+
SEMICOLON ";"
56+
WHITESPACE "\n"
57+
R_CURLY "}"
58+
error 43: right curly brace `}` before `else` in a `let...else` statement not allowed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
fn f() {
2+
let _ = for _ in 0..10 {
3+
} else {
4+
return
5+
};
6+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
SOURCE_FILE
2+
FN
3+
FN_KW "fn"
4+
WHITESPACE " "
5+
NAME
6+
IDENT "f"
7+
PARAM_LIST
8+
L_PAREN "("
9+
R_PAREN ")"
10+
WHITESPACE " "
11+
BLOCK_EXPR
12+
STMT_LIST
13+
L_CURLY "{"
14+
WHITESPACE "\n "
15+
LET_STMT
16+
LET_KW "let"
17+
WHITESPACE " "
18+
WILDCARD_PAT
19+
UNDERSCORE "_"
20+
WHITESPACE " "
21+
EQ "="
22+
WHITESPACE " "
23+
LOOP_EXPR
24+
LOOP_KW "loop"
25+
WHITESPACE " "
26+
BLOCK_EXPR
27+
STMT_LIST
28+
L_CURLY "{"
29+
WHITESPACE "\n "
30+
R_CURLY "}"
31+
WHITESPACE " "
32+
LET_ELSE
33+
ELSE_KW "else"
34+
WHITESPACE " "
35+
BLOCK_EXPR
36+
STMT_LIST
37+
L_CURLY "{"
38+
WHITESPACE "\n "
39+
RETURN_EXPR
40+
RETURN_KW "return"
41+
WHITESPACE "\n "
42+
R_CURLY "}"
43+
SEMICOLON ";"
44+
WHITESPACE "\n"
45+
R_CURLY "}"
46+
error 33: right curly brace `}` before `else` in a `let...else` statement not allowed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
fn f() {
2+
let _ = loop {
3+
} else {
4+
return
5+
};
6+
}
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
SOURCE_FILE
2+
FN
3+
FN_KW "fn"
4+
WHITESPACE " "
5+
NAME
6+
IDENT "f"
7+
PARAM_LIST
8+
L_PAREN "("
9+
R_PAREN ")"
10+
WHITESPACE " "
11+
BLOCK_EXPR
12+
STMT_LIST
13+
L_CURLY "{"
14+
WHITESPACE "\n "
15+
LET_STMT
16+
LET_KW "let"
17+
WHITESPACE " "
18+
WILDCARD_PAT
19+
UNDERSCORE "_"
20+
WHITESPACE " "
21+
EQ "="
22+
WHITESPACE " "
23+
MATCH_EXPR
24+
MATCH_KW "match"
25+
WHITESPACE " "
26+
CALL_EXPR
27+
PATH_EXPR
28+
PATH
29+
PATH_SEGMENT
30+
NAME_REF
31+
IDENT "Some"
32+
ARG_LIST
33+
L_PAREN "("
34+
LITERAL
35+
INT_NUMBER "1"
36+
R_PAREN ")"
37+
WHITESPACE " "
38+
MATCH_ARM_LIST
39+
L_CURLY "{"
40+
WHITESPACE "\n "
41+
MATCH_ARM
42+
TUPLE_STRUCT_PAT
43+
PATH
44+
PATH_SEGMENT
45+
NAME_REF
46+
IDENT "Some"
47+
L_PAREN "("
48+
WILDCARD_PAT
49+
UNDERSCORE "_"
50+
R_PAREN ")"
51+
WHITESPACE " "
52+
FAT_ARROW "=>"
53+
WHITESPACE " "
54+
LITERAL
55+
INT_NUMBER "1"
56+
COMMA ","
57+
WHITESPACE "\n "
58+
MATCH_ARM
59+
IDENT_PAT
60+
NAME
61+
IDENT "None"
62+
WHITESPACE " "
63+
FAT_ARROW "=>"
64+
WHITESPACE " "
65+
LITERAL
66+
INT_NUMBER "2"
67+
COMMA ","
68+
WHITESPACE "\n "
69+
R_CURLY "}"
70+
WHITESPACE " "
71+
LET_ELSE
72+
ELSE_KW "else"
73+
WHITESPACE " "
74+
BLOCK_EXPR
75+
STMT_LIST
76+
L_CURLY "{"
77+
WHITESPACE "\n "
78+
RETURN_EXPR
79+
RETURN_KW "return"
80+
WHITESPACE "\n "
81+
R_CURLY "}"
82+
SEMICOLON ";"
83+
WHITESPACE "\n"
84+
R_CURLY "}"
85+
error 83: right curly brace `}` before `else` in a `let...else` statement not allowed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
fn f() {
2+
let _ = match Some(1) {
3+
Some(_) => 1,
4+
None => 2,
5+
} else {
6+
return
7+
};
8+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
SOURCE_FILE
2+
FN
3+
FN_KW "fn"
4+
WHITESPACE " "
5+
NAME
6+
IDENT "f"
7+
PARAM_LIST
8+
L_PAREN "("
9+
R_PAREN ")"
10+
WHITESPACE " "
11+
BLOCK_EXPR
12+
STMT_LIST
13+
L_CURLY "{"
14+
WHITESPACE "\n "
15+
LET_STMT
16+
LET_KW "let"
17+
WHITESPACE " "
18+
WILDCARD_PAT
19+
UNDERSCORE "_"
20+
WHITESPACE " "
21+
EQ "="
22+
WHITESPACE " "
23+
WHILE_EXPR
24+
WHILE_KW "while"
25+
WHITESPACE " "
26+
LITERAL
27+
TRUE_KW "true"
28+
WHITESPACE " "
29+
BLOCK_EXPR
30+
STMT_LIST
31+
L_CURLY "{"
32+
WHITESPACE "\n "
33+
R_CURLY "}"
34+
WHITESPACE " "
35+
LET_ELSE
36+
ELSE_KW "else"
37+
WHITESPACE " "
38+
BLOCK_EXPR
39+
STMT_LIST
40+
L_CURLY "{"
41+
WHITESPACE "\n "
42+
RETURN_EXPR
43+
RETURN_KW "return"
44+
WHITESPACE "\n "
45+
R_CURLY "}"
46+
SEMICOLON ";"
47+
WHITESPACE "\n"
48+
R_CURLY "}"
49+
error 39: right curly brace `}` before `else` in a `let...else` statement not allowed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
fn f() {
2+
let _ = while true {
3+
} else {
4+
return
5+
};
6+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
SOURCE_FILE
2+
FN
3+
FN_KW "fn"
4+
WHITESPACE " "
5+
NAME
6+
IDENT "f"
7+
PARAM_LIST
8+
L_PAREN "("
9+
R_PAREN ")"
10+
WHITESPACE " "
11+
BLOCK_EXPR
12+
STMT_LIST
13+
L_CURLY "{"
14+
WHITESPACE "\n "
15+
LET_STMT
16+
LET_KW "let"
17+
WHITESPACE " "
18+
WILDCARD_PAT
19+
UNDERSCORE "_"
20+
WHITESPACE " "
21+
EQ "="
22+
WHITESPACE " "
23+
IF_EXPR
24+
IF_KW "if"
25+
WHITESPACE " "
26+
LITERAL
27+
TRUE_KW "true"
28+
WHITESPACE " "
29+
BLOCK_EXPR
30+
STMT_LIST
31+
L_CURLY "{"
32+
WHITESPACE "\n "
33+
R_CURLY "}"
34+
WHITESPACE " "
35+
ELSE_KW "else"
36+
WHITESPACE " "
37+
BLOCK_EXPR
38+
STMT_LIST
39+
L_CURLY "{"
40+
WHITESPACE "\n "
41+
R_CURLY "}"
42+
WHITESPACE " "
43+
LET_ELSE
44+
ELSE_KW "else"
45+
WHITESPACE " "
46+
BLOCK_EXPR
47+
STMT_LIST
48+
L_CURLY "{"
49+
WHITESPACE "\n "
50+
RETURN_EXPR
51+
RETURN_KW "return"
52+
WHITESPACE "\n "
53+
R_CURLY "}"
54+
SEMICOLON ";"
55+
WHITESPACE "\n"
56+
R_CURLY "}"
57+
error 49: right curly brace `}` before `else` in a `let...else` statement not allowed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
fn f() {
2+
let _ = if true {
3+
} else {
4+
} else {
5+
return
6+
};
7+
}

0 commit comments

Comments
 (0)