File tree 4 files changed +10
-1
lines changed
4 files changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -22,7 +22,7 @@ alloc = ["rand_core/alloc"] # enables Vec and Box support without std
22
22
23
23
i128_support = [] # enables i128 and u128 support
24
24
25
- serde-1 = [" serde" , " serde_derive" ]
25
+ serde-1 = [" serde" , " serde_derive" , " rand_core/serde-1 " ]
26
26
27
27
28
28
[target .'cfg(unix)' .dependencies ]
Original file line number Diff line number Diff line change @@ -18,3 +18,8 @@ categories = ["algorithms"]
18
18
# default = ["std"]
19
19
std = [] # use std library; should be default but for above bug
20
20
alloc = [] # enables Vec and Box support without std
21
+ serde-1 = [" serde" , " serde_derive" ] # enables serde for BlockRng wrapper
22
+
23
+ [dependencies ]
24
+ serde = {version =" 1" ,optional =true }
25
+ serde_derive = {version =" 1" , optional =true }
Original file line number Diff line number Diff line change @@ -184,6 +184,7 @@ pub fn next_u64_via_fill<R: RngCore + ?Sized>(rng: &mut R) -> u64 {
184
184
/// [`RngCore`]: ../RngCore.t.html
185
185
/// [`SeedableRng`]: ../SeedableRng.t.html
186
186
#[ derive( Clone ) ]
187
+ #[ cfg_attr( feature="serde-1" , derive( Serialize , Deserialize ) ) ]
187
188
pub struct BlockRng < R : BlockRngCore + ?Sized > {
188
189
pub results : R :: Results ,
189
190
pub index : usize ,
@@ -346,6 +347,7 @@ impl<R: BlockRngCore + SeedableRng> SeedableRng for BlockRng<R> {
346
347
/// [`RngCore`]: ../RngCore.t.html
347
348
/// [`BlockRng`]: .BlockRng.s.html
348
349
#[ derive( Clone ) ]
350
+ #[ cfg_attr( feature="serde-1" , derive( Serialize , Deserialize ) ) ]
349
351
pub struct BlockRng64 < R : BlockRngCore + ?Sized > {
350
352
pub results : R :: Results ,
351
353
pub index : usize ,
Original file line number Diff line number Diff line change 39
39
40
40
#[ cfg( feature="std" ) ] extern crate core;
41
41
#[ cfg( all( feature = "alloc" , not( feature="std" ) ) ) ] extern crate alloc;
42
+ #[ cfg( feature="serde-1" ) ] extern crate serde;
43
+ #[ cfg( feature="serde-1" ) ] #[ macro_use] extern crate serde_derive;
42
44
43
45
44
46
use core:: default:: Default ;
You can’t perform that action at this time.
0 commit comments