Skip to content

Simplify some nested if statements #130235

New issue

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

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

Already on GitHub? # to your account

Merged
merged 2 commits into from
Sep 12, 2024
Merged

Conversation

compiler-errors
Copy link
Member

@compiler-errors compiler-errors commented Sep 11, 2024

Applies some but not all instances of clippy::collapsible_if. Some ended up looking worse afterwards, though, so I left those out. Also applies instances of clippy::collapsible_else_if

Review with whitespace disabled please.

@rustbot
Copy link
Collaborator

rustbot commented Sep 11, 2024

r? @michaelwoerister

rustbot has assigned @michaelwoerister.
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 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Sep 11, 2024
@rustbot
Copy link
Collaborator

rustbot commented Sep 11, 2024

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

Some changes occurred to the CTFE / Miri engine

cc @rust-lang/miri

Some changes occurred to the CTFE / Miri engine

cc @rust-lang/miri

Comment on lines 333 to 337
if ocx.eq(&cause, self.param_env, a, b).is_ok() && ocx.select_all_or_error().is_empty() {
// All good.
return true;
}
return false;
Copy link
Member

Choose a reason for hiding this comment

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

I mean at this point we should just make this return ocx.eq(&cause, self.param_env, a, b).is_ok() && ocx.select_all_or_error().is_empty(), I think. I was using two if to make the sequencing more explicit.

Copy link
Member Author

Choose a reason for hiding this comment

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

right, I missed the trivial body here.

For what it's worth, I actually tend to write this like two separate if statements returning false since those are the "exceptional" path.

Copy link
Member

Choose a reason for hiding this comment

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

Feel free to change this to the usual style used with infctx, I don't usually interact much with that type so I don't know the conventions.^^

if let (Some(const_span), Some(fn_sig)) = (const_span, fn_sig)
&& fn_sig.header.abi != Abi::RustIntrinsic
&& !fn_sig.header.is_const()
&& (!self.in_trait_impl || !self.tcx.is_const_fn_raw(def_id.to_def_id()))
Copy link
Member Author

@compiler-errors compiler-errors Sep 11, 2024

Choose a reason for hiding this comment

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

this was previously:

~A \/ (A /\ ~B)

which can be simplified to:

~A \/ ~B

Comment on lines 333 to 337
if ocx.eq(&cause, self.param_env, a, b).is_ok() && ocx.select_all_or_error().is_empty() {
// All good.
return true;
}
return false;
Copy link
Member Author

Choose a reason for hiding this comment

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

right, I missed the trivial body here.

For what it's worth, I actually tend to write this like two separate if statements returning false since those are the "exceptional" path.

@compiler-errors compiler-errors added the C-cleanup Category: PRs that clean code up or issues documenting cleanup. label Sep 11, 2024
@rustbot rustbot added the PG-exploit-mitigations Project group: Exploit mitigations label Sep 11, 2024
@rustbot
Copy link
Collaborator

rustbot commented Sep 11, 2024

Some changes occurred in compiler/rustc_sanitizers

cc @rust-lang/project-exploit-mitigations, @rcvalle

HIR ty lowering was modified

cc @fmease

@michaelwoerister
Copy link
Member

Thanks, @compiler-errors, looks good to me!
@bors r+

@bors
Copy link
Collaborator

bors commented Sep 12, 2024

📌 Commit af8d911 has been approved by michaelwoerister

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 Sep 12, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Sep 12, 2024
Rollup of 8 pull requests

Successful merges:

 - rust-lang#125060 (Expand documentation of PathBuf, discussing lack of sanitization)
 - rust-lang#129367 (Fix default/minimum deployment target for Aarch64 simulator targets)
 - rust-lang#130156 (Add test for S_OBJNAME & update test for LF_BUILDINFO cl and cmd)
 - rust-lang#130160 (Fix `slice::first_mut` docs)
 - rust-lang#130235 (Simplify some nested `if` statements)
 - rust-lang#130250 (Fix `clippy::useless_conversion`)
 - rust-lang#130252 (Properly report error on `const gen fn`)
 - rust-lang#130256 (Re-run coverage tests if `coverage-dump` was modified)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 3ba1275 into rust-lang:master Sep 12, 2024
6 checks passed
@rustbot rustbot added this to the 1.83.0 milestone Sep 12, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Sep 12, 2024
Rollup merge of rust-lang#130235 - compiler-errors:nested-if, r=michaelwoerister

Simplify some nested `if` statements

Applies some but not all instances of `clippy::collapsible_if`. Some ended up looking worse afterwards, though, so I left those out. Also applies instances of `clippy::collapsible_else_if`

Review with whitespace disabled please.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
C-cleanup Category: PRs that clean code up or issues documenting cleanup. PG-exploit-mitigations Project group: Exploit mitigations 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants