Update to rust master
diff --git a/rand_macros/src/lib.rs b/rand_macros/src/lib.rs
index e8a0096..5d1b289 100644
--- a/rand_macros/src/lib.rs
+++ b/rand_macros/src/lib.rs
@@ -71,9 +71,10 @@
}
fn rand_substructure(cx: &mut ExtCtxt, trait_span: Span, substr: &Substructure) -> P<Expr> {
- let rng = match substr.nonself_args {
- [ref rng] => rng,
- _ => cx.bug("Incorrect number of arguments to `rand` in `derive(Rand)`")
+ let rng = if substr.nonself_args.len() == 1 {
+ &substr.nonself_args[0]
+ } else {
+ cx.bug("Incorrect number of arguments to `rand` in `derive(Rand)`")
};
let rand_ident = vec!(
cx.ident_of("rand"),
diff --git a/src/chacha.rs b/src/chacha.rs
index 920e60a..1c181f2 100644
--- a/src/chacha.rs
+++ b/src/chacha.rs
@@ -211,8 +211,8 @@
#[test]
fn test_rng_rand_seeded() {
let s = ::test::rng().gen_iter::<u32>().take(8).collect::<Vec<u32>>();
- let mut ra: ChaChaRng = SeedableRng::from_seed(s.as_slice());
- let mut rb: ChaChaRng = SeedableRng::from_seed(s.as_slice());
+ let mut ra: ChaChaRng = SeedableRng::from_seed(&s[..]);
+ let mut rb: ChaChaRng = SeedableRng::from_seed(&s[..]);
assert!(order::equals(ra.gen_ascii_chars().take(100),
rb.gen_ascii_chars().take(100)));
}
@@ -229,10 +229,10 @@
#[test]
fn test_rng_reseed() {
let s = ::test::rng().gen_iter::<u32>().take(8).collect::<Vec<u32>>();
- let mut r: ChaChaRng = SeedableRng::from_seed(s.as_slice());
+ let mut r: ChaChaRng = SeedableRng::from_seed(&s[..]);
let string1: String = r.gen_ascii_chars().take(100).collect();
- r.reseed(s.as_slice());
+ r.reseed(&s);
let string2: String = r.gen_ascii_chars().take(100).collect();
assert_eq!(string1, string2);
diff --git a/src/distributions/mod.rs b/src/distributions/mod.rs
index 9d229a4..f637dd0 100644
--- a/src/distributions/mod.rs
+++ b/src/distributions/mod.rs
@@ -104,7 +104,7 @@
/// let mut items = vec!(Weighted { weight: 2, item: 'a' },
/// Weighted { weight: 4, item: 'b' },
/// Weighted { weight: 1, item: 'c' });
-/// let wc = WeightedChoice::new(items.as_mut_slice());
+/// let wc = WeightedChoice::new(&mut items);
/// let mut rng = rand::thread_rng();
/// for _ in 0..16 {
/// // on average prints 'a' 4 times, 'b' 8 and 'c' twice.
@@ -308,7 +308,7 @@
macro_rules! t {
($items:expr, $expected:expr) => {{
let mut items = $items;
- let wc = WeightedChoice::new(items.as_mut_slice());
+ let wc = WeightedChoice::new(&mut items);
let expected = $expected;
let mut rng = CountingRng { i: 0 };
@@ -355,7 +355,7 @@
#[test]
fn test_weighted_clone_initialization() {
let initial : Weighted<u32> = Weighted {weight: 1, item: 1};
- let mut clone = initial.clone();
+ let clone = initial.clone();
assert_eq!(initial.weight, clone.weight);
assert_eq!(initial.item, clone.item);
}
diff --git a/src/isaac.rs b/src/isaac.rs
index bf80152..cf58290 100644
--- a/src/isaac.rs
+++ b/src/isaac.rs
@@ -513,16 +513,16 @@
#[test]
fn test_rng_32_rand_seeded() {
let s = ::test::rng().gen_iter::<u32>().take(256).collect::<Vec<u32>>();
- let mut ra: IsaacRng = SeedableRng::from_seed(s.as_slice());
- let mut rb: IsaacRng = SeedableRng::from_seed(s.as_slice());
+ let mut ra: IsaacRng = SeedableRng::from_seed(&s[..]);
+ let mut rb: IsaacRng = SeedableRng::from_seed(&s[..]);
assert!(order::equals(ra.gen_ascii_chars().take(100),
rb.gen_ascii_chars().take(100)));
}
#[test]
fn test_rng_64_rand_seeded() {
let s = ::test::rng().gen_iter::<u64>().take(256).collect::<Vec<u64>>();
- let mut ra: Isaac64Rng = SeedableRng::from_seed(s.as_slice());
- let mut rb: Isaac64Rng = SeedableRng::from_seed(s.as_slice());
+ let mut ra: Isaac64Rng = SeedableRng::from_seed(&s[..]);
+ let mut rb: Isaac64Rng = SeedableRng::from_seed(&s[..]);
assert!(order::equals(ra.gen_ascii_chars().take(100),
rb.gen_ascii_chars().take(100)));
}
@@ -547,10 +547,10 @@
#[test]
fn test_rng_32_reseed() {
let s = ::test::rng().gen_iter::<u32>().take(256).collect::<Vec<u32>>();
- let mut r: IsaacRng = SeedableRng::from_seed(s.as_slice());
+ let mut r: IsaacRng = SeedableRng::from_seed(&s[..]);
let string1: String = r.gen_ascii_chars().take(100).collect();
- r.reseed(s.as_slice());
+ r.reseed(&s[..]);
let string2: String = r.gen_ascii_chars().take(100).collect();
assert_eq!(string1, string2);
@@ -558,10 +558,10 @@
#[test]
fn test_rng_64_reseed() {
let s = ::test::rng().gen_iter::<u64>().take(256).collect::<Vec<u64>>();
- let mut r: Isaac64Rng = SeedableRng::from_seed(s.as_slice());
+ let mut r: Isaac64Rng = SeedableRng::from_seed(&s[..]);
let string1: String = r.gen_ascii_chars().take(100).collect();
- r.reseed(s.as_slice());
+ r.reseed(&s[..]);
let string2: String = r.gen_ascii_chars().take(100).collect();
assert_eq!(string1, string2);
diff --git a/src/lib.rs b/src/lib.rs
index 2e9b494..cd325bb 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -943,7 +943,7 @@
80, 81, 82, 83, 84, 85, 86, 87];
for &n in lengths.iter() {
let mut v = repeat(0u8).take(n).collect::<Vec<_>>();
- r.fill_bytes(v.as_mut_slice());
+ r.fill_bytes(&mut v);
// use this to get nicer error messages.
for (i, &byte) in v.iter().enumerate() {
diff --git a/src/reseeding.rs b/src/reseeding.rs
index 312c11d..af09f8f 100644
--- a/src/reseeding.rs
+++ b/src/reseeding.rs
@@ -211,7 +211,7 @@
#[test]
fn test_rng_fill_bytes() {
let mut v = repeat(0u8).take(FILL_BYTES_V_LEN).collect::<Vec<_>>();
- ::test::rng().fill_bytes(v.as_mut_slice());
+ ::test::rng().fill_bytes(&mut v);
// Sanity test: if we've gotten here, `fill_bytes` has not infinitely
// recursed.