Clean `rustc/parse/src/lexer` to improve maintainability by xizheyin · Pull Request #144239 · rust-lang/rust
rustbot
added
S-waiting-on-review
labels
Jul 21, 2025
xizheyin
changed the title
Clean lexer
Clean rustc/parse/src/lexer to improve maintainability
rustbot
added
S-waiting-on-author
and removed S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.labels
Jul 21, 2025
rustbot
added
S-waiting-on-review
and removed S-waiting-on-author
Status: This is awaiting some action (such as code changes or more information) from the author.labels
Jul 22, 2025
bors
added
S-waiting-on-bors
and removed S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.labels
Jul 22, 2025
bors
added
S-waiting-on-author
and removed S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.labels
Jul 22, 20251. Rename `make_unclosed_delims_error` and return `Vec<Diag>` 2. change magic number `unclosed_delimiter_show_limit` to const 3. move `eof_err` below parsing logic 4. Add `calculate_spacing` for `bump` and `bump_minimal` Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
rustbot
added
S-waiting-on-review
and removed S-waiting-on-author
Status: This is awaiting some action (such as code changes or more information) from the author.labels
Jul 22, 2025
bors
added
the
S-waiting-on-bors
label
Jul 23, 2025jhpratt added a commit to jhpratt/rust that referenced this pull request
Jul 23, 2025Clean `rustc/parse/src/lexer` to improve maintainability This PR refactors the lexer code to improve maintainability and eliminate code duplication. In the first commit, I improve the error handling: - rename `make_unclosed_delims_error` to more appropriate `make_mismatched_closing_delims_errors` - changes return type from Option<Diag> to `Vec<Diag>` to avoid lengthy vec processing at `lex_token_trees` - use `splice` instead of `extend` to make the logic clearer, since `errs` sounds more generic and better suited as a return value In the second commit, I replace the magic number 5 with UNCLOSED_DELIMITER_SHOW_LIMIT constant. In the third commit, I moves `eof_err` function below parsing logic for better code flow. In the forth one, I extract `calculate_spacing` function to eliminate duplicate spacing logic between `bump` and `bump_minimal` functions. r? compiler
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
Jul 23, 2025Clean `rustc/parse/src/lexer` to improve maintainability This PR refactors the lexer code to improve maintainability and eliminate code duplication. In the first commit, I improve the error handling: - rename `make_unclosed_delims_error` to more appropriate `make_mismatched_closing_delims_errors` - changes return type from Option<Diag> to `Vec<Diag>` to avoid lengthy vec processing at `lex_token_trees` - use `splice` instead of `extend` to make the logic clearer, since `errs` sounds more generic and better suited as a return value In the second commit, I replace the magic number 5 with UNCLOSED_DELIMITER_SHOW_LIMIT constant. In the third commit, I moves `eof_err` function below parsing logic for better code flow. In the forth one, I extract `calculate_spacing` function to eliminate duplicate spacing logic between `bump` and `bump_minimal` functions. r? compiler
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
Jul 23, 2025Clean `rustc/parse/src/lexer` to improve maintainability This PR refactors the lexer code to improve maintainability and eliminate code duplication. In the first commit, I improve the error handling: - rename `make_unclosed_delims_error` to more appropriate `make_mismatched_closing_delims_errors` - changes return type from Option<Diag> to `Vec<Diag>` to avoid lengthy vec processing at `lex_token_trees` - use `splice` instead of `extend` to make the logic clearer, since `errs` sounds more generic and better suited as a return value In the second commit, I replace the magic number 5 with UNCLOSED_DELIMITER_SHOW_LIMIT constant. In the third commit, I moves `eof_err` function below parsing logic for better code flow. In the forth one, I extract `calculate_spacing` function to eliminate duplicate spacing logic between `bump` and `bump_minimal` functions. r? compiler
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request
Jul 23, 2025Clean `rustc/parse/src/lexer` to improve maintainability This PR refactors the lexer code to improve maintainability and eliminate code duplication. In the first commit, I improve the error handling: - rename `make_unclosed_delims_error` to more appropriate `make_mismatched_closing_delims_errors` - changes return type from Option<Diag> to `Vec<Diag>` to avoid lengthy vec processing at `lex_token_trees` - use `splice` instead of `extend` to make the logic clearer, since `errs` sounds more generic and better suited as a return value In the second commit, I replace the magic number 5 with UNCLOSED_DELIMITER_SHOW_LIMIT constant. In the third commit, I moves `eof_err` function below parsing logic for better code flow. In the forth one, I extract `calculate_spacing` function to eliminate duplicate spacing logic between `bump` and `bump_minimal` functions. r? compiler
bors added a commit that referenced this pull request
Jul 23, 2025Rollup of 10 pull requests Successful merges: - #144173 (Remove tidy checks for `tests/ui/issues/`) - #144234 (Fix broken TLS destructors on 32-bit win7) - #144239 (Clean `rustc/parse/src/lexer` to improve maintainability) - #144247 (coretests/num: use ldexp instead of hard-coding a power of 2) - #144256 (Don't ICE on non-TypeId metadata within TypeId) - #144290 (update tests/ui/SUMMARY.md) - #144292 (mbe: Use concrete type for `get_unused_rule`) - #144298 (coverage: Enlarge empty spans during MIR instrumentation, not codegen) - #144311 (Add powerpc64le-unknown-linux-musl to CI rustc targets) - #144315 (bootstrap: add package.json and package-lock.json to dist tarball) r? `@ghost` `@rustbot` modify labels: rollup
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request
Jul 23, 2025Clean `rustc/parse/src/lexer` to improve maintainability This PR refactors the lexer code to improve maintainability and eliminate code duplication. In the first commit, I improve the error handling: - rename `make_unclosed_delims_error` to more appropriate `make_mismatched_closing_delims_errors` - changes return type from Option<Diag> to `Vec<Diag>` to avoid lengthy vec processing at `lex_token_trees` - use `splice` instead of `extend` to make the logic clearer, since `errs` sounds more generic and better suited as a return value In the second commit, I replace the magic number 5 with UNCLOSED_DELIMITER_SHOW_LIMIT constant. In the third commit, I moves `eof_err` function below parsing logic for better code flow. In the forth one, I extract `calculate_spacing` function to eliminate duplicate spacing logic between `bump` and `bump_minimal` functions. r? compiler
bors added a commit that referenced this pull request
Jul 23, 2025Rollup of 10 pull requests Successful merges: - #144173 (Remove tidy checks for `tests/ui/issues/`) - #144234 (Fix broken TLS destructors on 32-bit win7) - #144239 (Clean `rustc/parse/src/lexer` to improve maintainability) - #144247 (coretests/num: use ldexp instead of hard-coding a power of 2) - #144256 (Don't ICE on non-TypeId metadata within TypeId) - #144290 (update tests/ui/SUMMARY.md) - #144292 (mbe: Use concrete type for `get_unused_rule`) - #144298 (coverage: Enlarge empty spans during MIR instrumentation, not codegen) - #144311 (Add powerpc64le-unknown-linux-musl to CI rustc targets) - #144315 (bootstrap: add package.json and package-lock.json to dist tarball) r? `@ghost` `@rustbot` modify labels: rollup try-job: x86_64-gnu-aux
bors added a commit that referenced this pull request
Jul 23, 2025Rollup of 9 pull requests Successful merges: - #144173 (Remove tidy checks for `tests/ui/issues/`) - #144234 (Fix broken TLS destructors on 32-bit win7) - #144239 (Clean `rustc/parse/src/lexer` to improve maintainability) - #144256 (Don't ICE on non-TypeId metadata within TypeId) - #144290 (update tests/ui/SUMMARY.md) - #144292 (mbe: Use concrete type for `get_unused_rule`) - #144298 (coverage: Enlarge empty spans during MIR instrumentation, not codegen) - #144311 (Add powerpc64le-unknown-linux-musl to CI rustc targets) - #144315 (bootstrap: add package.json and package-lock.json to dist tarball) r? `@ghost` `@rustbot` modify labels: rollup
rust-timer added a commit that referenced this pull request
Jul 23, 2025Rollup merge of #144239 - xizheyin:clean-lexer, r=fee1-dead Clean `rustc/parse/src/lexer` to improve maintainability This PR refactors the lexer code to improve maintainability and eliminate code duplication. In the first commit, I improve the error handling: - rename `make_unclosed_delims_error` to more appropriate `make_mismatched_closing_delims_errors` - changes return type from Option<Diag> to `Vec<Diag>` to avoid lengthy vec processing at `lex_token_trees` - use `splice` instead of `extend` to make the logic clearer, since `errs` sounds more generic and better suited as a return value In the second commit, I replace the magic number 5 with UNCLOSED_DELIMITER_SHOW_LIMIT constant. In the third commit, I moves `eof_err` function below parsing logic for better code flow. In the forth one, I extract `calculate_spacing` function to eliminate duplicate spacing logic between `bump` and `bump_minimal` functions. r? compiler
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters