cl_generic_vec/raw/
slice.rs1use crate::raw::{capacity::fixed_capacity_reserve_error, Storage};
2
3use core::mem::MaybeUninit;
4
5use super::{AllocError, AllocResult};
6
7unsafe impl<T> Storage for [MaybeUninit<T>] {
8 type Item = T;
9
10 fn reserve(&mut self, new_capacity: usize) {
11 if new_capacity > self.len() {
12 fixed_capacity_reserve_error(self.len(), new_capacity)
13 }
14 }
15
16 fn try_reserve(&mut self, capacity: usize) -> AllocResult {
17 if capacity <= self.len() {
18 Ok(())
19 } else {
20 Err(AllocError)
21 }
22 }
23}