about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2012-09-27 11:14:59 -0700
committerTim Chevalier <chevalier@alum.wellesley.edu>2012-09-27 11:32:09 -0700
commit7e7411e6209b10d99bc37c084c8ac45fbb706431 (patch)
treefc5b85d6581704ff0f20f4dfb064bf368099e73c /src
parent52ad2750ea8c5f43bdb1bce009590df7fdc34461 (diff)
downloadrust-7e7411e6209b10d99bc37c084c8ac45fbb706431.tar.gz
rust-7e7411e6209b10d99bc37c084c8ac45fbb706431.zip
Demode rand
Diffstat (limited to 'src')
-rw-r--r--src/libcore/rand.rs20
-rw-r--r--src/test/bench/core-map.rs4
2 files changed, 14 insertions, 10 deletions
diff --git a/src/libcore/rand.rs b/src/libcore/rand.rs
index d68bd97ae5d..c04c46d02e5 100644
--- a/src/libcore/rand.rs
+++ b/src/libcore/rand.rs
@@ -1,5 +1,9 @@
 //! Random number generation
 
+// NB: transitional, de-mode-ing.
+#[warn(deprecated_mode)];
+#[forbid(deprecated_pattern)];
+
 #[allow(non_camel_case_types)] // runtime type
 enum rctx {}
 
@@ -120,7 +124,7 @@ impl Rng {
     /**
      * Return a char randomly chosen from chars, failing if chars is empty
      */
-    fn gen_char_from(chars: ~str) -> char {
+    fn gen_char_from(chars: &str) -> char {
         assert !chars.is_empty();
         self.choose(str::chars(chars))
     }
@@ -272,8 +276,8 @@ pub fn Rng() -> Rng {
  * all other generators constructed with the same seed. The seed may be any
  * length.
  */
-pub fn seeded_rng(seed: ~[u8]) -> Rng {
-    @RandRes(rustrt::rand_new_seeded(seed)) as Rng
+pub fn seeded_rng(seed: &~[u8]) -> Rng {
+    @RandRes(rustrt::rand_new_seeded(*seed)) as Rng
 }
 
 type XorShiftState = {
@@ -310,8 +314,8 @@ pub mod tests {
     #[test]
     pub fn rng_seeded() {
         let seed = rand::seed();
-        let ra = rand::seeded_rng(seed);
-        let rb = rand::seeded_rng(seed);
+        let ra = rand::seeded_rng(&seed);
+        let rb = rand::seeded_rng(&seed);
         assert ra.gen_str(100u) == rb.gen_str(100u);
     }
 
@@ -319,15 +323,15 @@ pub mod tests {
     pub fn rng_seeded_custom_seed() {
         // much shorter than generated seeds which are 1024 bytes
         let seed = ~[2u8, 32u8, 4u8, 32u8, 51u8];
-        let ra = rand::seeded_rng(seed);
-        let rb = rand::seeded_rng(seed);
+        let ra = rand::seeded_rng(&seed);
+        let rb = rand::seeded_rng(&seed);
         assert ra.gen_str(100u) == rb.gen_str(100u);
     }
 
     #[test]
     pub fn rng_seeded_custom_seed2() {
         let seed = ~[2u8, 32u8, 4u8, 32u8, 51u8];
-        let ra = rand::seeded_rng(seed);
+        let ra = rand::seeded_rng(&seed);
         // Regression test that isaac is actually using the above vector
         let r = ra.next();
         error!("%?", r);
diff --git a/src/test/bench/core-map.rs b/src/test/bench/core-map.rs
index 279905fe3f1..afd9b2ccc9c 100644
--- a/src/test/bench/core-map.rs
+++ b/src/test/bench/core-map.rs
@@ -154,7 +154,7 @@ fn main(++args: ~[~str]) {
     let seed = ~[1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
 
     {
-        let rng = rand::seeded_rng(copy seed);
+        let rng = rand::seeded_rng(&seed);
         let mut results = empty_results();
         int_benchmarks::<map::HashMap<uint, uint>>(
             map::HashMap, rng, num_keys, &mut results);
@@ -164,7 +164,7 @@ fn main(++args: ~[~str]) {
     }
 
     {
-        let rng = rand::seeded_rng(copy seed);
+        let rng = rand::seeded_rng(&seed);
         let mut results = empty_results();
         int_benchmarks::<@Mut<LinearMap<uint, uint>>>(
             || @Mut(LinearMap()),