@@ -1683,6 +1683,9 @@ pub struct Place<'tcx> {
1683
1683
pub projection : & ' tcx List < PlaceElem < ' tcx > > ,
1684
1684
}
1685
1685
1686
+ #[ cfg( target_arch = "x86_64" ) ]
1687
+ static_assert_size ! ( Place <' _>, 16 ) ;
1688
+
1686
1689
#[ derive( Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord , Hash ) ]
1687
1690
#[ derive( TyEncodable , TyDecodable , HashStable ) ]
1688
1691
pub enum ProjectionElem < V , T > {
@@ -1981,6 +1984,9 @@ pub enum Operand<'tcx> {
1981
1984
Constant ( Box < Constant < ' tcx > > ) ,
1982
1985
}
1983
1986
1987
+ #[ cfg( target_arch = "x86_64" ) ]
1988
+ static_assert_size ! ( Operand <' _>, 24 ) ;
1989
+
1984
1990
impl < ' tcx > Debug for Operand < ' tcx > {
1985
1991
fn fmt ( & self , fmt : & mut Formatter < ' _ > ) -> fmt:: Result {
1986
1992
use self :: Operand :: * ;
@@ -2096,8 +2102,8 @@ pub enum Rvalue<'tcx> {
2096
2102
2097
2103
Cast ( CastKind , Operand < ' tcx > , Ty < ' tcx > ) ,
2098
2104
2099
- BinaryOp ( BinOp , Operand < ' tcx > , Operand < ' tcx > ) ,
2100
- CheckedBinaryOp ( BinOp , Operand < ' tcx > , Operand < ' tcx > ) ,
2105
+ BinaryOp ( BinOp , Box < ( Operand < ' tcx > , Operand < ' tcx > ) > ) ,
2106
+ CheckedBinaryOp ( BinOp , Box < ( Operand < ' tcx > , Operand < ' tcx > ) > ) ,
2101
2107
2102
2108
NullaryOp ( NullOp , Ty < ' tcx > ) ,
2103
2109
UnaryOp ( UnOp , Operand < ' tcx > ) ,
@@ -2116,6 +2122,9 @@ pub enum Rvalue<'tcx> {
2116
2122
Aggregate ( Box < AggregateKind < ' tcx > > , Vec < Operand < ' tcx > > ) ,
2117
2123
}
2118
2124
2125
+ #[ cfg( target_arch = "x86_64" ) ]
2126
+ static_assert_size ! ( Rvalue <' _>, 40 ) ;
2127
+
2119
2128
#[ derive( Clone , Copy , Debug , PartialEq , Eq , TyEncodable , TyDecodable , Hash , HashStable ) ]
2120
2129
pub enum CastKind {
2121
2130
Misc ,
@@ -2139,6 +2148,9 @@ pub enum AggregateKind<'tcx> {
2139
2148
Generator ( DefId , SubstsRef < ' tcx > , hir:: Movability ) ,
2140
2149
}
2141
2150
2151
+ #[ cfg( target_arch = "x86_64" ) ]
2152
+ static_assert_size ! ( AggregateKind <' _>, 48 ) ;
2153
+
2142
2154
#[ derive( Copy , Clone , Debug , PartialEq , PartialOrd , Eq , TyEncodable , TyDecodable , Hash , HashStable ) ]
2143
2155
pub enum BinOp {
2144
2156
/// The `+` operator (addition)
@@ -2215,8 +2227,8 @@ impl<'tcx> Debug for Rvalue<'tcx> {
2215
2227
Cast ( ref kind, ref place, ref ty) => {
2216
2228
write ! ( fmt, "{:?} as {:?} ({:?})" , place, ty, kind)
2217
2229
}
2218
- BinaryOp ( ref op, ref a, ref b) => write ! ( fmt, "{:?}({:?}, {:?})" , op, a, b) ,
2219
- CheckedBinaryOp ( ref op, ref a, ref b) => {
2230
+ BinaryOp ( ref op, box ( ref a, ref b) ) => write ! ( fmt, "{:?}({:?}, {:?})" , op, a, b) ,
2231
+ CheckedBinaryOp ( ref op, box ( ref a, ref b) ) => {
2220
2232
write ! ( fmt, "Checked{:?}({:?}, {:?})" , op, a, b)
2221
2233
}
2222
2234
UnaryOp ( ref op, ref a) => write ! ( fmt, "{:?}({:?})" , op, a) ,
0 commit comments