From 20013dddc982d4d3cfadd41f54e7ab401554464e Mon Sep 17 00:00:00 2001 From: Arthur Gautier Date: Wed, 31 Dec 2025 00:50:20 +0000 Subject: [PATCH] zeroize_derive: fixup test suite [1.4] https://github.com/RustCrypto/utils/pull/1270 broke the tests for zeroize_derive, this fixes the expected output of the tests accordingly. --- zeroize/derive/src/lib.rs | 14 +++++++------- zeroize/src/lib.rs | 8 ++++---- zeroize/tests/zeroize_derive.rs | 4 ++++ 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/zeroize/derive/src/lib.rs b/zeroize/derive/src/lib.rs index 7804d0cb..94ef1956 100644 --- a/zeroize/derive/src/lib.rs +++ b/zeroize/derive/src/lib.rs @@ -7,13 +7,13 @@ use proc_macro2::{Ident, TokenStream}; use quote::{format_ident, quote}; use syn::{ - Attribute, Data, DeriveInput, Expr, ExprLit, Field, Fields, Lit, Meta, Result, Variant, - WherePredicate, parse::{Parse, ParseStream}, parse_quote, punctuated::Punctuated, token::Comma, visit::Visit, + Attribute, Data, DeriveInput, Expr, ExprLit, Field, Fields, Lit, Meta, Result, Variant, + WherePredicate, }; /// Name of zeroize-related attributes @@ -454,7 +454,7 @@ mod tests { impl ::zeroize::Zeroize for Z { fn zeroize(&mut self) { match self { - #[allow(unused_variables)] + #[allow(unused_variables, unused_assignments)] Z { a, b, c } => { a.zeroize(); b.zeroize(); @@ -484,7 +484,7 @@ mod tests { impl ::zeroize::Zeroize for Z { fn zeroize(&mut self) { match self { - #[allow(unused_variables)] + #[allow(unused_variables, unused_assignments)] Z { a, b, c } => { a.zeroize(); b.zeroize(); @@ -520,7 +520,7 @@ mod tests { impl ::zeroize::Zeroize for Z { fn zeroize(&mut self) { match self { - #[allow(unused_variables)] + #[allow(unused_variables, unused_assignments)] Z { a, b, c } => { a.zeroize(); b.zeroize() @@ -545,7 +545,7 @@ mod tests { impl ::zeroize::Zeroize for Z where T: MyTrait { fn zeroize(&mut self) { match self { - #[allow(unused_variables)] + #[allow(unused_variables, unused_assignments)] Z(__zeroize_field_0) => { __zeroize_field_0.zeroize() } @@ -574,7 +574,7 @@ mod tests { use ::zeroize::__internal::AssertZeroize; use ::zeroize::__internal::AssertZeroizeOnDrop; match self { - #[allow(unused_variables)] + #[allow(unused_variables, unused_assignments)] Z { a, b, c } => { a.zeroize_or_on_drop(); b.zeroize_or_on_drop(); diff --git a/zeroize/src/lib.rs b/zeroize/src/lib.rs index 4e006578..4b610b89 100644 --- a/zeroize/src/lib.rs +++ b/zeroize/src/lib.rs @@ -252,7 +252,7 @@ mod x86; use core::{ marker::{PhantomData, PhantomPinned}, - mem::{self, MaybeUninit}, + mem::{size_of, MaybeUninit}, num::{ self, NonZeroI128, NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI8, NonZeroIsize, NonZeroU128, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU8, NonZeroUsize, @@ -269,7 +269,7 @@ use { }; #[cfg(feature = "std")] -use std::ffi::CString; +use {core::mem, std::ffi::CString}; /// Trait for securely erasing values from memory. pub trait Zeroize { @@ -405,7 +405,7 @@ where // The memory pointed to by `self` is valid for `mem::size_of::()` bytes. // It is also properly aligned, because `u8` has an alignment of `1`. unsafe { - volatile_set(self as *mut _ as *mut u8, 0, mem::size_of::()); + volatile_set(self as *mut _ as *mut u8, 0, size_of::()); } // Ensures self is overwritten with the default bit pattern. volatile_write can't be @@ -436,7 +436,7 @@ impl ZeroizeOnDrop for Option where Z: ZeroizeOnDrop {} impl Zeroize for [MaybeUninit] { fn zeroize(&mut self) { let ptr = self.as_mut_ptr() as *mut MaybeUninit; - let size = self.len().checked_mul(mem::size_of::()).unwrap(); + let size = self.len().checked_mul(size_of::()).unwrap(); assert!(size <= isize::MAX as usize); // Safety: diff --git a/zeroize/tests/zeroize_derive.rs b/zeroize/tests/zeroize_derive.rs index c561ba61..06b46728 100644 --- a/zeroize/tests/zeroize_derive.rs +++ b/zeroize/tests/zeroize_derive.rs @@ -318,6 +318,7 @@ fn derive_deref() { #[test] #[cfg(feature = "alloc")] +#[allow(dead_code)] fn derive_zeroize_on_drop_generic() { #[derive(ZeroizeOnDrop)] struct Y(Box); @@ -327,6 +328,7 @@ fn derive_zeroize_on_drop_generic() { } #[test] +#[allow(dead_code)] fn derive_zeroize_unused_param() { #[derive(Zeroize)] struct Z { @@ -337,6 +339,7 @@ fn derive_zeroize_unused_param() { } #[test] +#[allow(dead_code)] // Issue #878 fn derive_zeroize_with_marker() { #[derive(ZeroizeOnDrop, Zeroize)] @@ -353,6 +356,7 @@ fn derive_zeroize_with_marker() { } #[test] +#[allow(dead_code)] // Issue #878 fn derive_zeroize_used_param() { #[derive(Zeroize)]