Make the lowering of `thir::ExprKind::If` easier to follow by Zalathar · Pull Request #122063 · rust-lang/rust

@Zalathar

This makes it easier to see that the call to `in_scope` returns both the then
block and the else block. The rather confusing `unpack!` step is confined to
its own separate line.

(This patch reindents several lines, so using "ignore whitespace" is
recommended in order to focus on the actual changes.)

@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

Mar 6, 2024

@Zalathar

@Zalathar

@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 6, 2024

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request

Mar 6, 2024
Make the lowering of `thir::ExprKind::If` easier to follow

This targets a few code patterns that I found very confusing when I first tried to understand what this code is doing.

No functional changes. I recommend looking at the changes individually, with whitespace hidden.

bors added a commit to rust-lang-ci/rust that referenced this pull request

Mar 6, 2024
…iaskrgr

Rollup of 10 pull requests

Successful merges:

 - rust-lang#121958 (Fix redundant import errors for preload extern crate)
 - rust-lang#121976 (Add an option to have an external download/bootstrap cache)
 - rust-lang#122022 (loongarch: add frecipe and relax target feature)
 - rust-lang#122026 (Do not try to format removed files)
 - rust-lang#122027 (Uplift some feeding out of `associated_type_for_impl_trait_in_impl` and into queries)
 - rust-lang#122063 (Make the lowering of `thir::ExprKind::If` easier to follow)
 - rust-lang#122066 (Add proper cfgs for struct HirIdValidator used only with debug-assert)
 - rust-lang#122074 (Add missing PartialOrd trait implementation doc for array)
 - rust-lang#122082 (remove outdated fixme comment)
 - rust-lang#122091 (Note why we're using a new thread in `test_get_os_named_thread`)

r? `@ghost`
`@rustbot` modify labels: rollup

bors added a commit to rust-lang-ci/rust that referenced this pull request

Mar 6, 2024
…iaskrgr

Rollup of 10 pull requests

Successful merges:

 - rust-lang#121958 (Fix redundant import errors for preload extern crate)
 - rust-lang#121976 (Add an option to have an external download/bootstrap cache)
 - rust-lang#122022 (loongarch: add frecipe and relax target feature)
 - rust-lang#122026 (Do not try to format removed files)
 - rust-lang#122027 (Uplift some feeding out of `associated_type_for_impl_trait_in_impl` and into queries)
 - rust-lang#122063 (Make the lowering of `thir::ExprKind::If` easier to follow)
 - rust-lang#122066 (Add proper cfgs for struct HirIdValidator used only with debug-assert)
 - rust-lang#122074 (Add missing PartialOrd trait implementation doc for array)
 - rust-lang#122082 (remove outdated fixme comment)
 - rust-lang#122091 (Note why we're using a new thread in `test_get_os_named_thread`)

r? `@ghost`
`@rustbot` modify labels: rollup

bors added a commit to rust-lang-ci/rust that referenced this pull request

Mar 6, 2024
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#121958 (Fix redundant import errors for preload extern crate)
 - rust-lang#121976 (Add an option to have an external download/bootstrap cache)
 - rust-lang#122022 (loongarch: add frecipe and relax target feature)
 - rust-lang#122026 (Do not try to format removed files)
 - rust-lang#122027 (Uplift some feeding out of `associated_type_for_impl_trait_in_impl` and into queries)
 - rust-lang#122063 (Make the lowering of `thir::ExprKind::If` easier to follow)
 - rust-lang#122074 (Add missing PartialOrd trait implementation doc for array)
 - rust-lang#122082 (remove outdated fixme comment)
 - rust-lang#122091 (Note why we're using a new thread in `test_get_os_named_thread`)

r? `@ghost`
`@rustbot` modify labels: rollup

bors added a commit to rust-lang-ci/rust that referenced this pull request

Mar 7, 2024
…iaskrgr

Rollup of 9 pull requests

Successful merges:

 - rust-lang#121958 (Fix redundant import errors for preload extern crate)
 - rust-lang#121976 (Add an option to have an external download/bootstrap cache)
 - rust-lang#122022 (loongarch: add frecipe and relax target feature)
 - rust-lang#122026 (Do not try to format removed files)
 - rust-lang#122027 (Uplift some feeding out of `associated_type_for_impl_trait_in_impl` and into queries)
 - rust-lang#122063 (Make the lowering of `thir::ExprKind::If` easier to follow)
 - rust-lang#122074 (Add missing PartialOrd trait implementation doc for array)
 - rust-lang#122082 (remove outdated fixme comment)
 - rust-lang#122091 (Note why we're using a new thread in `test_get_os_named_thread`)

r? `@ghost`
`@rustbot` modify labels: rollup

rust-timer added a commit to rust-lang-ci/rust that referenced this pull request

Mar 7, 2024
Rollup merge of rust-lang#122063 - Zalathar:lower-if, r=oli-obk

Make the lowering of `thir::ExprKind::If` easier to follow

This targets a few code patterns that I found very confusing when I first tried to understand what this code is doing.

No functional changes. I recommend looking at the changes individually, with whitespace hidden.