Macro rand

Source
macro_rules! rand {
    (@assert $p:pat) => { ... };
    (@assert $($p:tt)*) => { ... };
    (@pat $rng:expr, [] []) => { ... };
    (@pat $rng:expr, [] [] , $($t:tt)*) => { ... };
    (@pat $rng:expr, [$($p:tt)*] [] $x:ident $($t:tt)*) => { ... };
    (@pat $rng:expr, [$($p:tt)*] [] :: $($t:tt)*) => { ... };
    (@pat $rng:expr, [$($p:tt)*] [] & $($t:tt)*) => { ... };
    (@pat $rng:expr, [$($p:tt)*] [] ($($x:tt)*) $($t:tt)*) => { ... };
    (@pat $rng:expr, [$($p:tt)*] [] [$($x:tt)*] $($t:tt)*) => { ... };
    (@pat $rng:expr, [$($p:tt)*] [] {$($x:tt)*} $($t:tt)*) => { ... };
    (@pat $rng:expr, [$($p:tt)*] [] : $($t:tt)*) => { ... };
    (@ty  $rng:expr, [$($p:tt)*] [$($tt:tt)*] ($($x:tt)*) $($t:tt)*) => { ... };
    (@ty  $rng:expr, [$($p:tt)*] [$($tt:tt)*] [$($x:tt)*] $($t:tt)*) => { ... };
    (@ty  $rng:expr, [$($p:tt)*] [$($tt:tt)*] $e:expr) => { ... };
    (@ty  $rng:expr, [$($p:tt)*] [$($tt:tt)*] $e:expr, $($t:tt)*) => { ... };
    (@ty  $rng:expr, [$($p:tt)*] [$($tt:tt)*] $e:tt) => { ... };
    (@ty  $rng:expr, [$($p:tt)*] [$($tt:tt)*] $e:tt, $($t:tt)*) => { ... };
    (@let $rng:expr, [$($p:tt)*] [$($tt:tt)*] $($t:tt)*) => { ... };
    ($rng:expr) => { ... };
    ($rng:expr, $($t:tt)*) => { ... };
}
Expand description

Declare random values using RandomSpec.