1use crate::{RangeError, RangeOp, VecOp};
2use alloc::vec::Vec;
3
4impl<T: RangeOp + Send + 'static> VecOp<T> for Vec<T> {
5 fn push(&mut self, item: T) -> Result<(), RangeError<T>> {
6 self.push(item);
7 Ok(())
8 }
9
10 fn as_slice(&self) -> &[T] {
11 self.as_slice()
12 }
13
14 fn len(&self) -> usize {
15 self.as_slice().len()
16 }
17
18 fn remove(&mut self, index: usize) -> T {
19 self.remove(index)
20 }
21
22 fn insert(&mut self, index: usize, item: T) -> Result<(), RangeError<T>> {
23 self.insert(index, item);
24 Ok(())
25 }
26}