@@ -33,6 +33,9 @@ pub enum MemPlaceMeta<Tag = ()> {
3333 Poison ,
3434}
3535
36+ #[ cfg( target_arch = "x86_64" ) ]
37+ rustc_data_structures:: static_assert_size!( MemPlaceMeta , 24 ) ;
38+
3639impl < Tag > MemPlaceMeta < Tag > {
3740 pub fn unwrap_meta ( self ) -> Scalar < Tag > {
3841 match self {
@@ -71,6 +74,9 @@ pub struct MemPlace<Tag = ()> {
7174 pub meta : MemPlaceMeta < Tag > ,
7275}
7376
77+ #[ cfg( target_arch = "x86_64" ) ]
78+ rustc_data_structures:: static_assert_size!( MemPlace , 56 ) ;
79+
7480#[ derive( Copy , Clone , Debug , Hash , PartialEq , Eq , HashStable ) ]
7581pub enum Place < Tag = ( ) > {
7682 /// A place referring to a value allocated in the `Memory` system.
@@ -81,12 +87,18 @@ pub enum Place<Tag = ()> {
8187 Local { frame : usize , local : mir:: Local } ,
8288}
8389
90+ #[ cfg( target_arch = "x86_64" ) ]
91+ rustc_data_structures:: static_assert_size!( Place , 64 ) ;
92+
8493#[ derive( Copy , Clone , Debug ) ]
8594pub struct PlaceTy < ' tcx , Tag = ( ) > {
8695 place : Place < Tag > , // Keep this private; it helps enforce invariants.
8796 pub layout : TyAndLayout < ' tcx > ,
8897}
8998
99+ #[ cfg( target_arch = "x86_64" ) ]
100+ rustc_data_structures:: static_assert_size!( PlaceTy <' _>, 80 ) ;
101+
90102impl < ' tcx , Tag > std:: ops:: Deref for PlaceTy < ' tcx , Tag > {
91103 type Target = Place < Tag > ;
92104 #[ inline( always) ]
@@ -102,6 +114,9 @@ pub struct MPlaceTy<'tcx, Tag = ()> {
102114 pub layout : TyAndLayout < ' tcx > ,
103115}
104116
117+ #[ cfg( target_arch = "x86_64" ) ]
118+ rustc_data_structures:: static_assert_size!( MPlaceTy <' _>, 72 ) ;
119+
105120impl < ' tcx , Tag > std:: ops:: Deref for MPlaceTy < ' tcx , Tag > {
106121 type Target = MemPlace < Tag > ;
107122 #[ inline( always) ]
0 commit comments