Skip to content

Commit 07e0d79

Browse files
committed
---
yaml --- r: 83806 b: refs/heads/try c: d86de18 h: refs/heads/master v: v3
1 parent c37552a commit 07e0d79

File tree

3 files changed

+14
-13
lines changed

3 files changed

+14
-13
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 0e4d1fc8cae42e15e00f71d9f439b01bb25a86ae
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 6c08cc2db4f98e9f07ae7d50338396c4123c2f0a
5-
refs/heads/try: 649c1759e8b56f0ac31dd31e46eae81b7ffd1e2c
5+
refs/heads/try: d86de18b6198547f0a39e217123d8ec9ef4a9988
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/src/libstd/rand/mod.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -762,8 +762,7 @@ pub fn task_rng() -> @mut TaskRng {
762762
/// ```
763763
pub fn seed_task_rng(seed: &[uint]) {
764764
let t_r = task_rng();
765-
(*t_r).reseed(seed);
766-
t_r.reseeder = DontReseed;
765+
(*t_r).reseed((DontReseed, seed));
767766
}
768767

769768
// Allow direct chaining with `task_rng`

branches/try/src/libstd/rand/reseeding.rs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -76,19 +76,21 @@ impl<R: Rng, Rsdr: Reseeder<R>> Rng for ReseedingRng<R, Rsdr> {
7676
}
7777
}
7878

79-
impl<S, R: SeedableRng<S>, Rsdr: Reseeder<R> + Default> SeedableRng<S> for ReseedingRng<R, Rsdr> {
80-
fn reseed(&mut self, seed: S) {
79+
impl<S, R: SeedableRng<S>, Rsdr: Reseeder<R>>
80+
SeedableRng<(Rsdr, S)> for ReseedingRng<R, Rsdr> {
81+
fn reseed(&mut self, (rsdr, seed): (Rsdr, S)) {
8182
self.rng.reseed(seed);
83+
self.reseeder = rsdr;
8284
self.bytes_generated = 0;
8385
}
84-
/// Create a new `ReseedingRng` from the given seed. This uses
85-
/// default values for both `generation_threshold` and `reseeder`.
86-
fn from_seed(seed: S) -> ReseedingRng<R, Rsdr> {
86+
/// Create a new `ReseedingRng` from the given reseeder and
87+
/// seed. This uses a default value for `generation_threshold`.
88+
fn from_seed((rsdr, seed): (Rsdr, S)) -> ReseedingRng<R, Rsdr> {
8789
ReseedingRng {
8890
rng: SeedableRng::from_seed(seed),
8991
generation_threshold: DEFAULT_GENERATION_THRESHOLD,
9092
bytes_generated: 0,
91-
reseeder: Default::default()
93+
reseeder: rsdr
9294
}
9395
}
9496
}
@@ -184,17 +186,17 @@ mod test {
184186

185187
#[test]
186188
fn test_rng_seeded() {
187-
let mut ra: MyRng = SeedableRng::from_seed(2);
188-
let mut rb: MyRng = SeedableRng::from_seed(2);
189+
let mut ra: MyRng = SeedableRng::from_seed((ReseedWithDefault, 2));
190+
let mut rb: MyRng = SeedableRng::from_seed((ReseedWithDefault, 2));
189191
assert_eq!(ra.gen_ascii_str(100u), rb.gen_ascii_str(100u));
190192
}
191193

192194
#[test]
193195
fn test_rng_reseed() {
194-
let mut r: MyRng = SeedableRng::from_seed(3);
196+
let mut r: MyRng = SeedableRng::from_seed((ReseedWithDefault, 3));
195197
let string1 = r.gen_ascii_str(100);
196198

197-
r.reseed(3);
199+
r.reseed((ReseedWithDefault, 3));
198200

199201
let string2 = r.gen_ascii_str(100);
200202
assert_eq!(string1, string2);

0 commit comments

Comments
 (0)