@@ -137,13 +137,13 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
137137 source_info,
138138 kind: mir:: StatementKind :: Assign (
139139 mir:: Lvalue :: Local ( mir:: Local :: new( 2 ) ) ,
140- mir:: Rvalue :: Use ( mir:: Operand :: Constant ( mir:: Constant {
140+ mir:: Rvalue :: Use ( mir:: Operand :: Constant ( Box :: new ( mir:: Constant {
141141 span: DUMMY_SP ,
142142 ty: tcx. types. usize ,
143143 literal: mir:: Literal :: Value {
144144 value: ConstVal :: Integral ( ConstInt :: Usize ( ConstUsize :: new( 0 , tcx. sess. target. uint_type) . unwrap( ) ) ) ,
145145 } ,
146- } ) )
146+ } ) ) )
147147 )
148148 } ,
149149 mir:: Statement {
@@ -225,13 +225,13 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
225225 mir:: Rvalue :: BinaryOp (
226226 mir:: BinOp :: Add ,
227227 mir:: Operand :: Consume ( mir:: Lvalue :: Local ( mir:: Local :: new( 2 ) ) ) ,
228- mir:: Operand :: Constant ( mir:: Constant {
228+ mir:: Operand :: Constant ( Box :: new ( mir:: Constant {
229229 span: DUMMY_SP ,
230230 ty: tcx. types. usize ,
231231 literal: mir:: Literal :: Value {
232232 value: ConstVal :: Integral ( ConstInt :: Usize ( ConstUsize :: new( 1 , tcx. sess. target. uint_type) . unwrap( ) ) ) ,
233233 } ,
234- } ) ,
234+ } ) ) ,
235235 )
236236 )
237237 } ,
@@ -636,7 +636,7 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
636636 }
637637
638638 General { discr, ref variants, .. } => {
639- if let mir:: AggregateKind :: Adt ( adt_def, variant, _, _) = * kind {
639+ if let mir:: AggregateKind :: Adt ( adt_def, variant, _, _) = * * kind {
640640 let discr_val = adt_def. discriminants ( self . tcx )
641641 . nth ( variant)
642642 . expect ( "broken mir: Adt variant id invalid" )
@@ -662,7 +662,7 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
662662 }
663663
664664 RawNullablePointer { nndiscr, .. } => {
665- if let mir:: AggregateKind :: Adt ( _, variant, _, _) = * kind {
665+ if let mir:: AggregateKind :: Adt ( _, variant, _, _) = * * kind {
666666 if nndiscr == variant as u64 {
667667 assert_eq ! ( operands. len( ) , 1 ) ;
668668 let operand = & operands[ 0 ] ;
@@ -683,7 +683,7 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
683683 }
684684
685685 StructWrappedNullablePointer { nndiscr, ref nonnull, ref discrfield, .. } => {
686- if let mir:: AggregateKind :: Adt ( _, variant, _, _) = * kind {
686+ if let mir:: AggregateKind :: Adt ( _, variant, _, _) = * * kind {
687687 if nonnull. packed {
688688 let ptr = self . force_allocation ( dest) ?. to_ptr_and_extra ( ) . 0 ;
689689 self . memory . mark_packed ( ptr, nonnull. stride ( ) . bytes ( ) ) ;
@@ -712,7 +712,7 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
712712
713713 CEnum { .. } => {
714714 assert_eq ! ( operands. len( ) , 0 ) ;
715- if let mir:: AggregateKind :: Adt ( adt_def, variant, _, _) = * kind {
715+ if let mir:: AggregateKind :: Adt ( adt_def, variant, _, _) = * * kind {
716716 let n = adt_def. discriminants ( self . tcx )
717717 . nth ( variant)
718718 . expect ( "broken mir: Adt variant index invalid" )
@@ -997,8 +997,9 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> {
997997 match * op {
998998 Consume ( ref lvalue) => self . eval_and_read_lvalue ( lvalue) ,
999999
1000- Constant ( mir :: Constant { ref literal , .. } ) => {
1000+ Constant ( ref constant ) => {
10011001 use rustc:: mir:: Literal ;
1002+ let mir:: Constant { ref literal, .. } = * * constant;
10021003 let value = match * literal {
10031004 Literal :: Value { ref value } => self . const_to_value ( value) ?,
10041005
0 commit comments