Skip to content

Commit 12d27e8

Browse files
committed
Deprecate fns fill_via_u{32|64}_chunks
1 parent d9dac42 commit 12d27e8

File tree

2 files changed

+18
-22
lines changed

2 files changed

+18
-22
lines changed

src/block.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
//! [`BlockRngCore`]: crate::block::BlockRngCore
5454
//! [`fill_bytes`]: RngCore::fill_bytes
5555
56-
use crate::impls::{fill_via_u32_chunks, fill_via_u64_chunks};
56+
use crate::impls::fill_via_chunks;
5757
use crate::{CryptoRng, RngCore, SeedableRng, TryRngCore};
5858
use core::fmt;
5959
#[cfg(feature = "serde")]
@@ -225,10 +225,8 @@ impl<R: BlockRngCore<Item = u32>> RngCore for BlockRng<R> {
225225
if self.index >= self.results.as_ref().len() {
226226
self.generate_and_set(0);
227227
}
228-
let (consumed_u32, filled_u8) = fill_via_u32_chunks(
229-
&mut self.results.as_mut()[self.index..],
230-
&mut dest[read_len..],
231-
);
228+
let (consumed_u32, filled_u8) =
229+
fill_via_chunks(&self.results.as_mut()[self.index..], &mut dest[read_len..]);
232230

233231
self.index += consumed_u32;
234232
read_len += filled_u8;
@@ -390,10 +388,8 @@ impl<R: BlockRngCore<Item = u64>> RngCore for BlockRng64<R> {
390388
self.index = 0;
391389
}
392390

393-
let (consumed_u64, filled_u8) = fill_via_u64_chunks(
394-
&mut self.results.as_mut()[self.index..],
395-
&mut dest[read_len..],
396-
);
391+
let (consumed_u64, filled_u8) =
392+
fill_via_chunks(&self.results.as_mut()[self.index..], &mut dest[read_len..]);
397393

398394
self.index += consumed_u64;
399395
read_len += filled_u8;

src/impls.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ pub fn fill_bytes_via_next<R: RngCore + ?Sized>(rng: &mut R, dest: &mut [u8]) {
5151
}
5252
}
5353

54-
trait Observable: Copy {
54+
pub(crate) trait Observable: Copy {
5555
type Bytes: Sized + AsRef<[u8]>;
5656
fn to_le_bytes(self) -> Self::Bytes;
5757
}
@@ -72,10 +72,10 @@ impl Observable for u64 {
7272

7373
/// Fill dest from src
7474
///
75-
/// Returns `(n, byte_len)`. `src[..n]` is consumed (and possibly mutated),
75+
/// Returns `(n, byte_len)`. `src[..n]` is consumed,
7676
/// `dest[..byte_len]` is filled. `src[n..]` and `dest[byte_len..]` are left
7777
/// unaltered.
78-
fn fill_via_chunks<T: Observable>(src: &[T], dest: &mut [u8]) -> (usize, usize) {
78+
pub(crate) fn fill_via_chunks<T: Observable>(src: &[T], dest: &mut [u8]) -> (usize, usize) {
7979
let size = core::mem::size_of::<T>();
8080

8181
// Always use little endian for portability of results.
@@ -133,8 +133,8 @@ fn fill_via_chunks<T: Observable>(src: &[T], dest: &mut [u8]) -> (usize, usize)
133133
/// }
134134
/// }
135135
/// ```
136+
#[deprecated(since = "0.9.3", note = "use BlockRng instead")]
136137
pub fn fill_via_u32_chunks(src: &mut [u32], dest: &mut [u8]) -> (usize, usize) {
137-
// TODO(SemVer): src: `&[u32]` as we don't mutate it.
138138
fill_via_chunks(src, dest)
139139
}
140140

@@ -152,8 +152,8 @@ pub fn fill_via_u32_chunks(src: &mut [u32], dest: &mut [u8]) -> (usize, usize) {
152152
/// as `filled_u8 / 8` rounded up.
153153
///
154154
/// See `fill_via_u32_chunks` for an example.
155+
#[deprecated(since = "0.9.3", note = "use BlockRng64 instead")]
155156
pub fn fill_via_u64_chunks(src: &mut [u64], dest: &mut [u8]) -> (usize, usize) {
156-
// TODO(SemVer): src: `&[u64]` as we don't mutate it.
157157
fill_via_chunks(src, dest)
158158
}
159159

@@ -177,41 +177,41 @@ mod test {
177177

178178
#[test]
179179
fn test_fill_via_u32_chunks() {
180-
let src_orig = [1, 2, 3];
180+
let src_orig = [1u32, 2, 3];
181181

182182
let mut src = src_orig;
183183
let mut dst = [0u8; 11];
184-
assert_eq!(fill_via_u32_chunks(&mut src, &mut dst), (3, 11));
184+
assert_eq!(fill_via_chunks(&mut src, &mut dst), (3, 11));
185185
assert_eq!(dst, [1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0]);
186186

187187
let mut src = src_orig;
188188
let mut dst = [0u8; 13];
189-
assert_eq!(fill_via_u32_chunks(&mut src, &mut dst), (3, 12));
189+
assert_eq!(fill_via_chunks(&mut src, &mut dst), (3, 12));
190190
assert_eq!(dst, [1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0]);
191191

192192
let mut src = src_orig;
193193
let mut dst = [0u8; 5];
194-
assert_eq!(fill_via_u32_chunks(&mut src, &mut dst), (2, 5));
194+
assert_eq!(fill_via_chunks(&mut src, &mut dst), (2, 5));
195195
assert_eq!(dst, [1, 0, 0, 0, 2]);
196196
}
197197

198198
#[test]
199199
fn test_fill_via_u64_chunks() {
200-
let src_orig = [1, 2];
200+
let src_orig = [1u64, 2];
201201

202202
let mut src = src_orig;
203203
let mut dst = [0u8; 11];
204-
assert_eq!(fill_via_u64_chunks(&mut src, &mut dst), (2, 11));
204+
assert_eq!(fill_via_chunks(&mut src, &mut dst), (2, 11));
205205
assert_eq!(dst, [1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0]);
206206

207207
let mut src = src_orig;
208208
let mut dst = [0u8; 17];
209-
assert_eq!(fill_via_u64_chunks(&mut src, &mut dst), (2, 16));
209+
assert_eq!(fill_via_chunks(&mut src, &mut dst), (2, 16));
210210
assert_eq!(dst, [1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0]);
211211

212212
let mut src = src_orig;
213213
let mut dst = [0u8; 5];
214-
assert_eq!(fill_via_u64_chunks(&mut src, &mut dst), (1, 5));
214+
assert_eq!(fill_via_chunks(&mut src, &mut dst), (1, 5));
215215
assert_eq!(dst, [1, 0, 0, 0, 0]);
216216
}
217217
}

0 commit comments

Comments
 (0)