diff options
Diffstat (limited to 'src/librustc_mir/transform')
| -rw-r--r-- | src/librustc_mir/transform/copy_prop.rs | 2 | ||||
| -rw-r--r-- | src/librustc_mir/transform/deaggregator.rs | 8 | ||||
| -rw-r--r-- | src/librustc_mir/transform/promote_consts.rs | 4 | ||||
| -rw-r--r-- | src/librustc_mir/transform/qualify_consts.rs | 2 | ||||
| -rw-r--r-- | src/librustc_mir/transform/simplify_branches.rs | 5 | ||||
| -rw-r--r-- | src/librustc_mir/transform/type_check.rs | 2 |
6 files changed, 11 insertions, 12 deletions
diff --git a/src/librustc_mir/transform/copy_prop.rs b/src/librustc_mir/transform/copy_prop.rs index fbb67161bac..08a4961c6cd 100644 --- a/src/librustc_mir/transform/copy_prop.rs +++ b/src/librustc_mir/transform/copy_prop.rs @@ -316,7 +316,7 @@ impl<'tcx> MutVisitor<'tcx> for ConstantPropagationVisitor<'tcx> { _ => return, } - *operand = Operand::Constant(self.constant.clone()); + *operand = Operand::Constant(box self.constant.clone()); self.uses_replaced += 1 } } diff --git a/src/librustc_mir/transform/deaggregator.rs b/src/librustc_mir/transform/deaggregator.rs index 4309f91c635..d21dbeafb5d 100644 --- a/src/librustc_mir/transform/deaggregator.rs +++ b/src/librustc_mir/transform/deaggregator.rs @@ -49,8 +49,8 @@ impl MirPass for Deaggregator { &Rvalue::Aggregate(ref agg_kind, ref operands) => (agg_kind, operands), _ => span_bug!(src_info.span, "expected aggregate, not {:?}", rhs), }; - let (adt_def, variant, substs) = match agg_kind { - &AggregateKind::Adt(adt_def, variant, substs, None) + let (adt_def, variant, substs) = match **agg_kind { + AggregateKind::Adt(adt_def, variant, substs, None) => (adt_def, variant, substs), _ => span_bug!(src_info.span, "expected struct, not {:?}", rhs), }; @@ -114,8 +114,8 @@ fn get_aggregate_statement_index<'a, 'tcx, 'b>(start: usize, &Rvalue::Aggregate(ref kind, ref operands) => (kind, operands), _ => continue, }; - let (adt_def, variant) = match kind { - &AggregateKind::Adt(adt_def, variant, _, None) => (adt_def, variant), + let (adt_def, variant) = match **kind { + AggregateKind::Adt(adt_def, variant, _, None) => (adt_def, variant), _ => continue, }; if operands.len() == 0 { diff --git a/src/librustc_mir/transform/promote_consts.rs b/src/librustc_mir/transform/promote_consts.rs index ed9a0d3809f..e1c4602b045 100644 --- a/src/librustc_mir/transform/promote_consts.rs +++ b/src/librustc_mir/transform/promote_consts.rs @@ -230,7 +230,7 @@ impl<'a, 'tcx> Promoter<'a, 'tcx> { (if self.keep_original { rhs.clone() } else { - let unit = Rvalue::Aggregate(AggregateKind::Tuple, vec![]); + let unit = Rvalue::Aggregate(box AggregateKind::Tuple, vec![]); mem::replace(rhs, unit) }, statement.source_info) }; @@ -288,7 +288,7 @@ impl<'a, 'tcx> Promoter<'a, 'tcx> { fn promote_candidate(mut self, candidate: Candidate) { let span = self.promoted.span; - let new_operand = Operand::Constant(Constant { + let new_operand = Operand::Constant(box Constant { span: span, ty: self.promoted.return_ty, literal: Literal::Promoted { diff --git a/src/librustc_mir/transform/qualify_consts.rs b/src/librustc_mir/transform/qualify_consts.rs index 0d592b4d72b..df837a32133 100644 --- a/src/librustc_mir/transform/qualify_consts.rs +++ b/src/librustc_mir/transform/qualify_consts.rs @@ -730,7 +730,7 @@ impl<'a, 'tcx> Visitor<'tcx> for Qualifier<'a, 'tcx, 'tcx> { } Rvalue::Aggregate(ref kind, _) => { - if let AggregateKind::Adt(def, ..) = *kind { + if let AggregateKind::Adt(def, ..) = **kind { if def.has_dtor(self.tcx) { self.add(Qualif::NEEDS_DROP); self.deny_drop(); diff --git a/src/librustc_mir/transform/simplify_branches.rs b/src/librustc_mir/transform/simplify_branches.rs index d21a6ddfdfb..1dcacb29c3e 100644 --- a/src/librustc_mir/transform/simplify_branches.rs +++ b/src/librustc_mir/transform/simplify_branches.rs @@ -37,7 +37,7 @@ impl MirPass for SimplifyBranches { for block in mir.basic_blocks_mut() { let terminator = block.terminator_mut(); terminator.kind = match terminator.kind { - TerminatorKind::SwitchInt { discr: Operand::Constant(Constant { + TerminatorKind::SwitchInt { discr: Operand::Constant(box Constant { literal: Literal::Value { ref value }, .. }), ref values, ref targets, .. } => { if let Some(ref constint) = value.to_const_int() { @@ -54,7 +54,7 @@ impl MirPass for SimplifyBranches { continue } }, - TerminatorKind::Assert { target, cond: Operand::Constant(Constant { + TerminatorKind::Assert { target, cond: Operand::Constant(box Constant { literal: Literal::Value { value: ConstVal::Bool(cond) }, .. @@ -66,4 +66,3 @@ impl MirPass for SimplifyBranches { } } } - diff --git a/src/librustc_mir/transform/type_check.rs b/src/librustc_mir/transform/type_check.rs index b325470ec81..be384218a41 100644 --- a/src/librustc_mir/transform/type_check.rs +++ b/src/librustc_mir/transform/type_check.rs @@ -534,7 +534,7 @@ impl<'a, 'gcx, 'tcx> TypeChecker<'a, 'gcx, 'tcx> { fn is_box_free(&self, operand: &Operand<'tcx>) -> bool { match operand { - &Operand::Constant(Constant { + &Operand::Constant(box Constant { literal: Literal::Value { value: ConstVal::Function(def_id, _), .. }, .. |
