macro_rules! copyvec {
[$($el:expr),* $(,)?; + $extra:expr] => { ... };
[$($el:expr),* $(,)?] => { ... };
[$fill:expr; $len:expr; + $extra:expr] => { ... };
[$fill:expr; $len:expr] => { ... };
}Expand description
Create a CopyVec filled with the given arguments.
The syntax is similar to vec!’s,
but additional capacity may be specified with + <extra>.
let mut exact = copyvec!["a", "b", "c"];
assert_eq!(exact.capacity(), 3);
let with_spare = copyvec!["a", "b", "c"; + 5];
assert_eq!(with_spare.capacity(), 8);
let exact = copyvec!["a"; 3];
assert_eq!(exact, ["a", "a", "a"]);
let with_spare = copyvec!["a"; 3; + 5];
assert_eq!(with_spare, ["a", "a", "a"]);It may also be used in const expressions:
const _: () = {
copyvec!["a", "b", "c"];
copyvec!["a", "b", "c"; + 5];
copyvec!["a"; 3];
copyvec!["a"; 3; + 5];
};