about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorKevin Ballard <kevin@sb.org>2013-06-18 11:54:00 -0700
committerKevin Ballard <kevin@sb.org>2013-06-20 15:55:43 -0700
commitb8b2d1e5b41fd3351049fbb54846b42aa9b189bd (patch)
tree7c3b98d130068bfa4f982cb1840e481682e929a2 /src/libstd
parentf348465283d6cd85b69bcdc1711d14985d154c39 (diff)
downloadrust-b8b2d1e5b41fd3351049fbb54846b42aa9b189bd.tar.gz
rust-b8b2d1e5b41fd3351049fbb54846b42aa9b189bd.zip
Make task_rng() return @mut R instead of @@mut R
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/rand.rs16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/libstd/rand.rs b/src/libstd/rand.rs
index 739e3dfedc7..27ec5323841 100644
--- a/src/libstd/rand.rs
+++ b/src/libstd/rand.rs
@@ -843,7 +843,7 @@ fn tls_rng_state(_v: @@mut IsaacRng) {}
  * `task_rng().gen::<int>()`.
  */
 #[inline]
-pub fn task_rng() -> @@mut IsaacRng {
+pub fn task_rng() -> @mut IsaacRng {
     let r : Option<@@mut IsaacRng>;
     unsafe {
         r = local_data::local_data_get(tls_rng_state);
@@ -853,20 +853,18 @@ pub fn task_rng() -> @@mut IsaacRng {
             unsafe {
                 let rng = @@mut IsaacRng::new_seeded(seed());
                 local_data::local_data_set(tls_rng_state, rng);
-                rng
+                *rng
             }
         }
-        Some(rng) => rng
+        Some(rng) => *rng
     }
 }
 
 // Allow direct chaining with `task_rng`
-impl<R: Rng> Rng for @@mut R {
+impl<R: Rng> Rng for @mut R {
     #[inline]
     fn next(&mut self) -> u32 {
-        match *self {
-            @@ref mut r => r.next()
-        }
+        (**self).next()
     }
 }
 
@@ -876,9 +874,7 @@ impl<R: Rng> Rng for @@mut R {
  */
 #[inline]
 pub fn random<T: Rand>() -> T {
-    match *task_rng() {
-        @ref mut r => r.gen()
-    }
+    task_rng().gen()
 }
 
 #[cfg(test)]