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!