Skip to content

Commit 09d3df3

Browse files
authored
Merge pull request #1130 from dhardy/work
serde for BlockRng, ReseedingRng and ReadRng
2 parents 66b1636 + d167dd2 commit 09d3df3

File tree

4 files changed

+13
-13
lines changed

4 files changed

+13
-13
lines changed

Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ include = ["src/", "LICENSE-*", "README.md", "CHANGELOG.md", "COPYRIGHT"]
2020
# Meta-features:
2121
default = ["std", "std_rng"]
2222
nightly = [] # enables performance optimizations requiring nightly rust
23-
serde1 = ["serde"]
23+
serde1 = ["serde", "rand_core/serde1"]
2424

2525
# Option (enabled by default): without "std" rand uses libcore; this option
2626
# enables functionality expected to be available on a standard platform.
@@ -62,7 +62,7 @@ serde = { version = "1.0.103", features = ["derive"], optional = true }
6262
[dependencies.packed_simd]
6363
# NOTE: so far no version works reliably due to dependence on unstable features
6464
package = "packed_simd_2"
65-
version = "0.3.4"
65+
version = "0.3.5"
6666
optional = true
6767
features = ["into_bits"]
6868

rand_core/src/block.rs

+6
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,12 @@ pub trait BlockRngCore {
114114
/// [`try_fill_bytes`]: RngCore::try_fill_bytes
115115
#[derive(Clone)]
116116
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
117+
#[cfg_attr(
118+
feature = "serde1",
119+
serde(
120+
bound = "for<'x> R: Serialize + Deserialize<'x> + Sized, for<'x> R::Results: Serialize + Deserialize<'x>"
121+
)
122+
)]
117123
pub struct BlockRng<R: BlockRngCore + ?Sized> {
118124
results: R::Results,
119125
index: usize,

src/rngs/adapter/mod.rs

+1
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@
1111
mod read;
1212
mod reseeding;
1313

14+
#[allow(deprecated)]
1415
pub use self::read::{ReadError, ReadRng};
1516
pub use self::reseeding::ReseedingRng;

src/rngs/adapter/read.rs

+4-11
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
//! A wrapper around any Read to treat it as an RNG.
1111
12+
#![allow(deprecated)]
13+
1214
use std::fmt;
1315
use std::io::Read;
1416

@@ -30,20 +32,10 @@ use rand_core::{impls, Error, RngCore};
3032
/// have enough data, will only be reported through [`try_fill_bytes`].
3133
/// The other [`RngCore`] methods will panic in case of an error.
3234
///
33-
/// # Example
34-
///
35-
/// ```
36-
/// use rand::Rng;
37-
/// use rand::rngs::adapter::ReadRng;
38-
///
39-
/// let data = vec![1, 2, 3, 4, 5, 6, 7, 8];
40-
/// let mut rng = ReadRng::new(&data[..]);
41-
/// println!("{:x}", rng.gen::<u32>());
42-
/// ```
43-
///
4435
/// [`OsRng`]: crate::rngs::OsRng
4536
/// [`try_fill_bytes`]: RngCore::try_fill_bytes
4637
#[derive(Debug)]
38+
#[deprecated(since="0.8.4", note="removal due to lack of usage")]
4739
pub struct ReadRng<R> {
4840
reader: R,
4941
}
@@ -86,6 +78,7 @@ impl<R: Read> RngCore for ReadRng<R> {
8678

8779
/// `ReadRng` error type
8880
#[derive(Debug)]
81+
#[deprecated(since="0.8.4")]
8982
pub struct ReadError(std::io::Error);
9083

9184
impl fmt::Display for ReadError {

0 commit comments

Comments
 (0)