Skip to content

Commit 258e532

Browse files
committed
docs: update the comment and add a test to half_open_range_pat
1 parent 6a295fc commit 258e532

File tree

3 files changed

+55
-0
lines changed

3 files changed

+55
-0
lines changed

crates/parser/src/grammar/patterns.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,8 @@ fn pattern_single_r(p: &mut Parser<'_>, recovery_set: TokenSet) {
126126
// ^
127127
// `[0..]`
128128
// ^
129+
// `0 .. if`
130+
// ^
129131
if matches!(
130132
p.current(),
131133
T![=] | T![,] | T![:] | T![')'] | T!['}'] | T![']'] | T![if]
@@ -134,6 +136,11 @@ fn pattern_single_r(p: &mut Parser<'_>, recovery_set: TokenSet) {
134136
// fn f() {
135137
// let 0 .. = 1u32;
136138
// let 0..: _ = 1u32;
139+
//
140+
// match 42 {
141+
// 0 .. if true => (),
142+
// _ => (),
143+
// }
137144
// }
138145
} else {
139146
atom_pat(p, recovery_set);

crates/parser/test_data/parser/inline/ok/0166_half_open_range_pat.rast

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,49 @@ SOURCE_FILE
4646
LITERAL
4747
INT_NUMBER "1u32"
4848
SEMICOLON ";"
49+
WHITESPACE "\n\n "
50+
MATCH_EXPR
51+
MATCH_KW "match"
52+
WHITESPACE " "
53+
LITERAL
54+
INT_NUMBER "42"
55+
WHITESPACE " "
56+
MATCH_ARM_LIST
57+
L_CURLY "{"
58+
WHITESPACE "\n "
59+
MATCH_ARM
60+
RANGE_PAT
61+
LITERAL_PAT
62+
LITERAL
63+
INT_NUMBER "0"
64+
WHITESPACE " "
65+
DOT2 ".."
66+
WHITESPACE " "
67+
MATCH_GUARD
68+
IF_KW "if"
69+
WHITESPACE " "
70+
LITERAL
71+
TRUE_KW "true"
72+
WHITESPACE " "
73+
FAT_ARROW "=>"
74+
WHITESPACE " "
75+
TUPLE_EXPR
76+
L_PAREN "("
77+
R_PAREN ")"
78+
COMMA ","
79+
WHITESPACE "\n "
80+
MATCH_ARM
81+
WILDCARD_PAT
82+
UNDERSCORE "_"
83+
WHITESPACE " "
84+
FAT_ARROW "=>"
85+
WHITESPACE " "
86+
TUPLE_EXPR
87+
L_PAREN "("
88+
R_PAREN ")"
89+
COMMA ","
90+
WHITESPACE "\n "
91+
R_CURLY "}"
4992
WHITESPACE "\n"
5093
R_CURLY "}"
5194
WHITESPACE "\n"
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
fn f() {
22
let 0 .. = 1u32;
33
let 0..: _ = 1u32;
4+
5+
match 42 {
6+
0 .. if true => (),
7+
_ => (),
8+
}
49
}

0 commit comments

Comments
 (0)