about summary refs log tree commit diff
path: root/src/libcore
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/libcore
parent52ad2750ea8c5f43bdb1bce009590df7fdc34461 (diff)
Demode rand
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/rand.rs20
1 files changed, 12 insertions, 8 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);