use super::Array;
use alloc::vec::Vec;
impl<Type, const M: usize, const N: usize> From<[Type; N]> for Array<Type, M> where [(); M - N]: {
#[inline]
fn from(value: [Type; N]) -> Self {return Array::from_iter(value)}
}
impl<Type, const N: usize> Into<Vec<Type>> for Array<Type, N> {
#[inline]
fn into(self) -> Vec<Type> {return Vec::from_iter(self.into_iter())}
}
impl<Type, const N: usize, Generator: FnMut(usize) -> Type> From<Generator> for Array<Type, N> {
#[inline]
fn from(mut value: Generator) -> Self {
let mut array = Self::new();
for index in 0..N {
array.push(value(index));
};
return array;
}
}