@@ -103,24 +103,6 @@ mod test {
103
103
use crate :: rngs:: StdRng ;
104
104
use crate :: { RngCore , SeedableRng } ;
105
105
106
- // Get ChaCha state, omitting the constants
107
- fn rng_state ( rng : & StdRng ) -> & [ u32 ; 12 ] {
108
- use core:: mem:: { size_of, transmute} ;
109
-
110
- // Experimentally this matches the size and layout of rand_core::ChaCha12Rng
111
- struct State {
112
- _results : [ u32 ; 64 ] ,
113
- _index : usize ,
114
- #[ cfg( target_pointer_width = "64" ) ]
115
- _pad : usize ,
116
- state : [ u32 ; 12 ] ,
117
- }
118
- assert_eq ! ( size_of:: <StdRng >( ) , size_of:: <State >( ) ) ;
119
-
120
- let state: & State = unsafe { transmute ( rng) } ;
121
- & state. state
122
- }
123
-
124
106
#[ test]
125
107
fn test_stdrng_construction ( ) {
126
108
// Test value-stability of StdRng. This is expected to break any time
@@ -133,20 +115,11 @@ mod test {
133
115
134
116
let mut rng0 = StdRng :: from_seed ( seed) ;
135
117
136
- let expected = [ 1 , 23 , 456 , 7890 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] ;
137
- assert_eq ! ( rng_state( & rng0) , & expected) ;
138
-
139
118
let x0 = rng0. next_u64 ( ) ;
140
119
141
120
let mut rng1 = StdRng :: from_rng ( & mut rng0) ;
142
121
let x1 = rng1. next_u64 ( ) ;
143
122
144
- let expected = [
145
- 0x98c064cf , 0x42da2de , 0xb7949e00 , 0xf46bfbdb , 0x7e3b786e , 0xaaddd44f , 0xf7a37c04 ,
146
- 0x8255c7e9 , 4 , 0 , 0 , 0 ,
147
- ] ;
148
- assert_eq ! ( rng_state( & rng1) , & expected) ;
149
-
150
123
assert_eq ! ( [ x0, x1] , target) ;
151
124
}
152
125
@@ -160,8 +133,6 @@ mod test {
160
133
let seed = [ 0u8 ; 32 ] ;
161
134
let mut rng = StdRng :: from_seed ( seed) ;
162
135
163
- assert_eq ! ( rng_state( & rng) , & [ 0u32 ; 12 ] ) ;
164
-
165
136
let mut results = [ 0u8 ; 64 ] ;
166
137
rng. fill_bytes ( & mut results) ;
167
138
#[ rustfmt:: skip]
@@ -205,10 +176,6 @@ mod test {
205
176
seed[ 0 ] = 1 ;
206
177
let mut rng = StdRng :: from_seed ( seed) ;
207
178
208
- let mut expected = [ 0u32 ; 12 ] ;
209
- expected[ 0 ] = 1 ;
210
- assert_eq ! ( rng_state( & rng) , & expected) ;
211
-
212
179
let mut results = [ 0u8 ; 64 ] ;
213
180
rng. fill_bytes ( & mut results) ;
214
181
#[ rustfmt:: skip]
@@ -252,10 +219,6 @@ mod test {
252
219
let mut rng = StdRng :: from_seed ( seed) ;
253
220
rng. 0 . set_stream ( 1 ) ;
254
221
255
- let mut expected = [ 0u32 ; 12 ] ;
256
- expected[ 10 ] = 1 ;
257
- assert_eq ! ( rng_state( & rng) , & expected) ;
258
-
259
222
let mut results = [ 0u8 ; 64 ] ;
260
223
rng. fill_bytes ( & mut results) ;
261
224
#[ rustfmt:: skip]
@@ -306,17 +269,6 @@ mod test {
306
269
let mut rng = StdRng :: from_seed ( seed) ;
307
270
rng. 0 . set_stream ( u64:: from_le_bytes ( iv) ) ;
308
271
309
- #[ rustfmt:: skip]
310
- let expected = [
311
- 0xb1c16ec4 , 0x78a8e88c ,
312
- 0xe7375a72 , 0x35b7df80 ,
313
- 0x2eed681f , 0xfb794c19 ,
314
- 0xe1beaec6 , 0x5d9767a6 ,
315
- 0x00000000 , 0x00000000 ,
316
- 0xd531da1a , 0x218268cf ,
317
- ] ;
318
- assert_eq ! ( rng_state( & rng) , & expected) ;
319
-
320
272
let mut results = [ 0u8 ; 64 ] ;
321
273
rng. fill_bytes ( & mut results) ;
322
274
#[ rustfmt:: skip]
@@ -360,12 +312,6 @@ mod test {
360
312
let words_per_block = 16 ;
361
313
rng. 0 . set_word_pos ( ( block as u128 ) * words_per_block) ;
362
314
363
- let mut expected = [ 0u32 ; 12 ] ;
364
- // Note: four blocks get generated by set_word_pos
365
- expected[ 8 ] = block. wrapping_add ( 4 ) ;
366
- expected[ 9 ] = 1 ;
367
- assert_eq ! ( rng_state( & rng) , & expected) ;
368
-
369
315
let mut results = [ 0u8 ; 64 ] ;
370
316
rng. fill_bytes ( & mut results) ;
371
317
#[ rustfmt:: skip]
0 commit comments