Macro nunny::vec

source ·
macro_rules! vec {
    ($($el:expr),+ $(,)?) => { ... };
    ($el:expr; $n:expr) => { ... };
}
Expand description

Create a non-empty heap-allocated vector

let mut v = vec!["hello", "world"];
*v.first_mut() = "goodbye";
assert_eq!(v, ["goodbye", "world"])

For vec![T; N], N must be evaluatable at const time, and T must be Clone.

let len = 1 + 1; // runtime variable
let v = vec!["hello"; len];
let v = vec!["hello"; 1 + 1]; // compile time nonzero
let v = vec!["hello"; 0]; // not allowed to be zero!