diff options
| author | Wesley Wiser <wwiser@gmail.com> | 2019-09-15 12:03:52 -0400 |
|---|---|---|
| committer | Wesley Wiser <wwiser@gmail.com> | 2019-10-18 19:16:49 -0400 |
| commit | 2d22063e4c6fbdb61ce2a2dd9ce50d12fe9f0e9b (patch) | |
| tree | 06637c0f742fb5cbf1bcd28ca7c9c077ba11b556 /src/librustc_mir/transform | |
| parent | 4d89031e801e03009e74a3028007dd387e859717 (diff) | |
| download | rust-2d22063e4c6fbdb61ce2a2dd9ce50d12fe9f0e9b.tar.gz rust-2d22063e4c6fbdb61ce2a2dd9ce50d12fe9f0e9b.zip | |
[const-prop] Handle MIR Rvalue::Box
Diffstat (limited to 'src/librustc_mir/transform')
| -rw-r--r-- | src/librustc_mir/transform/const_prop.rs | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/src/librustc_mir/transform/const_prop.rs b/src/librustc_mir/transform/const_prop.rs index fb2cdce2d7a..984938d00b2 100644 --- a/src/librustc_mir/transform/const_prop.rs +++ b/src/librustc_mir/transform/const_prop.rs @@ -8,7 +8,7 @@ use rustc::hir::def::DefKind; use rustc::hir::def_id::DefId; use rustc::mir::{ AggregateKind, Constant, Location, Place, PlaceBase, Body, Operand, Rvalue, - Local, NullOp, UnOp, StatementKind, Statement, LocalKind, + Local, UnOp, StatementKind, Statement, LocalKind, TerminatorKind, Terminator, ClearCrossCrate, SourceInfo, BinOp, SourceScope, SourceScopeLocalData, LocalDecl, BasicBlock, }; @@ -434,23 +434,6 @@ impl<'mir, 'tcx> ConstPropagator<'mir, 'tcx> { ) -> Option<Const<'tcx>> { let span = source_info.span; - // if this isn't a supported operation, then return None - match rvalue { - Rvalue::NullaryOp(NullOp::Box, _) => return None, - - Rvalue::Use(_) | - Rvalue::Len(_) | - Rvalue::Repeat(..) | - Rvalue::Aggregate(..) | - Rvalue::Discriminant(..) | - Rvalue::Cast(..) | - Rvalue::NullaryOp(..) | - Rvalue::CheckedBinaryOp(..) | - Rvalue::Ref(..) | - Rvalue::UnaryOp(..) | - Rvalue::BinaryOp(..) => { } - } - // perform any special checking for specific Rvalue types if let Rvalue::UnaryOp(op, arg) = rvalue { trace!("checking UnaryOp(op = {:?}, arg = {:?})", op, arg); |
