Crate random_branch[][src]

Provides a macro to select a random branch.

This crate provides the branch and branch_using macro, which will execute randomly one of the given expressions.

It is maybe best visualized by the following example:

    println!("First line."),
    println!("Second line?"),
    println!("Third line!"),

This will be turned into something similar to this:

match rand::thread_rng().gen_range(0..3) {
    0 => println!("First line."),
    1 => println!("Second line?"),
    2 => println!("Third line!"),
    _ => unreachable!(),

For more details see branch and branch_using. The basic difference between them is, that branch uses rand::thread_rng() whereas branch_using uses the the given rand::Rng.



Branches into one of the given expressions.


Branches into one of the given expressions using the given RNG.