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

Use ControlFlow results for visitors that are only looking for a single value #127366

Merged
merged 1 commit into from
Jul 6, 2024

Conversation

oli-obk
Copy link
Contributor

@oli-obk oli-obk commented Jul 5, 2024

These visitors all had a Option<Value> or bool field, that, once set, was never unset or modified again. They have been refactored by removing the field and returning ControlFlow directly from the visitor

@rustbot
Copy link
Collaborator

rustbot commented Jul 5, 2024

r? @wesleywiser

rustbot has assigned @wesleywiser.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot
Copy link
Collaborator

rustbot commented Jul 5, 2024

changes to the core type system

cc @compiler-errors, @lcnr

@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 Jul 5, 2024
Copy link
Member

@compiler-errors compiler-errors left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also IDK why you named this " allow HIR visitors to directly return booleans" but also touched type visitors in the rustc_type_ir layer 😅

@oli-obk
Copy link
Contributor Author

oli-obk commented Jul 5, 2024

Because I forgot that the VisitorResult trait is used for both 🙃

@oli-obk oli-obk changed the title Allow hir visitors to directly return booleans Use ControlFlow results for visitors that are only looking for a single value Jul 5, 2024
@oli-obk
Copy link
Contributor Author

oli-obk commented Jul 5, 2024

Removed the impl VisitorResult for bool, but kept all the visitor changes that avoid mutable visitor state

Copy link
Member

@compiler-errors compiler-errors left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! I quite like all these changes

@compiler-errors
Copy link
Member

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Jul 5, 2024

📌 Commit 7dca61b has been approved by compiler-errors

It is now in the queue for this repository.

@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 Jul 5, 2024
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jul 5, 2024
…r-errors

Use `ControlFlow` results for visitors that are only looking for a single value

These visitors all had a `Option<Value>` or `bool` field, that, once set, was never unset or modified again. They have been refactored by removing the field and returning `ControlFlow` directly from the visitor
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 5, 2024
…iaskrgr

Rollup of 7 pull requests

Successful merges:

 - rust-lang#127333 (Split `SolverDelegate` back out from `InferCtxtLike`)
 - rust-lang#127363 (Improve readability of some fmt code examples)
 - rust-lang#127366 (Use `ControlFlow` results for visitors that are only looking for a single value)
 - rust-lang#127368 (Added dots at the sentence ends of rustc AST doc)
 - rust-lang#127369 (Match ergonomics 2024: align with RFC again)
 - rust-lang#127382 (Use verbose style when suggesting changing `const` with `let`)
 - rust-lang#127383 (Use verbose style for argument removal suggestion)

r? `@ghost`
`@rustbot` modify labels: rollup
workingjubilee added a commit to workingjubilee/rustc that referenced this pull request Jul 5, 2024
…r-errors

Use `ControlFlow` results for visitors that are only looking for a single value

These visitors all had a `Option<Value>` or `bool` field, that, once set, was never unset or modified again. They have been refactored by removing the field and returning `ControlFlow` directly from the visitor
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 5, 2024
…kingjubilee

Rollup of 11 pull requests

Successful merges:

 - rust-lang#123600 (impl PathBuf::add_extension and Path::with_added_extension)
 - rust-lang#126987 (out_of_scope_macro_calls: Detect calls inside attributes more precisely)
 - rust-lang#127107 (Improve dead code analysis)
 - rust-lang#127221 (Improve well known value check-cfg diagnostic for the standard library)
 - rust-lang#127333 (Split `SolverDelegate` back out from `InferCtxtLike`)
 - rust-lang#127363 (Improve readability of some fmt code examples)
 - rust-lang#127366 (Use `ControlFlow` results for visitors that are only looking for a single value)
 - rust-lang#127368 (Added dots at the sentence ends of rustc AST doc)
 - rust-lang#127369 (Match ergonomics 2024: align with RFC again)
 - rust-lang#127383 (Use verbose style for argument removal suggestion)
 - rust-lang#127393 (Remove clubby789 from review rotation)

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 6, 2024
…mpiler-errors

Rollup of 8 pull requests

Successful merges:

 - rust-lang#123600 (impl PathBuf::add_extension and Path::with_added_extension)
 - rust-lang#127107 (Improve dead code analysis)
 - rust-lang#127221 (Improve well known value check-cfg diagnostic for the standard library)
 - rust-lang#127333 (Split `SolverDelegate` back out from `InferCtxtLike`)
 - rust-lang#127363 (Improve readability of some fmt code examples)
 - rust-lang#127366 (Use `ControlFlow` results for visitors that are only looking for a single value)
 - rust-lang#127368 (Added dots at the sentence ends of rustc AST doc)
 - rust-lang#127393 (Remove clubby789 from review rotation)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit a3535b9 into rust-lang:master Jul 6, 2024
6 checks passed
@rustbot rustbot added this to the 1.81.0 milestone Jul 6, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jul 6, 2024
Rollup merge of rust-lang#127366 - oli-obk:falliblevisitor, r=compiler-errors

Use `ControlFlow` results for visitors that are only looking for a single value

These visitors all had a `Option<Value>` or `bool` field, that, once set, was never unset or modified again. They have been refactored by removing the field and returning `ControlFlow` directly from the visitor
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