Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/parser/src/grammar/patterns.rs')
-rw-r--r--crates/parser/src/grammar/patterns.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/crates/parser/src/grammar/patterns.rs b/crates/parser/src/grammar/patterns.rs
index 633e3e0a0b..abcefffa23 100644
--- a/crates/parser/src/grammar/patterns.rs
+++ b/crates/parser/src/grammar/patterns.rs
@@ -126,11 +126,21 @@ fn pattern_single_r(p: &mut Parser<'_>, recovery_set: TokenSet) {
// ^
// `[0..]`
// ^
- if matches!(p.current(), T![=] | T![,] | T![:] | T![')'] | T!['}'] | T![']']) {
+ // `0 .. if`
+ // ^
+ if matches!(
+ p.current(),
+ T![=] | T![,] | T![:] | T![')'] | T!['}'] | T![']'] | T![if]
+ ) {
// test half_open_range_pat
// fn f() {
// let 0 .. = 1u32;
// let 0..: _ = 1u32;
+ //
+ // match 42 {
+ // 0 .. if true => (),
+ // _ => (),
+ // }
// }
} else {
atom_pat(p, recovery_set);