pub trait VecLike:
Deref<Target = [Self::TI]>
+ DerefMut
+ Index<usize, Output = Self::TI>
+ Index<RangeFull, Output = [Self::TI]>
+ Index<Range<usize>, Output = [Self::TI]>
+ Index<RangeFrom<usize>, Output = [Self::TI]>
+ IndexMut<RangeFrom<usize>, Output = [Self::TI]>
+ IndexMut<usize>
+ IndexMut<RangeFull, Output = [Self::TI]>
+ IndexMut<Range<usize>, Output = [Self::TI]>
+ IntoIterator<Item = Self::TI>
+ AsRef<[Self::TI]>
+ AsMut<[Self::TI]>
+ Default
+ FromIterator<Self::TI>
+ Extend<Self::TI> {
type TI;
// Required methods
fn len(&self) -> usize;
fn reserve(&mut self, additional: usize);
fn push(&mut self, item: Self::Item);
fn pop(&mut self) -> Option<Self::Item>;
fn remove(&mut self, index: usize) -> Self::Item;
fn insert(&mut self, index: usize, item: Self::Item);
fn clear(&mut self);
fn truncate(&mut self, len: usize);
fn remove_range<R>(&mut self, range: R)
where R: RangeBounds<usize>;
// Provided method
fn is_empty(&self) -> bool { ... }
}Required Associated Types§
Required Methods§
fn len(&self) -> usize
fn reserve(&mut self, additional: usize)
fn push(&mut self, item: Self::Item)
fn pop(&mut self) -> Option<Self::Item>
fn remove(&mut self, index: usize) -> Self::Item
fn insert(&mut self, index: usize, item: Self::Item)
fn clear(&mut self)
fn truncate(&mut self, len: usize)
fn remove_range<R>(&mut self, range: R)where
R: RangeBounds<usize>,
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.