use super::constants::FIXED_CAPACITIES;
use crate::{Fragment, 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 fragment = Fragment::new(Fragment::capacity_of_vec(&value), value);
let fragments = alloc::vec![fragment];
Self::from_raw_parts(len, fragments, growth)
}
}