@@ -541,12 +541,13 @@ impl<'a> Parser<'a> {
541
541
// if the next token is the given keyword, eat it and return
542
542
// true. Otherwise, return false.
543
543
pub fn eat_keyword ( & mut self , kw : keywords:: Keyword ) -> bool {
544
- let is_kw = match self . token {
545
- token:: IDENT ( sid, false ) => kw. to_ident ( ) . name == sid. name ,
544
+ match self . token {
545
+ token:: IDENT ( sid, false ) if kw. to_ident ( ) . name == sid. name => {
546
+ self . bump ( ) ;
547
+ true
548
+ }
546
549
_ => false
547
- } ;
548
- if is_kw { self . bump ( ) }
549
- is_kw
550
+ }
550
551
}
551
552
552
553
// if the given word is not a keyword, signal an error.
@@ -1917,7 +1918,7 @@ impl<'a> Parser<'a> {
1917
1918
return self . mk_expr ( blk. span . lo , blk. span . hi ,
1918
1919
ExprBlock ( blk) ) ;
1919
1920
} ,
1920
- _ if token:: is_bar ( & self . token ) => {
1921
+ token:: BINOP ( token:: OR ) | token :: OROR => {
1921
1922
return self . parse_lambda_expr ( ) ;
1922
1923
} ,
1923
1924
_ if self . eat_keyword ( keywords:: Proc ) => {
@@ -1933,8 +1934,9 @@ impl<'a> Parser<'a> {
1933
1934
} ) ;
1934
1935
return self . mk_expr ( lo, body. span . hi , ExprProc ( decl, fakeblock) ) ;
1935
1936
} ,
1936
- _ if self . eat_keyword ( keywords:: Self ) => {
1937
- let path = ast_util:: ident_to_path ( mk_sp ( lo, hi) , special_idents:: self_) ;
1937
+ token:: IDENT ( id @ ast:: Ident { name : token:: SELF_KEYWORD_NAME , ctxt : _} , false ) => {
1938
+ self . bump ( ) ;
1939
+ let path = ast_util:: ident_to_path ( mk_sp ( lo, hi) , id) ;
1938
1940
ex = ExprPath ( path) ;
1939
1941
hi = self . last_span . hi ;
1940
1942
}
@@ -1982,7 +1984,7 @@ impl<'a> Parser<'a> {
1982
1984
} ,
1983
1985
token:: LBRACKET => {
1984
1986
self . bump ( ) ;
1985
-
1987
+
1986
1988
if self . token == token:: RBRACKET {
1987
1989
// Empty vector.
1988
1990
self . bump ( ) ;
0 commit comments