Macro array_macro::array
source · macro_rules! array {
[@INTERNAL $callback:expr; $count:expr] => { ... };
[| $($rest:tt)*] => { ... };
[move $($rest:tt)*] => { ... };
[$expr:expr; $count:expr] => { ... };
}
Expand description
Array constructor macro.
This macro provides a way to repeat the same macro element multiple times
without requiring Copy
implementation.
It’s possible to define a callback by starting expression with |
or move
. As
every closure is it own unique type, it is not possible to have an array of
closures, so this syntax was reused for creating arrays with known indexes.
Examples
assert_eq!(array!["string"; 3], ["string", "string", "string"]);
assert_eq!(array![|x| x; 3], [0, 1, 2]);