diff --git a/Cargo.toml b/Cargo.toml index 59541bc27c..87c3c293b0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -130,3 +130,9 @@ static_assertions = "1.1" testutil = { path = "testutil" } # In tests, unlike in production, zerocopy-derive is not optional zerocopy-derive = { version = "=0.8.39", path = "zerocopy-derive" } + +[workspace.lints.clippy] +borrow_as_ptr = "warn" + +[lints] +workspace = true diff --git a/src/ref.rs b/src/ref.rs index 6354442b63..6a9972fdf1 100644 --- a/src/ref.rs +++ b/src/ref.rs @@ -1230,20 +1230,18 @@ mod tests { #[allow(unstable_name_collisions)] #[allow(clippy::as_conversions)] fn test_into_ref_mut() { - #[allow(unused)] - use crate::util::AsAddress as _; - let mut buf = Align::<[u8; 8], u64>::default(); + let buf_ptr = buf.t.as_mut_ptr(); + let r = Ref::<_, u64>::from_bytes(&buf.t[..]).unwrap(); let rf = Ref::into_ref(r); assert_eq!(rf, &0u64); - let buf_addr = (&buf.t as *const [u8; 8]).addr(); - assert_eq!((rf as *const u64).addr(), buf_addr); + assert_eq!(core::ptr::addr_of!(*rf).cast(), buf_ptr); let r = Ref::<_, u64>::from_bytes(&mut buf.t[..]).unwrap(); let rf = Ref::into_mut(r); assert_eq!(rf, &mut 0u64); - assert_eq!((rf as *mut u64).addr(), buf_addr); + assert_eq!(core::ptr::addr_of!(*rf).cast(), buf_ptr); *rf = u64::MAX; assert_eq!(buf.t, [0xFF; 8]); diff --git a/src/wrappers.rs b/src/wrappers.rs index 5f2414b0c6..4d32eb89ab 100644 --- a/src/wrappers.rs +++ b/src/wrappers.rs @@ -995,7 +995,7 @@ mod tests { let uninit = MaybeUninit::new(&input); // SAFETY: `uninit` is in an initialized state let output = unsafe { uninit.assume_init() }; - assert_eq!(&input as *const _, output as *const _); + assert!(core::ptr::eq(&input, output)); assert_eq!(input, *output); } @@ -1005,7 +1005,7 @@ mod tests { let uninit = MaybeUninit::new(&input[..]); // SAFETY: `uninit` is in an initialized state let output = unsafe { uninit.assume_init() }; - assert_eq!(&input[..] as *const _, output as *const _); + assert!(core::ptr::eq(&input[..], output)); assert_eq!(input, *output); } }