[go: up one dir, main page]

copyvec

Macro copyvec 

Source
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];
};