Skip to content

Commit 7e7411e

Browse files
committed
Demode rand
1 parent 52ad275 commit 7e7411e

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

src/libcore/rand.rs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
//! Random number generation
22
3+
// NB: transitional, de-mode-ing.
4+
#[warn(deprecated_mode)];
5+
#[forbid(deprecated_pattern)];
6+
37
#[allow(non_camel_case_types)] // runtime type
48
enum rctx {}
59

@@ -120,7 +124,7 @@ impl Rng {
120124
/**
121125
* Return a char randomly chosen from chars, failing if chars is empty
122126
*/
123-
fn gen_char_from(chars: ~str) -> char {
127+
fn gen_char_from(chars: &str) -> char {
124128
assert !chars.is_empty();
125129
self.choose(str::chars(chars))
126130
}
@@ -272,8 +276,8 @@ pub fn Rng() -> Rng {
272276
* all other generators constructed with the same seed. The seed may be any
273277
* length.
274278
*/
275-
pub fn seeded_rng(seed: ~[u8]) -> Rng {
276-
@RandRes(rustrt::rand_new_seeded(seed)) as Rng
279+
pub fn seeded_rng(seed: &~[u8]) -> Rng {
280+
@RandRes(rustrt::rand_new_seeded(*seed)) as Rng
277281
}
278282

279283
type XorShiftState = {
@@ -310,24 +314,24 @@ pub mod tests {
310314
#[test]
311315
pub fn rng_seeded() {
312316
let seed = rand::seed();
313-
let ra = rand::seeded_rng(seed);
314-
let rb = rand::seeded_rng(seed);
317+
let ra = rand::seeded_rng(&seed);
318+
let rb = rand::seeded_rng(&seed);
315319
assert ra.gen_str(100u) == rb.gen_str(100u);
316320
}
317321

318322
#[test]
319323
pub fn rng_seeded_custom_seed() {
320324
// much shorter than generated seeds which are 1024 bytes
321325
let seed = ~[2u8, 32u8, 4u8, 32u8, 51u8];
322-
let ra = rand::seeded_rng(seed);
323-
let rb = rand::seeded_rng(seed);
326+
let ra = rand::seeded_rng(&seed);
327+
let rb = rand::seeded_rng(&seed);
324328
assert ra.gen_str(100u) == rb.gen_str(100u);
325329
}
326330

327331
#[test]
328332
pub fn rng_seeded_custom_seed2() {
329333
let seed = ~[2u8, 32u8, 4u8, 32u8, 51u8];
330-
let ra = rand::seeded_rng(seed);
334+
let ra = rand::seeded_rng(&seed);
331335
// Regression test that isaac is actually using the above vector
332336
let r = ra.next();
333337
error!("%?", r);

src/test/bench/core-map.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ fn main(++args: ~[~str]) {
154154
let seed = ~[1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
155155

156156
{
157-
let rng = rand::seeded_rng(copy seed);
157+
let rng = rand::seeded_rng(&seed);
158158
let mut results = empty_results();
159159
int_benchmarks::<map::HashMap<uint, uint>>(
160160
map::HashMap, rng, num_keys, &mut results);
@@ -164,7 +164,7 @@ fn main(++args: ~[~str]) {
164164
}
165165

166166
{
167-
let rng = rand::seeded_rng(copy seed);
167+
let rng = rand::seeded_rng(&seed);
168168
let mut results = empty_results();
169169
int_benchmarks::<@Mut<LinearMap<uint, uint>>>(
170170
|| @Mut(LinearMap()),

0 commit comments

Comments
 (0)