Skip to content

Conversation

nnethercote
Copy link
Contributor

Some minor improvements I found while looking at this code.

r? @tmandry

`visit_local` is the only method that doesn't call a corresponding
`super_local` method. This is valid, because `super_local` would be
empty. But it's inconsistent with every other case; we have multiple
other empty `super` methods: `super_span`, `super_ty`, etc.

This commit adds an empty `super_local` and makes `visit_local` call it.
The `MirVisitable` trait is just a complicated way to visit either a
statement or a terminator. (And its impl for `Terminator` is unused.) It
has a single use.

This commit removes it, replacing it with an if/else, which is shorter
and simpler.
rustfmt doesn't touch it because it's a macro body, but it's large
enough that the misformatting is annoying. This commit improves it. The
most common problems fixed:

- Unnecessary multi-line patterns reduced to one line.
- Multi-line function headers adjusted so the parameter indentation
  doesn't depend on the length of the function name. (This is Rust code,
  not C.)
- `|` used at the start of lines, not the end.
- More consistent formatting of empty function bodies.
- Overly long lines are broken.
@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. labels Feb 19, 2025
@nnethercote
Copy link
Contributor Author

Best reviewed one commit at a time.

@compiler-errors
Copy link
Member

r? compiler-errors @bors r+ rollup

@bors
Copy link
Collaborator

bors commented Feb 19, 2025

📌 Commit 5bb37ce has been approved by compiler-errors

It is now in the queue for this repository.

@rustbot rustbot assigned compiler-errors and unassigned tmandry Feb 19, 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 Feb 19, 2025
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 20, 2025
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#135296 (interpret: adjust vtable validity check for higher-ranked types)
 - rust-lang#137106 (Add customized compare for Link in rustdoc)
 - rust-lang#137253 (Restrict `bevy_ecs` `ParamSet` hack)
 - rust-lang#137262 (Make fewer crates depend on `rustc_ast_ir`)
 - rust-lang#137263 (Register `USAGE_OF_TYPE_IR_INHERENT`, remove inherent usages)
 - rust-lang#137266 (MIR visitor tweaks)
 - rust-lang#137269 (Pattern Migration 2024: properly label `&` patterns whose subpatterns are from macro expansions)
 - rust-lang#137277 (stabilize `inherent_str_constructors`)
 - rust-lang#137281 (Tweak "expected ident" parse error to avoid talking about doc comments)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 10ba575 into rust-lang:master Feb 20, 2025
6 checks passed
@rustbot rustbot added this to the 1.87.0 milestone Feb 20, 2025
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 20, 2025
Rollup merge of rust-lang#137266 - nnethercote:mir-visitor-tweaks, r=compiler-errors

MIR visitor tweaks

Some minor improvements I found while looking at this code.

r? `@tmandry`
@nnethercote nnethercote deleted the mir-visitor-tweaks branch February 20, 2025 06:16
github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request Mar 11, 2025
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#135296 (interpret: adjust vtable validity check for higher-ranked types)
 - rust-lang#137106 (Add customized compare for Link in rustdoc)
 - rust-lang#137253 (Restrict `bevy_ecs` `ParamSet` hack)
 - rust-lang#137262 (Make fewer crates depend on `rustc_ast_ir`)
 - rust-lang#137263 (Register `USAGE_OF_TYPE_IR_INHERENT`, remove inherent usages)
 - rust-lang#137266 (MIR visitor tweaks)
 - rust-lang#137269 (Pattern Migration 2024: properly label `&` patterns whose subpatterns are from macro expansions)
 - rust-lang#137277 (stabilize `inherent_str_constructors`)
 - rust-lang#137281 (Tweak "expected ident" parse error to avoid talking about doc comments)

r? `@ghost`
`@rustbot` modify labels: rollup
github-actions bot pushed a commit to tautschnig/verify-rust-std that referenced this pull request Mar 11, 2025
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#135296 (interpret: adjust vtable validity check for higher-ranked types)
 - rust-lang#137106 (Add customized compare for Link in rustdoc)
 - rust-lang#137253 (Restrict `bevy_ecs` `ParamSet` hack)
 - rust-lang#137262 (Make fewer crates depend on `rustc_ast_ir`)
 - rust-lang#137263 (Register `USAGE_OF_TYPE_IR_INHERENT`, remove inherent usages)
 - rust-lang#137266 (MIR visitor tweaks)
 - rust-lang#137269 (Pattern Migration 2024: properly label `&` patterns whose subpatterns are from macro expansions)
 - rust-lang#137277 (stabilize `inherent_str_constructors`)
 - rust-lang#137281 (Tweak "expected ident" parse error to avoid talking about doc comments)

r? `@ghost`
`@rustbot` modify labels: rollup
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants