This commit is contained in:
Aleksey Kladov 2020-07-31 20:04:40 +02:00
parent 14cb96ec0e
commit d7f75db90d
3 changed files with 18 additions and 19 deletions

View file

@ -786,7 +786,6 @@ impl ExprCollector<'_> {
ast::Pat::PlaceholderPat(_) => Pat::Wild,
ast::Pat::RecordPat(p) => {
let path = p.path().and_then(|path| self.expander.parse_path(path));
let args: Vec<_> = p
.record_pat_field_list()
.expect("every struct should have a field list")

View file

@ -1128,7 +1128,7 @@ pub struct BoxPat {
}
impl BoxPat {
pub fn box_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![box]) }
pub fn path(&self) -> Option<Path> { support::child(&self.syntax) }
pub fn pat(&self) -> Option<Pat> { support::child(&self.syntax) }
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct DotDotPat {

View file

@ -516,8 +516,8 @@ Pat =
LiteralPat =
Literal
PathPat =
Path
BindPat =
Attr* 'ref'? 'mut'? Name ('@' Pat)?
PlaceholderPat =
'_'
@ -540,29 +540,29 @@ RecordPatFieldList =
RecordPatField =
Attr* (NameRef ':')? Pat
OrPat =
Pat*
TupleStructPat =
Path '(' args:(Pat (',' Pat)* ','?)? ')'
TuplePat =
'(' args:(Pat (',' Pat)* ','?)? ')'
ParenPat =
'(' Pat ')'
BoxPat =
'box' Path
SlicePat =
'[' args:(Pat (',' Pat)* ','?)? ']'
BindPat =
Attr* 'ref'? 'mut'? Name ('@' Pat)?
PathPat =
Path
OrPat =
(Pat ('|' Pat)* '|'?)
BoxPat =
'box' Pat
DotDotPat =
'..'
SlicePat =
'[' args:Pat* ']'
MacroPat =
MacroCall
TupleStructPat =
Path '(' args:Pat* ')'
TuplePat =
'(' args:Pat* ')'