@@ -797,7 +797,7 @@ pub enum StatementKind<'tcx> {
797797 StorageDead ( Lvalue < ' tcx > ) ,
798798
799799 InlineAsm {
800- asm : InlineAsm ,
800+ asm : Box < InlineAsm > ,
801801 outputs : Vec < Lvalue < ' tcx > > ,
802802 inputs : Vec < Operand < ' tcx > >
803803 } ,
@@ -993,7 +993,7 @@ pub struct VisibilityScopeData {
993993#[ derive( Clone , PartialEq , RustcEncodable , RustcDecodable ) ]
994994pub enum Operand < ' tcx > {
995995 Consume ( Lvalue < ' tcx > ) ,
996- Constant ( Constant < ' tcx > ) ,
996+ Constant ( Box < Constant < ' tcx > > ) ,
997997}
998998
999999impl < ' tcx > Debug for Operand < ' tcx > {
@@ -1013,7 +1013,7 @@ impl<'tcx> Operand<'tcx> {
10131013 substs : & ' tcx Substs < ' tcx > ,
10141014 span : Span ,
10151015 ) -> Self {
1016- Operand :: Constant ( Constant {
1016+ Operand :: Constant ( box Constant {
10171017 span : span,
10181018 ty : tcx. item_type ( def_id) . subst ( tcx, substs) ,
10191019 literal : Literal :: Value { value : ConstVal :: Function ( def_id, substs) } ,
@@ -1060,7 +1060,7 @@ pub enum Rvalue<'tcx> {
10601060 /// ..., y: ... }` from `dest.x = ...; dest.y = ...;` in the case
10611061 /// that `Foo` has a destructor. These rvalues can be optimized
10621062 /// away after type-checking and before lowering.
1063- Aggregate ( AggregateKind < ' tcx > , Vec < Operand < ' tcx > > ) ,
1063+ Aggregate ( Box < AggregateKind < ' tcx > > , Vec < Operand < ' tcx > > ) ,
10641064}
10651065
10661066#[ derive( Clone , Copy , Debug , PartialEq , Eq , RustcEncodable , RustcDecodable ) ]
@@ -1183,7 +1183,7 @@ impl<'tcx> Debug for Rvalue<'tcx> {
11831183 tuple_fmt. finish ( )
11841184 }
11851185
1186- match * kind {
1186+ match * * kind {
11871187 AggregateKind :: Array ( _) => write ! ( fmt, "{:?}" , lvs) ,
11881188
11891189 AggregateKind :: Tuple => {
@@ -1601,7 +1601,7 @@ impl<'tcx> TypeFoldable<'tcx> for Rvalue<'tcx> {
16011601 Discriminant ( ref lval) => Discriminant ( lval. fold_with ( folder) ) ,
16021602 Box ( ty) => Box ( ty. fold_with ( folder) ) ,
16031603 Aggregate ( ref kind, ref fields) => {
1604- let kind = match * kind {
1604+ let kind = box match * * kind {
16051605 AggregateKind :: Array ( ty) => AggregateKind :: Array ( ty. fold_with ( folder) ) ,
16061606 AggregateKind :: Tuple => AggregateKind :: Tuple ,
16071607 AggregateKind :: Adt ( def, v, substs, n) =>
@@ -1629,7 +1629,7 @@ impl<'tcx> TypeFoldable<'tcx> for Rvalue<'tcx> {
16291629 Discriminant ( ref lval) => lval. visit_with ( visitor) ,
16301630 Box ( ty) => ty. visit_with ( visitor) ,
16311631 Aggregate ( ref kind, ref fields) => {
1632- ( match * kind {
1632+ ( match * * kind {
16331633 AggregateKind :: Array ( ty) => ty. visit_with ( visitor) ,
16341634 AggregateKind :: Tuple => false ,
16351635 AggregateKind :: Adt ( _, _, substs, _) => substs. visit_with ( visitor) ,
0 commit comments