MIR lowering for `if let` expressions is now more complicated now that `if let` exists in HIR. This PR adds a scope for the variables bound in an `if let` expression and then uses an approach similar to how we handle loops to ensure that we reliably drop the correct variables. |
||
|---|---|---|
| .. | ||
| auxiliary | ||
| drop-if-let-binding.rs | ||
| drop-on-empty-block-exit.rs | ||
| drop-on-ret.rs | ||
| drop-struct-as-object.rs | ||
| drop-trait-enum.rs | ||
| drop-trait-generic.rs | ||
| drop-trait.rs | ||
| drop-uninhabited-enum.rs | ||
| drop-with-type-ascription-1.rs | ||
| drop-with-type-ascription-2.rs | ||
| dropck-eyepatch-extern-crate.rs | ||
| dropck-eyepatch-reorder.rs | ||
| dropck-eyepatch.rs | ||
| dropck_legal_cycles.rs | ||
| dynamic-drop-async.rs | ||
| dynamic-drop.rs | ||
| issue-10028.rs | ||
| issue-30018-nopanic.rs | ||
| no-drop-flag-size.rs | ||
| nondrop-cycle.rs | ||