Macro unsized_vec

Source
macro_rules! unsized_vec {
    () => { ... };
    ($($x:expr),+ $(,)?) => { ... };
}
Expand description

Like the standard library’s vec macro. Accepts both raw unsized Ts and Emplacable<T,_>s.

However, this does not accept sized values implementing Unsize<T>; you can use unsize_vec for that.

§Example

#![allow(internal_features)] // for `unsized_fn_params`
#![feature(allocator_api, ptr_metadata, unsized_fn_params)]

use emplacable::unsize;
use unsized_vec::{UnsizedVec, unsized_vec};

let my_vec = unsized_vec![[23_u32, 17], [16, 34], [23, 47]];

let mut my_vec_unsized: UnsizedVec<[u32]> = my_vec.unsize();

let another_vec = unsized_vec![unsize!([42], ([u32; 1]) -> [u32]), my_vec_unsized.remove_into(2)];