Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make ast::TokenKind more like lexer::TokenKind #137902

Merged
merged 2 commits into from
Mar 4, 2025

Conversation

nnethercote
Copy link
Contributor

`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)`.
For consistency with `rustc_lexer::TokenKind::Bang`, and because other
`ast::TokenKind` variants generally have syntactic names instead of
semantic names (e.g. `Star` and `DotDot` instead of `Mul` and `Range`).
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Mar 2, 2025
@rustbot
Copy link
Collaborator

rustbot commented Mar 2, 2025

Some changes occurred in src/tools/rustfmt

cc @rust-lang/rustfmt

@compiler-errors
Copy link
Member

r? compiler-errors @bors r+ rollup

@bors
Copy link
Contributor

bors commented Mar 3, 2025

📌 Commit 53167c0 has been approved by compiler-errors

It is now in the queue for this repository.

@rustbot rustbot assigned compiler-errors and unassigned spastorino Mar 3, 2025
@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 3, 2025
bors added a commit to rust-lang-ci/rust that referenced this pull request Mar 4, 2025
…iaskrgr

Rollup of 12 pull requests

Successful merges:

 - rust-lang#135767 (Future incompatibility warning `unsupported_fn_ptr_calling_conventions`: Also warn in dependencies)
 - rust-lang#137852 (Remove layouting dead code for non-array SIMD types.)
 - rust-lang#137863 (Fix pretty printing of unsafe binders)
 - rust-lang#137882 (do not build additional stage on compiler paths)
 - rust-lang#137894 (Revert "store ScalarPair via memset when one side is undef and the other side can be memset")
 - rust-lang#137902 (Make `ast::TokenKind` more like `lexer::TokenKind`)
 - rust-lang#137921 (Subtree update of `rust-analyzer`)
 - rust-lang#137922 (A few cleanups after the removal of `cfg(not(parallel))`)
 - rust-lang#137939 (fix order on shl impl)
 - rust-lang#137946 (Fix docker run-local docs)
 - rust-lang#137955 (Always allow rustdoc-json tests to contain long lines)
 - rust-lang#137958 (triagebot.toml: Don't label `test/rustdoc-json` as A-rustdoc-search)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit decb0c9 into rust-lang:master Mar 4, 2025
6 checks passed
@rustbot rustbot added this to the 1.87.0 milestone Mar 4, 2025
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Mar 4, 2025
Rollup merge of rust-lang#137902 - nnethercote:ast-lexer-TokenKind, r=compiler-errors

Make `ast::TokenKind` more like `lexer::TokenKind`

This is step 2 of rust-lang/compiler-team#831.

r? `@spastorino`
@nnethercote nnethercote deleted the ast-lexer-TokenKind branch March 4, 2025 20:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants