From b2ea45fa00ed7cd0ab1bd6b445a3905c27ce2b38 Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 27 Dec 2025 08:14:26 -0700 Subject: [PATCH 1/2] rdrand: `allow(unused_unsafe)` when calling `__cpuid` This is currently a release blocker: #769 --- src/backends/rdrand.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backends/rdrand.rs b/src/backends/rdrand.rs index ece9a434..ebddd94e 100644 --- a/src/backends/rdrand.rs +++ b/src/backends/rdrand.rs @@ -77,10 +77,12 @@ fn is_rdrand_good() -> bool { { // SAFETY: All Rust x86 targets are new enough to have CPUID, and we // check that leaf 1 is supported before using it. + #[allow(unused_unsafe)] let cpuid0 = unsafe { arch::__cpuid(0) }; if cpuid0.eax < 1 { return false; } + #[allow(unused_unsafe)] let cpuid1 = unsafe { arch::__cpuid(1) }; let vendor_id = [ From 558282a2db2425f0eaeb541a39dab8ad4cc754bc Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Sat, 27 Dec 2025 08:24:21 -0700 Subject: [PATCH 2/2] Add TODO for MSRV 1.94 --- src/backends/rdrand.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backends/rdrand.rs b/src/backends/rdrand.rs index ebddd94e..439ead95 100644 --- a/src/backends/rdrand.rs +++ b/src/backends/rdrand.rs @@ -77,6 +77,8 @@ fn is_rdrand_good() -> bool { { // SAFETY: All Rust x86 targets are new enough to have CPUID, and we // check that leaf 1 is supported before using it. + // + // TODO(MSRV 1.94): remove allow(unused_unsafe) and the unsafe blocks for `__cpuid`. #[allow(unused_unsafe)] let cpuid0 = unsafe { arch::__cpuid(0) }; if cpuid0.eax < 1 {