diff options
| author | bors <bors@rust-lang.org> | 2013-06-26 03:08:04 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-06-26 03:08:04 -0700 |
| commit | 4ec05e02fa5f64aaef922948ce00d25f42e0478d (patch) | |
| tree | 7969f5f1140ecb1838d575e2dbfee0b7d99d2c0a /src/libstd | |
| parent | 09b4525f84ea878962f26bcd22d208b9d87d5560 (diff) | |
| parent | b8b2d1e5b41fd3351049fbb54846b42aa9b189bd (diff) | |
| download | rust-4ec05e02fa5f64aaef922948ce00d25f42e0478d.tar.gz rust-4ec05e02fa5f64aaef922948ce00d25f42e0478d.zip | |
auto merge of #7216 : kballard/rust/task_rng, r=brson
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/rand.rs | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/libstd/rand.rs b/src/libstd/rand.rs index c49e2af2f02..ea4a9059e72 100644 --- a/src/libstd/rand.rs +++ b/src/libstd/rand.rs @@ -844,7 +844,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); @@ -854,20 +854,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() } } @@ -877,9 +875,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)] |
