use super::constants::FIXED_CAPACITIES;
use crate::{Linear, SplitVec};
use alloc::vec::Vec;
impl<T> From<Vec<T>> for SplitVec<T, Linear> {
fn from(value: Vec<T>) -> Self {
let len = value.len();
let f = FIXED_CAPACITIES
.iter()
.enumerate()
.find(|(_, fixed_cap)| **fixed_cap > len)
.map(|(f, _)| f)
.expect("overflow");
let growth = Linear::new(f);
let fragments = alloc::vec![value.into()];
Self::from_raw_parts(len, fragments, growth)
}
}