@@ -33,6 +33,9 @@ pub enum MemPlaceMeta<Tag = ()> {
33
33
Poison ,
34
34
}
35
35
36
+ #[ cfg( target_arch = "x86_64" ) ]
37
+ rustc_data_structures:: static_assert_size!( MemPlaceMeta , 24 ) ;
38
+
36
39
impl < Tag > MemPlaceMeta < Tag > {
37
40
pub fn unwrap_meta ( self ) -> Scalar < Tag > {
38
41
match self {
@@ -71,6 +74,9 @@ pub struct MemPlace<Tag = ()> {
71
74
pub meta : MemPlaceMeta < Tag > ,
72
75
}
73
76
77
+ #[ cfg( target_arch = "x86_64" ) ]
78
+ rustc_data_structures:: static_assert_size!( MemPlace , 56 ) ;
79
+
74
80
#[ derive( Copy , Clone , Debug , Hash , PartialEq , Eq , HashStable ) ]
75
81
pub enum Place < Tag = ( ) > {
76
82
/// A place referring to a value allocated in the `Memory` system.
@@ -81,12 +87,18 @@ pub enum Place<Tag = ()> {
81
87
Local { frame : usize , local : mir:: Local } ,
82
88
}
83
89
90
+ #[ cfg( target_arch = "x86_64" ) ]
91
+ rustc_data_structures:: static_assert_size!( Place , 64 ) ;
92
+
84
93
#[ derive( Copy , Clone , Debug ) ]
85
94
pub struct PlaceTy < ' tcx , Tag = ( ) > {
86
95
place : Place < Tag > , // Keep this private; it helps enforce invariants.
87
96
pub layout : TyAndLayout < ' tcx > ,
88
97
}
89
98
99
+ #[ cfg( target_arch = "x86_64" ) ]
100
+ rustc_data_structures:: static_assert_size!( PlaceTy <' _>, 80 ) ;
101
+
90
102
impl < ' tcx , Tag > std:: ops:: Deref for PlaceTy < ' tcx , Tag > {
91
103
type Target = Place < Tag > ;
92
104
#[ inline( always) ]
@@ -102,6 +114,9 @@ pub struct MPlaceTy<'tcx, Tag = ()> {
102
114
pub layout : TyAndLayout < ' tcx > ,
103
115
}
104
116
117
+ #[ cfg( target_arch = "x86_64" ) ]
118
+ rustc_data_structures:: static_assert_size!( MPlaceTy <' _>, 72 ) ;
119
+
105
120
impl < ' tcx , Tag > std:: ops:: Deref for MPlaceTy < ' tcx , Tag > {
106
121
type Target = MemPlace < Tag > ;
107
122
#[ inline( always) ]
0 commit comments