#[derive(Rand)]
functionality for the rand::Rand
trait.
Add this to your Cargo.toml
:
toml
[dependencies]
rand = "0.3"
rand_macros = "0.2"
and this to your crate root:
```rust extern crate rand;
extern crate rand_macros; ```
#[derive(Rand)]
can be used on any struct
or enum
where all fields/variants implement rand::Rand
.
```rust
struct Foo {
x: u16,
y: Option
enum Bar {
X{x: u8, y: isize},
Y([bool; 4]),
Z,
}
``
Now you can call the
Rng::gen()` function on your custom types.
```rust use rand::Rng;
let mut rng = rand::thread_rng();
println!("{:?}", rng.gen::