pub trait Indexing<T, E> {
// Required methods
fn get_at<'a>(&self, root: &'a T, idx: usize) -> &'a E;
fn get_mut_at<'a>(&self, root: &'a mut T, idx: usize) -> &'a mut E;
fn set_at(&self, root: &mut T, idx: usize, value: E);
fn set_mut_at(&self, root: &mut T, idx: usize, f: impl FnOnce(&mut E));
fn set_clone_at(&self, root: &mut T, idx: usize, value: &E)
where E: Clone;
}Required Methods§
fn get_at<'a>(&self, root: &'a T, idx: usize) -> &'a E
fn get_mut_at<'a>(&self, root: &'a mut T, idx: usize) -> &'a mut E
fn set_at(&self, root: &mut T, idx: usize, value: E)
fn set_mut_at(&self, root: &mut T, idx: usize, f: impl FnOnce(&mut E))
fn set_clone_at(&self, root: &mut T, idx: usize, value: &E)where
E: Clone,
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.