aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/ra_hir_def/src/body/lower.rs6
-rw-r--r--crates/ra_ide/src/syntax_highlighting.rs2
-rw-r--r--crates/ra_parser/src/grammar/patterns.rs4
-rw-r--r--crates/ra_parser/src/syntax_kind/generated.rs2
-rw-r--r--crates/ra_syntax/src/ast/generated/nodes.rs22
-rw-r--r--crates/ra_syntax/src/ast/node_ext.rs8
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast2
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast4
-rw-r--r--crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast48
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast2
-rw-r--r--xtask/src/ast_src.rs2
-rw-r--r--xtask/src/codegen/rust.ungram4
14 files changed, 55 insertions, 55 deletions
diff --git a/crates/ra_hir_def/src/body/lower.rs b/crates/ra_hir_def/src/body/lower.rs
index 3f210547e..0d0365370 100644
--- a/crates/ra_hir_def/src/body/lower.rs
+++ b/crates/ra_hir_def/src/body/lower.rs
@@ -826,7 +826,7 @@ impl ExprCollector<'_> {
826 Pat::Missing 826 Pat::Missing
827 } 827 }
828 } 828 }
829 ast::Pat::DotDotPat(_) => { 829 ast::Pat::RestPat(_) => {
830 // `DotDotPat` requires special handling and should not be mapped 830 // `DotDotPat` requires special handling and should not be mapped
831 // to a Pat. Here we are using `Pat::Missing` as a fallback for 831 // to a Pat. Here we are using `Pat::Missing` as a fallback for
832 // when `DotDotPat` is mapped to `Pat`, which can easily happen 832 // when `DotDotPat` is mapped to `Pat`, which can easily happen
@@ -853,10 +853,10 @@ impl ExprCollector<'_> {
853 fn collect_tuple_pat(&mut self, args: AstChildren<ast::Pat>) -> (Vec<PatId>, Option<usize>) { 853 fn collect_tuple_pat(&mut self, args: AstChildren<ast::Pat>) -> (Vec<PatId>, Option<usize>) {
854 // Find the location of the `..`, if there is one. Note that we do not 854 // Find the location of the `..`, if there is one. Note that we do not
855 // consider the possiblity of there being multiple `..` here. 855 // consider the possiblity of there being multiple `..` here.
856 let ellipsis = args.clone().position(|p| matches!(p, ast::Pat::DotDotPat(_))); 856 let ellipsis = args.clone().position(|p| matches!(p, ast::Pat::RestPat(_)));
857 // We want to skip the `..` pattern here, since we account for it above. 857 // We want to skip the `..` pattern here, since we account for it above.
858 let args = args 858 let args = args
859 .filter(|p| !matches!(p, ast::Pat::DotDotPat(_))) 859 .filter(|p| !matches!(p, ast::Pat::RestPat(_)))
860 .map(|p| self.collect_pat(p)) 860 .map(|p| self.collect_pat(p))
861 .collect(); 861 .collect();
862 862
diff --git a/crates/ra_ide/src/syntax_highlighting.rs b/crates/ra_ide/src/syntax_highlighting.rs
index 027fdecd0..32f34ef10 100644
--- a/crates/ra_ide/src/syntax_highlighting.rs
+++ b/crates/ra_ide/src/syntax_highlighting.rs
@@ -577,7 +577,7 @@ fn highlight_element(
577 _ if element.parent().and_then(ast::RangePat::cast).is_some() => { 577 _ if element.parent().and_then(ast::RangePat::cast).is_some() => {
578 HighlightTag::Operator.into() 578 HighlightTag::Operator.into()
579 } 579 }
580 _ if element.parent().and_then(ast::DotDotPat::cast).is_some() => { 580 _ if element.parent().and_then(ast::RestPat::cast).is_some() => {
581 HighlightTag::Operator.into() 581 HighlightTag::Operator.into()
582 } 582 }
583 _ if element.parent().and_then(ast::Attr::cast).is_some() => { 583 _ if element.parent().and_then(ast::Attr::cast).is_some() => {
diff --git a/crates/ra_parser/src/grammar/patterns.rs b/crates/ra_parser/src/grammar/patterns.rs
index 623e8d6d4..716bdc978 100644
--- a/crates/ra_parser/src/grammar/patterns.rs
+++ b/crates/ra_parser/src/grammar/patterns.rs
@@ -192,7 +192,7 @@ fn record_field_pat_list(p: &mut Parser) {
192 p.bump(T!['{']); 192 p.bump(T!['{']);
193 while !p.at(EOF) && !p.at(T!['}']) { 193 while !p.at(EOF) && !p.at(T!['}']) {
194 match p.current() { 194 match p.current() {
195 // A trailing `..` is *not* treated as a DOT_DOT_PAT. 195 // A trailing `..` is *not* treated as a REST_PAT.
196 T![.] if p.at(T![..]) => p.bump(T![..]), 196 T![.] if p.at(T![..]) => p.bump(T![..]),
197 T!['{'] => error_block(p, "expected ident"), 197 T!['{'] => error_block(p, "expected ident"),
198 198
@@ -267,7 +267,7 @@ fn dot_dot_pat(p: &mut Parser) -> CompletedMarker {
267 assert!(p.at(T![..])); 267 assert!(p.at(T![..]));
268 let m = p.start(); 268 let m = p.start();
269 p.bump(T![..]); 269 p.bump(T![..]);
270 m.complete(p, DOT_DOT_PAT) 270 m.complete(p, REST_PAT)
271} 271}
272 272
273// test ref_pat 273// test ref_pat
diff --git a/crates/ra_parser/src/syntax_kind/generated.rs b/crates/ra_parser/src/syntax_kind/generated.rs
index b5dda25a9..b18653aa5 100644
--- a/crates/ra_parser/src/syntax_kind/generated.rs
+++ b/crates/ra_parser/src/syntax_kind/generated.rs
@@ -158,7 +158,7 @@ pub enum SyntaxKind {
158 BOX_PAT, 158 BOX_PAT,
159 IDENT_PAT, 159 IDENT_PAT,
160 WILDCARD_PAT, 160 WILDCARD_PAT,
161 DOT_DOT_PAT, 161 REST_PAT,
162 PATH_PAT, 162 PATH_PAT,
163 RECORD_PAT, 163 RECORD_PAT,
164 RECORD_PAT_FIELD_LIST, 164 RECORD_PAT_FIELD_LIST,
diff --git a/crates/ra_syntax/src/ast/generated/nodes.rs b/crates/ra_syntax/src/ast/generated/nodes.rs
index 01aefb60d..6cb637b1d 100644
--- a/crates/ra_syntax/src/ast/generated/nodes.rs
+++ b/crates/ra_syntax/src/ast/generated/nodes.rs
@@ -1130,10 +1130,10 @@ impl BoxPat {
1130 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) } 1130 pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) }
1131} 1131}
1132#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1132#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1133pub struct DotDotPat { 1133pub struct RestPat {
1134 pub(crate) syntax: SyntaxNode, 1134 pub(crate) syntax: SyntaxNode,
1135} 1135}
1136impl DotDotPat { 1136impl RestPat {
1137 pub fn dotdot_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![..]) } 1137 pub fn dotdot_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![..]) }
1138} 1138}
1139#[derive(Debug, Clone, PartialEq, Eq, Hash)] 1139#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@@ -1336,7 +1336,7 @@ pub enum Stmt {
1336pub enum Pat { 1336pub enum Pat {
1337 IdentPat(IdentPat), 1337 IdentPat(IdentPat),
1338 BoxPat(BoxPat), 1338 BoxPat(BoxPat),
1339 DotDotPat(DotDotPat), 1339 RestPat(RestPat),
1340 LiteralPat(LiteralPat), 1340 LiteralPat(LiteralPat),
1341 MacroPat(MacroPat), 1341 MacroPat(MacroPat),
1342 OrPat(OrPat), 1342 OrPat(OrPat),
@@ -2577,8 +2577,8 @@ impl AstNode for BoxPat {
2577 } 2577 }
2578 fn syntax(&self) -> &SyntaxNode { &self.syntax } 2578 fn syntax(&self) -> &SyntaxNode { &self.syntax }
2579} 2579}
2580impl AstNode for DotDotPat { 2580impl AstNode for RestPat {
2581 fn can_cast(kind: SyntaxKind) -> bool { kind == DOT_DOT_PAT } 2581 fn can_cast(kind: SyntaxKind) -> bool { kind == REST_PAT }
2582 fn cast(syntax: SyntaxNode) -> Option<Self> { 2582 fn cast(syntax: SyntaxNode) -> Option<Self> {
2583 if Self::can_cast(syntax.kind()) { 2583 if Self::can_cast(syntax.kind()) {
2584 Some(Self { syntax }) 2584 Some(Self { syntax })
@@ -3141,8 +3141,8 @@ impl From<IdentPat> for Pat {
3141impl From<BoxPat> for Pat { 3141impl From<BoxPat> for Pat {
3142 fn from(node: BoxPat) -> Pat { Pat::BoxPat(node) } 3142 fn from(node: BoxPat) -> Pat { Pat::BoxPat(node) }
3143} 3143}
3144impl From<DotDotPat> for Pat { 3144impl From<RestPat> for Pat {
3145 fn from(node: DotDotPat) -> Pat { Pat::DotDotPat(node) } 3145 fn from(node: RestPat) -> Pat { Pat::RestPat(node) }
3146} 3146}
3147impl From<LiteralPat> for Pat { 3147impl From<LiteralPat> for Pat {
3148 fn from(node: LiteralPat) -> Pat { Pat::LiteralPat(node) } 3148 fn from(node: LiteralPat) -> Pat { Pat::LiteralPat(node) }
@@ -3183,7 +3183,7 @@ impl From<TupleStructPat> for Pat {
3183impl AstNode for Pat { 3183impl AstNode for Pat {
3184 fn can_cast(kind: SyntaxKind) -> bool { 3184 fn can_cast(kind: SyntaxKind) -> bool {
3185 match kind { 3185 match kind {
3186 IDENT_PAT | BOX_PAT | DOT_DOT_PAT | LITERAL_PAT | MACRO_PAT | OR_PAT | PAREN_PAT 3186 IDENT_PAT | BOX_PAT | REST_PAT | LITERAL_PAT | MACRO_PAT | OR_PAT | PAREN_PAT
3187 | PATH_PAT | WILDCARD_PAT | RANGE_PAT | RECORD_PAT | REF_PAT | SLICE_PAT 3187 | PATH_PAT | WILDCARD_PAT | RANGE_PAT | RECORD_PAT | REF_PAT | SLICE_PAT
3188 | TUPLE_PAT | TUPLE_STRUCT_PAT => true, 3188 | TUPLE_PAT | TUPLE_STRUCT_PAT => true,
3189 _ => false, 3189 _ => false,
@@ -3193,7 +3193,7 @@ impl AstNode for Pat {
3193 let res = match syntax.kind() { 3193 let res = match syntax.kind() {
3194 IDENT_PAT => Pat::IdentPat(IdentPat { syntax }), 3194 IDENT_PAT => Pat::IdentPat(IdentPat { syntax }),
3195 BOX_PAT => Pat::BoxPat(BoxPat { syntax }), 3195 BOX_PAT => Pat::BoxPat(BoxPat { syntax }),
3196 DOT_DOT_PAT => Pat::DotDotPat(DotDotPat { syntax }), 3196 REST_PAT => Pat::RestPat(RestPat { syntax }),
3197 LITERAL_PAT => Pat::LiteralPat(LiteralPat { syntax }), 3197 LITERAL_PAT => Pat::LiteralPat(LiteralPat { syntax }),
3198 MACRO_PAT => Pat::MacroPat(MacroPat { syntax }), 3198 MACRO_PAT => Pat::MacroPat(MacroPat { syntax }),
3199 OR_PAT => Pat::OrPat(OrPat { syntax }), 3199 OR_PAT => Pat::OrPat(OrPat { syntax }),
@@ -3214,7 +3214,7 @@ impl AstNode for Pat {
3214 match self { 3214 match self {
3215 Pat::IdentPat(it) => &it.syntax, 3215 Pat::IdentPat(it) => &it.syntax,
3216 Pat::BoxPat(it) => &it.syntax, 3216 Pat::BoxPat(it) => &it.syntax,
3217 Pat::DotDotPat(it) => &it.syntax, 3217 Pat::RestPat(it) => &it.syntax,
3218 Pat::LiteralPat(it) => &it.syntax, 3218 Pat::LiteralPat(it) => &it.syntax,
3219 Pat::MacroPat(it) => &it.syntax, 3219 Pat::MacroPat(it) => &it.syntax,
3220 Pat::OrPat(it) => &it.syntax, 3220 Pat::OrPat(it) => &it.syntax,
@@ -3990,7 +3990,7 @@ impl std::fmt::Display for BoxPat {
3990 std::fmt::Display::fmt(self.syntax(), f) 3990 std::fmt::Display::fmt(self.syntax(), f)
3991 } 3991 }
3992} 3992}
3993impl std::fmt::Display for DotDotPat { 3993impl std::fmt::Display for RestPat {
3994 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 3994 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3995 std::fmt::Display::fmt(self.syntax(), f) 3995 std::fmt::Display::fmt(self.syntax(), f)
3996 } 3996 }
diff --git a/crates/ra_syntax/src/ast/node_ext.rs b/crates/ra_syntax/src/ast/node_ext.rs
index af5a93d1d..2ffb83819 100644
--- a/crates/ra_syntax/src/ast/node_ext.rs
+++ b/crates/ra_syntax/src/ast/node_ext.rs
@@ -293,15 +293,15 @@ impl ast::SlicePat {
293 let mut args = self.args().peekable(); 293 let mut args = self.args().peekable();
294 let prefix = args 294 let prefix = args
295 .peeking_take_while(|p| match p { 295 .peeking_take_while(|p| match p {
296 ast::Pat::DotDotPat(_) => false, 296 ast::Pat::RestPat(_) => false,
297 ast::Pat::IdentPat(bp) => match bp.pat() { 297 ast::Pat::IdentPat(bp) => match bp.pat() {
298 Some(ast::Pat::DotDotPat(_)) => false, 298 Some(ast::Pat::RestPat(_)) => false,
299 _ => true, 299 _ => true,
300 }, 300 },
301 ast::Pat::RefPat(rp) => match rp.pat() { 301 ast::Pat::RefPat(rp) => match rp.pat() {
302 Some(ast::Pat::DotDotPat(_)) => false, 302 Some(ast::Pat::RestPat(_)) => false,
303 Some(ast::Pat::IdentPat(bp)) => match bp.pat() { 303 Some(ast::Pat::IdentPat(bp)) => match bp.pat() {
304 Some(ast::Pat::DotDotPat(_)) => false, 304 Some(ast::Pat::RestPat(_)) => false,
305 _ => true, 305 _ => true,
306 }, 306 },
307 _ => true, 307 _ => true,
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast b/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast
index d848f3c88..7d2f7eab0 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0008_path_part.rast
@@ -81,7 +81,7 @@ [email protected]
81 [email protected] 81 [email protected]
82 [email protected] "Bar" 82 [email protected] "Bar"
83 [email protected] "(" 83 [email protected] "("
84 DOT_DOT_[email protected] 84 RES[email protected]
85 [email protected] ".." 85 [email protected] ".."
86 [email protected] ")" 86 [email protected] ")"
87 [email protected] " " 87 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast
index 66f906fae..2dbce34b6 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0024_slice_pat.rast
@@ -26,7 +26,7 @@ [email protected]
26 [email protected] "b" 26 [email protected] "b"
27 [email protected] "," 27 [email protected] ","
28 [email protected] " " 28 [email protected] " "
29 DOT_DOT_[email protected] 29 RES[email protected]
30 [email protected] ".." 30 [email protected] ".."
31 [email protected] "]" 31 [email protected] "]"
32 [email protected] " " 32 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast b/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast
index e049e4df7..467a30134 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0026_tuple_pat_fields.rast
@@ -83,7 +83,7 @@ [email protected]
83 [email protected] "_" 83 [email protected] "_"
84 [email protected] "," 84 [email protected] ","
85 [email protected] " " 85 [email protected] " "
86 DOT_DOT_[email protected] 86 RES[email protected]
87 [email protected] ".." 87 [email protected] ".."
88 [email protected] " " 88 [email protected] " "
89 [email protected] "," 89 [email protected] ","
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast
index f94a2ebde..b82ed0230 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0111_tuple_pat.rast
@@ -26,7 +26,7 @@ [email protected]
26 [email protected] "b" 26 [email protected] "b"
27 [email protected] "," 27 [email protected] ","
28 [email protected] " " 28 [email protected] " "
29 DOT_DOT_[email protected] 29 RES[email protected]
30 [email protected] ".." 30 [email protected] ".."
31 [email protected] ")" 31 [email protected] ")"
32 [email protected] " " 32 [email protected] " "
@@ -60,7 +60,7 @@ [email protected]
60 [email protected] " " 60 [email protected] " "
61 [email protected] 61 [email protected]
62 [email protected] "(" 62 [email protected] "("
63 DOT_DOT_[email protected] 63 RES[email protected]
64 [email protected] ".." 64 [email protected] ".."
65 [email protected] ")" 65 [email protected] ")"
66 [email protected] " " 66 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast b/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast
index 8fb0db031..8a5bde0b6 100644
--- a/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast
+++ b/crates/ra_syntax/test_data/parser/inline/ok/0144_dot_dot_pat.rast
@@ -14,7 +14,7 @@ [email protected]
14 [email protected] 14 [email protected]
15 [email protected] "let" 15 [email protected] "let"
16 [email protected] " " 16 [email protected] " "
17 DOT_DOT_[email protected] 17 RES[email protected]
18 [email protected] ".." 18 [email protected] ".."
19 [email protected] " " 19 [email protected] " "
20 [email protected] "=" 20 [email protected] "="
@@ -40,7 +40,7 @@ [email protected]
40 [email protected] "a" 40 [email protected] "a"
41 [email protected] "," 41 [email protected] ","
42 [email protected] " " 42 [email protected] " "
43 DOT_DOT_[email protected] 43 RES[email protected]
44 [email protected] ".." 44 [email protected] ".."
45 [email protected] ")" 45 [email protected] ")"
46 [email protected] " " 46 [email protected] " "
@@ -61,7 +61,7 @@ [email protected]
61 [email protected] "a" 61 [email protected] "a"
62 [email protected] "," 62 [email protected] ","
63 [email protected] " " 63 [email protected] " "
64 DOT_DOT_[email protected] 64 RES[email protected]
65 [email protected] ".." 65 [email protected] ".."
66 [email protected] "," 66 [email protected] ","
67 [email protected] ")" 67 [email protected] ")"
@@ -87,7 +87,7 @@ [email protected]
87 [email protected] "a" 87 [email protected] "a"
88 [email protected] "," 88 [email protected] ","
89 [email protected] " " 89 [email protected] " "
90 DOT_DOT_[email protected] 90 RES[email protected]
91 [email protected] ".." 91 [email protected] ".."
92 [email protected] ")" 92 [email protected] ")"
93 [email protected] " " 93 [email protected] " "
@@ -112,7 +112,7 @@ [email protected]
112 [email protected] "a" 112 [email protected] "a"
113 [email protected] "," 113 [email protected] ","
114 [email protected] " " 114 [email protected] " "
115 DOT_DOT_[email protected] 115 RES[email protected]
116 [email protected] ".." 116 [email protected] ".."
117 [email protected] "," 117 [email protected] ","
118 [email protected] ")" 118 [email protected] ")"
@@ -129,11 +129,11 @@ [email protected]
129 [email protected] " " 129 [email protected] " "
130 [email protected] 130 [email protected]
131 [email protected] "(" 131 [email protected] "("
132 DOT_DOT_[email protected] 132 RES[email protected]
133 [email protected] ".." 133 [email protected] ".."
134 [email protected] "," 134 [email protected] ","
135 [email protected] " " 135 [email protected] " "
136 DOT_DOT_[email protected] 136 RES[email protected]
137 [email protected] ".." 137 [email protected] ".."
138 [email protected] ")" 138 [email protected] ")"
139 [email protected] " " 139 [email protected] " "
@@ -153,11 +153,11 @@ [email protected]
153 [email protected] 153 [email protected]
154 [email protected] "Tuple" 154 [email protected] "Tuple"
155 [email protected] "(" 155 [email protected] "("
156 DOT_DOT_[email protected] 156 RES[email protected]
157 [email protected] ".." 157 [email protected] ".."
158 [email protected] "," 158 [email protected] ","
159 [email protected] " " 159 [email protected] " "
160 DOT_DOT_[email protected] 160 RES[email protected]
161 [email protected] ".." 161 [email protected] ".."
162 [email protected] ")" 162 [email protected] ")"
163 [email protected] " " 163 [email protected] " "
@@ -173,7 +173,7 @@ [email protected]
173 [email protected] " " 173 [email protected] " "
174 [email protected] 174 [email protected]
175 [email protected] "(" 175 [email protected] "("
176 DOT_DOT_[email protected] 176 RES[email protected]
177 [email protected] ".." 177 [email protected] ".."
178 [email protected] "," 178 [email protected] ","
179 [email protected] " " 179 [email protected] " "
@@ -182,7 +182,7 @@ [email protected]
182 [email protected] "a" 182 [email protected] "a"
183 [email protected] "," 183 [email protected] ","
184 [email protected] " " 184 [email protected] " "
185 DOT_DOT_[email protected] 185 RES[email protected]
186 [email protected] ".." 186 [email protected] ".."
187 [email protected] ")" 187 [email protected] ")"
188 [email protected] " " 188 [email protected] " "
@@ -202,7 +202,7 @@ [email protected]
202 [email protected] 202 [email protected]
203 [email protected] "Tuple" 203 [email protected] "Tuple"
204 [email protected] "(" 204 [email protected] "("
205 DOT_DOT_[email protected] 205 RES[email protected]
206 [email protected] ".." 206 [email protected] ".."
207 [email protected] "," 207 [email protected] ","
208 [email protected] " " 208 [email protected] " "
@@ -211,7 +211,7 @@ [email protected]
211 [email protected] "a" 211 [email protected] "a"
212 [email protected] "," 212 [email protected] ","
213 [email protected] " " 213 [email protected] " "
214 DOT_DOT_[email protected] 214 RES[email protected]
215 [email protected] ".." 215 [email protected] ".."
216 [email protected] ")" 216 [email protected] ")"
217 [email protected] " " 217 [email protected] " "
@@ -233,7 +233,7 @@ [email protected]
233 [email protected] " " 233 [email protected] " "
234 [email protected] 234 [email protected]
235 [email protected] "[" 235 [email protected] "["
236 DOT_DOT_[email protected] 236 RES[email protected]
237 [email protected] ".." 237 [email protected] ".."
238 [email protected] "]" 238 [email protected] "]"
239 [email protected] " " 239 [email protected] " "
@@ -254,7 +254,7 @@ [email protected]
254 [email protected] "head" 254 [email protected] "head"
255 [email protected] "," 255 [email protected] ","
256 [email protected] " " 256 [email protected] " "
257 DOT_DOT_[email protected] 257 RES[email protected]
258 [email protected] ".." 258 [email protected] ".."
259 [email protected] "]" 259 [email protected] "]"
260 [email protected] " " 260 [email protected] " "
@@ -281,7 +281,7 @@ [email protected]
281 [email protected] " " 281 [email protected] " "
282 [email protected] "@" 282 [email protected] "@"
283 [email protected] " " 283 [email protected] " "
284 DOT_DOT_[email protected] 284 RES[email protected]
285 [email protected] ".." 285 [email protected] ".."
286 [email protected] "]" 286 [email protected] "]"
287 [email protected] " " 287 [email protected] " "
@@ -302,7 +302,7 @@ [email protected]
302 [email protected] "head" 302 [email protected] "head"
303 [email protected] "," 303 [email protected] ","
304 [email protected] " " 304 [email protected] " "
305 DOT_DOT_[email protected] 305 RES[email protected]
306 [email protected] ".." 306 [email protected] ".."
307 [email protected] "," 307 [email protected] ","
308 [email protected] " " 308 [email protected] " "
@@ -334,7 +334,7 @@ [email protected]
334 [email protected] " " 334 [email protected] " "
335 [email protected] "@" 335 [email protected] "@"
336 [email protected] " " 336 [email protected] " "
337 DOT_DOT_[email protected] 337 RES[email protected]
338 [email protected] ".." 338 [email protected] ".."
339 [email protected] "," 339 [email protected] ","
340 [email protected] " " 340 [email protected] " "
@@ -360,11 +360,11 @@ [email protected]
360 [email protected] "head" 360 [email protected] "head"
361 [email protected] "," 361 [email protected] ","
362 [email protected] " " 362 [email protected] " "
363 DOT_DOT_[email protected] 363 RES[email protected]
364 [email protected] ".." 364 [email protected] ".."
365 [email protected] "," 365 [email protected] ","
366 [email protected] " " 366 [email protected] " "
367 DOT_DOT_[email protected] 367 RES[email protected]
368 [email protected] ".." 368 [email protected] ".."
369 [email protected] "," 369 [email protected] ","
370 [email protected] " " 370 [email protected] " "
@@ -390,7 +390,7 @@ [email protected]
390 [email protected] "head" 390 [email protected] "head"
391 [email protected] "," 391 [email protected] ","
392 [email protected] " " 392 [email protected] " "
393 DOT_DOT_[email protected] 393 RES[email protected]
394 [email protected] ".." 394 [email protected] ".."
395 [email protected] "," 395 [email protected] ","
396 [email protected] " " 396 [email protected] " "
@@ -405,7 +405,7 @@ [email protected]
405 [email protected] " " 405 [email protected] " "
406 [email protected] "@" 406 [email protected] "@"
407 [email protected] " " 407 [email protected] " "
408 DOT_DOT_[email protected] 408 RES[email protected]
409 [email protected] ".." 409 [email protected] ".."
410 [email protected] "]" 410 [email protected] "]"
411 [email protected] " " 411 [email protected] " "
@@ -426,7 +426,7 @@ [email protected]
426 [email protected] "head" 426 [email protected] "head"
427 [email protected] "," 427 [email protected] ","
428 [email protected] " " 428 [email protected] " "
429 DOT_DOT_[email protected] 429 RES[email protected]
430 [email protected] ".." 430 [email protected] ".."
431 [email protected] "," 431 [email protected] ","
432 [email protected] " " 432 [email protected] " "
@@ -435,7 +435,7 @@ [email protected]
435 [email protected] "mid" 435 [email protected] "mid"
436 [email protected] "," 436 [email protected] ","
437 [email protected] " " 437 [email protected] " "
438 DOT_DOT_[email protected] 438 RES[email protected]
439 [email protected] ".." 439 [email protected] ".."
440 [email protected] "," 440 [email protected] ","
441 [email protected] " " 441 [email protected] " "
diff --git a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast
index ac9c1fa79..5bb9363a8 100644
--- a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast
+++ b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.rast
@@ -1634,7 +1634,7 @@ [email protected]
1634 [email protected] 1634 [email protected]
1635 [email protected] 1635 [email protected]
1636 [email protected] "(" 1636 [email protected] "("
1637 DOT_DOT_[email protected] 1637 RES[email protected]
1638 [email protected] ".." 1638 [email protected] ".."
1639 [email protected] ")" 1639 [email protected] ")"
1640 [email protected] ":" 1640 [email protected] ":"
diff --git a/xtask/src/ast_src.rs b/xtask/src/ast_src.rs
index 2ff029158..1386fc4e7 100644
--- a/xtask/src/ast_src.rs
+++ b/xtask/src/ast_src.rs
@@ -128,7 +128,7 @@ pub(crate) const KINDS_SRC: KindsSrc = KindsSrc {
128 "BOX_PAT", 128 "BOX_PAT",
129 "IDENT_PAT", 129 "IDENT_PAT",
130 "WILDCARD_PAT", 130 "WILDCARD_PAT",
131 "DOT_DOT_PAT", 131 "REST_PAT",
132 "PATH_PAT", 132 "PATH_PAT",
133 "RECORD_PAT", 133 "RECORD_PAT",
134 "RECORD_PAT_FIELD_LIST", 134 "RECORD_PAT_FIELD_LIST",
diff --git a/xtask/src/codegen/rust.ungram b/xtask/src/codegen/rust.ungram
index 25d6f7a20..02f5aa732 100644
--- a/xtask/src/codegen/rust.ungram
+++ b/xtask/src/codegen/rust.ungram
@@ -498,7 +498,7 @@ TypeBound =
498Pat = 498Pat =
499 IdentPat 499 IdentPat
500| BoxPat 500| BoxPat
501| DotDotPat 501| RestPat
502| LiteralPat 502| LiteralPat
503| MacroPat 503| MacroPat
504| OrPat 504| OrPat
@@ -560,7 +560,7 @@ OrPat =
560BoxPat = 560BoxPat =
561 'box' Pat 561 'box' Pat
562 562
563DotDotPat = 563RestPat =
564 '..' 564 '..'
565 565
566MacroPat = 566MacroPat =