From 69ee78f7ab34873e01eda838cf8a5a6b4a9c6b26 Mon Sep 17 00:00:00 2001 From: Diggory Hardy Date: Sun, 28 Dec 2025 17:10:36 +0000 Subject: [PATCH] TEMP: rand_core revisions --- Cargo.lock | 3 +-- Cargo.toml | 3 +++ src/sys_rng.rs | 20 ++++++++++---------- tests/sys_rng.rs | 2 +- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 64fbe1b9..4e6fe713 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -169,8 +169,7 @@ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "rand_core" version = "0.10.0-rc-3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f66ee92bc15280519ef199a274fe0cafff4245d31bc39aaa31c011ad56cb1f05" +source = "git+https://github.com/rust-random/rand_core.git?branch=merge_rng_traits#85f7d9ba0a13f69e16248166abf72bff29b00de0" [[package]] name = "rustversion" diff --git a/Cargo.toml b/Cargo.toml index baffad7f..b8da896f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -102,3 +102,6 @@ pre-build = [ "rm base.tar.xz", "rm -rf /tmp/netbsd", ] + +[patch.crates-io] +rand_core = { git = "https://github.com/rust-random/rand_core.git", branch = "merge_rng_traits" } diff --git a/src/sys_rng.rs b/src/sys_rng.rs index d7c019e1..7508b92b 100644 --- a/src/sys_rng.rs +++ b/src/sys_rng.rs @@ -1,7 +1,7 @@ use crate::Error; -use rand_core::{TryCryptoRng, TryRngCore}; +use rand_core::{CryptoRng, TryRng}; -/// A [`TryRngCore`] interface over the system's preferred random number source +/// A [`TryRng`] interface over the system's preferred random number source /// /// This is a zero-sized struct. It can be freely constructed with just `SysRng`. /// @@ -9,30 +9,30 @@ use rand_core::{TryCryptoRng, TryRngCore}; /// /// # Usage example /// -/// `SysRng` implements [`TryRngCore`]: +/// `SysRng` implements [`TryRng`]: /// ``` -/// use getrandom::{rand_core::TryRngCore, SysRng}; +/// use getrandom::{rand_core::TryRng, SysRng}; /// /// let mut key = [0u8; 32]; /// SysRng.try_fill_bytes(&mut key).unwrap(); /// ``` /// -/// Using it as an [`RngCore`] is possible using [`TryRngCore::unwrap_err`]: +/// Using it as an [`InfallibleRng`] is possible using [`TryRng::unwrap_err`]: /// ``` -/// use getrandom::rand_core::{TryRngCore, RngCore}; +/// use getrandom::rand_core::TryRng; /// use getrandom::SysRng; /// /// let mut rng = SysRng.unwrap_err(); -/// let random_u64 = rng.next_u64(); +/// let random_u64 = rng.try_next_u64(); /// ``` /// /// [rand]: https://crates.io/crates/rand /// [`rand::rngs::SysRng`]: https://docs.rs/rand/latest/rand/rngs/struct.SysRng.html -/// [`RngCore`]: rand_core::RngCore +/// [`TryRng`]: rand_core::TryRng #[derive(Clone, Copy, Debug, Default)] pub struct SysRng; -impl TryRngCore for SysRng { +impl TryRng for SysRng { type Error = Error; #[inline] @@ -51,4 +51,4 @@ impl TryRngCore for SysRng { } } -impl TryCryptoRng for SysRng {} +impl CryptoRng for SysRng {} diff --git a/tests/sys_rng.rs b/tests/sys_rng.rs index 541912d2..a4299275 100644 --- a/tests/sys_rng.rs +++ b/tests/sys_rng.rs @@ -1,7 +1,7 @@ #![cfg(feature = "sys_rng")] use getrandom::SysRng; -use getrandom::rand_core::TryRngCore; +use getrandom::rand_core::TryRng; #[test] fn test_sys_rng() {