diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-02-21 19:36:48 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-21 19:36:48 +0100 |
| commit | ea7f7f7c4c5cbb036444f18e97a44e51120ee609 (patch) | |
| tree | e73a4419dd43c1299cabf9bf50d410fdff9cacc3 /compiler/rustc_const_eval/src/transform | |
| parent | 12705b47007f3244ef9d06d2281e1b20cb1dd0f1 (diff) | |
| parent | 413f3f787c9e8e4c2cb8abd73cdc16cb8d175590 (diff) | |
| download | rust-ea7f7f7c4c5cbb036444f18e97a44e51120ee609.tar.gz rust-ea7f7f7c4c5cbb036444f18e97a44e51120ee609.zip | |
Rollup merge of #94143 - est31:let_else_const_eval, r=lcnr
rustc_const_eval: adopt let else in more places Continuation of #89933, #91018, #91481, #93046, #93590, #94011. I have extended my clippy lint to also recognize tuple passing and match statements. The diff caused by fixing it is way above 1 thousand lines. Thus, I split it up into multiple pull requests to make reviewing easier. This PR handles rustc_const_eval.
Diffstat (limited to 'compiler/rustc_const_eval/src/transform')
| -rw-r--r-- | compiler/rustc_const_eval/src/transform/check_consts/check.rs | 7 | ||||
| -rw-r--r-- | compiler/rustc_const_eval/src/transform/promote_consts.rs | 15 |
2 files changed, 8 insertions, 14 deletions
diff --git a/compiler/rustc_const_eval/src/transform/check_consts/check.rs b/compiler/rustc_const_eval/src/transform/check_consts/check.rs index 095c8f84f41..652f1c94a61 100644 --- a/compiler/rustc_const_eval/src/transform/check_consts/check.rs +++ b/compiler/rustc_const_eval/src/transform/check_consts/check.rs @@ -134,11 +134,8 @@ impl<'mir, 'tcx> Qualifs<'mir, 'tcx> { .find(|(_, block)| matches!(block.terminator().kind, TerminatorKind::Return)) .map(|(bb, _)| bb); - let return_block = match return_block { - None => { - return qualifs::in_any_value_of_ty(ccx, ccx.body.return_ty(), tainted_by_errors); - } - Some(bb) => bb, + let Some(return_block) = return_block else { + return qualifs::in_any_value_of_ty(ccx, ccx.body.return_ty(), tainted_by_errors); }; let return_loc = ccx.body.terminator_loc(return_block); diff --git a/compiler/rustc_const_eval/src/transform/promote_consts.rs b/compiler/rustc_const_eval/src/transform/promote_consts.rs index cacc0018fe9..30764f689c9 100644 --- a/compiler/rustc_const_eval/src/transform/promote_consts.rs +++ b/compiler/rustc_const_eval/src/transform/promote_consts.rs @@ -747,15 +747,12 @@ impl<'a, 'tcx> Promoter<'a, 'tcx> { if loc.statement_index < num_stmts { let (mut rvalue, source_info) = { let statement = &mut self.source[loc.block].statements[loc.statement_index]; - let rhs = match statement.kind { - StatementKind::Assign(box (_, ref mut rhs)) => rhs, - _ => { - span_bug!( - statement.source_info.span, - "{:?} is not an assignment", - statement - ); - } + let StatementKind::Assign(box (_, ref mut rhs)) = statement.kind else { + span_bug!( + statement.source_info.span, + "{:?} is not an assignment", + statement + ); }; ( |
