diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2024-12-20 07:28:16 +1100 | 
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2025-03-03 09:26:11 +1100 | 
| commit | 2a1e2e9632af4098aea3136fc80e165284deb927 (patch) | |
| tree | e2ced742a0f3346587ec526197650ae2f1d93de8 /compiler/rustc_parse/src/parser/mod.rs | |
| parent | 7c4a55c2ac6497629c273ccd00e185583542f0d2 (diff) | |
| download | rust-2a1e2e9632af4098aea3136fc80e165284deb927.tar.gz rust-2a1e2e9632af4098aea3136fc80e165284deb927.zip | |
Replace `ast::TokenKind::BinOp{,Eq}` and remove `BinOpToken`.
`BinOpToken` is badly named, because it only covers the assignable
binary ops and excludes comparisons and `&&`/`||`. Its use in
`ast::TokenKind` does allow a small amount of code sharing, but it's a
clumsy factoring.
This commit removes `ast::TokenKind::BinOp{,Eq}`, replacing each one
with 10 individual variants. This makes `ast::TokenKind` more similar to
`rustc_lexer::TokenKind`, which has individual variants for all
operators.
Although the number of lines of code increases, the number of chars
decreases due to the frequent use of shorter names like `token::Plus`
instead of `token::BinOp(BinOpToken::Plus)`.
Diffstat (limited to 'compiler/rustc_parse/src/parser/mod.rs')
| -rw-r--r-- | compiler/rustc_parse/src/parser/mod.rs | 8 | 
1 files changed, 4 insertions, 4 deletions
| diff --git a/compiler/rustc_parse/src/parser/mod.rs b/compiler/rustc_parse/src/parser/mod.rs index 00282ef8679..7dabc28c645 100644 --- a/compiler/rustc_parse/src/parser/mod.rs +++ b/compiler/rustc_parse/src/parser/mod.rs @@ -813,9 +813,9 @@ impl<'a> Parser<'a> { self.is_keyword_ahead(0, &[kw::Const]) && self.look_ahead(1, |t| match &t.kind { // async closures do not work with const closures, so we do not parse that here. - token::Ident(kw::Move | kw::Static, IdentIsRaw::No) - | token::OrOr - | token::BinOp(token::Or) => true, + token::Ident(kw::Move | kw::Static, IdentIsRaw::No) | token::OrOr | token::Or => { + true + } _ => false, }) } @@ -1651,7 +1651,7 @@ impl<'a> Parser<'a> { /// `::{` or `::*` fn is_import_coupler(&mut self) -> bool { self.check_path_sep_and_look_ahead(|t| { - matches!(t.kind, token::OpenDelim(Delimiter::Brace) | token::BinOp(token::Star)) + matches!(t.kind, token::OpenDelim(Delimiter::Brace) | token::Star) }) } | 
