use crate::ArrayWrapper;
#[cfg(all(feature = "alloc", not(feature = "std")))]
use alloc::vec::Vec;
pub fn array_wrapper() -> ArrayWrapper<[i32; 3]> {
ArrayWrapper::new([1, 2, 3])
}
pub fn slice() -> &'static [i32] {
&[1, 2, 3]
}
#[cfg(feature = "alloc")]
pub fn vec() -> Vec<i32> {
let mut vec = Vec::with_capacity(5);
vec.extend([1, 2, 3].iter().copied());
vec
}
#[cfg(feature = "with-arrayvec")]
pub fn array_vec() -> arrayvec::ArrayVec<ArrayWrapper<[i32; 5]>> {
let mut vec = arrayvec::ArrayVec::new();
vec.extend([1, 2, 3].iter().copied());
vec
}
#[cfg(feature = "with-smallvec")]
pub fn small_vec() -> smallvec::SmallVec<ArrayWrapper<[i32; 5]>> {
let mut vec = smallvec::SmallVec::new();
vec.extend([1, 2, 3].iter().copied());
vec
}
#[cfg(feature = "with-staticvec")]
pub fn static_vec() -> staticvec::StaticVec<i32, 5> {
let mut vec = staticvec::StaticVec::new();
vec.extend([1, 2, 3].iter().copied());
vec
}
#[cfg(feature = "with-tinyvec")]
pub fn tiny_vec_array_vec() -> tinyvec::ArrayVec<ArrayWrapper<[i32; 5]>> {
let mut vec = tinyvec::ArrayVec::new();
vec.extend([1, 2, 3].iter().copied());
vec
}
#[cfg(all(feature = "alloc", feature = "with-tinyvec"))]
pub fn tiny_vec() -> tinyvec::TinyVec<ArrayWrapper<[i32; 5]>> {
let mut vec = tinyvec::TinyVec::new();
vec.extend([1, 2, 3].iter().copied());
vec
}