diff options
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_mir/src/transform/inline.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_typeck/src/check/fn_ctxt/checks.rs | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/compiler/rustc_mir/src/transform/inline.rs b/compiler/rustc_mir/src/transform/inline.rs index 52350c5d078..07e637b88f9 100644 --- a/compiler/rustc_mir/src/transform/inline.rs +++ b/compiler/rustc_mir/src/transform/inline.rs @@ -382,7 +382,7 @@ impl Inliner<'tcx> { // Cost of the var is the size in machine-words, if we know // it. if let Some(size) = type_size_of(tcx, self.param_env, ty) { - cost += (size / ptr_size) as usize; + cost += ((size + ptr_size - 1) / ptr_size) as usize; } else { cost += UNKNOWN_SIZE_COST; } diff --git a/compiler/rustc_typeck/src/check/fn_ctxt/checks.rs b/compiler/rustc_typeck/src/check/fn_ctxt/checks.rs index 4afa6689b92..6177e39ba9e 100644 --- a/compiler/rustc_typeck/src/check/fn_ctxt/checks.rs +++ b/compiler/rustc_typeck/src/check/fn_ctxt/checks.rs @@ -813,10 +813,10 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> { if ty.is_never() { None } else { - Some(match &elem.kind { + Some(match elem.kind { // Point at the tail expression when possible. hir::ExprKind::Block(block, _) => { - block.expr.as_ref().map_or(block.span, |e| e.span) + block.expr.map_or(block.span, |e| e.span) } _ => elem.span, }) @@ -824,14 +824,14 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> { }) }; - if let hir::ExprKind::If(_, _, Some(el)) = &expr.kind { + if let hir::ExprKind::If(_, _, Some(el)) = expr.kind { if let Some(rslt) = check_in_progress(el) { return rslt; } } - if let hir::ExprKind::Match(_, arms, _) = &expr.kind { - let mut iter = arms.iter().filter_map(|arm| check_in_progress(&arm.body)); + if let hir::ExprKind::Match(_, arms, _) = expr.kind { + let mut iter = arms.iter().filter_map(|arm| check_in_progress(arm.body)); if let Some(span) = iter.next() { if iter.next().is_none() { return span; |
