summaryrefslogtreecommitdiff
path: root/src/codegen/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen/mod.rs')
-rw-r--r--src/codegen/mod.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index 4fcbaefd..e4ce9526 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -2192,7 +2192,9 @@ impl CodeGenerator for CompInfo {
quote! {
assert_eq!(
unsafe {
- &(*(::#prefix::ptr::null::<#canonical_ident>())).#field_name as *const _ as usize
+ let uninit = ::#prefix::mem::MaybeUninit::<#canonical_ident>::uninit();
+ let ptr = uninit.as_ptr();
+ ::#prefix::ptr::addr_of!((*ptr).#field_name) as usize - ptr as usize
},
#field_offset,
concat!("Offset of field: ", stringify!(#canonical_ident), "::", stringify!(#field_name))