non_empty_vec

Macro non_empty_vec 

Source
macro_rules! non_empty_vec {
    () => { ... };
    ($value: expr $(,)?) => { ... };
    ($value: expr; const $count: expr) => { ... };
    ($value: expr; $count: expr) => { ... };
    ($value: expr, $($rest: expr),+ $(,)?) => { ... };
}
Available on crate features std or alloc only.
Expand description

Constructs NonEmptyVec<T> containing the provided arguments.

§Examples

Providing no arguments results in compile-time errors:

use non_empty_slice::non_empty_vec;

let never = non_empty_vec![];

Providing one argument:

use non_empty_slice::non_empty_vec;

let single = non_empty_vec![13];

Providing argument implementing Clone and non-zero count of type Size:

use non_empty_slice::non_empty_vec;
use non_zero_size::const_size;

let repeated = non_empty_vec![13; const_size!(42)];

Equivalently, one can use:

use non_empty_slice::non_empty_vec;

let repeated = non_empty_vec![13; const 42];

Finally, providing multiple arguments:

use non_empty_slice::non_empty_vec;

let nice = non_empty_vec![13, 42, 69];