pub trait SliceableSequenceMutOp{
type Item: Clone;
// Required methods
fn do_set(&mut self, index: usize, value: Self::Item);
fn do_delete(&mut self, index: usize);
fn do_set_range(&mut self, range: Range<usize>, items: &[Self::Item]);
fn do_delete_range(&mut self, range: Range<usize>);
fn do_set_indexes<I>(&mut self, indexes: I, items: &[Self::Item])
where I: Iterator<Item = usize>;
fn do_delete_indexes<I>(&mut self, range: Range<usize>, indexes: I)
where I: Iterator<Item = usize>;
// Provided methods
fn setitem_by_index(
&mut self,
vm: &VirtualMachine,
index: isize,
value: Self::Item,
) -> PyResult<()> { ... }
fn setitem_by_slice_no_resize(
&mut self,
vm: &VirtualMachine,
slice: SaturatedSlice,
items: &[Self::Item],
) -> PyResult<()> { ... }
fn setitem_by_slice(
&mut self,
vm: &VirtualMachine,
slice: SaturatedSlice,
items: &[Self::Item],
) -> PyResult<()> { ... }
fn delitem_by_index(
&mut self,
vm: &VirtualMachine,
index: isize,
) -> PyResult<()> { ... }
fn delitem_by_slice(
&mut self,
_vm: &VirtualMachine,
slice: SaturatedSlice,
) -> PyResult<()> { ... }
}
Required Associated Types§
Required Methods§
fn do_set(&mut self, index: usize, value: Self::Item)
fn do_delete(&mut self, index: usize)
Sourcefn do_set_range(&mut self, range: Range<usize>, items: &[Self::Item])
fn do_set_range(&mut self, range: Range<usize>, items: &[Self::Item])
as CPython, length of range and items could be different, function must act like Vec::splice()
fn do_delete_range(&mut self, range: Range<usize>)
fn do_set_indexes<I>(&mut self, indexes: I, items: &[Self::Item])
Provided Methods§
fn setitem_by_index( &mut self, vm: &VirtualMachine, index: isize, value: Self::Item, ) -> PyResult<()>
fn setitem_by_slice_no_resize( &mut self, vm: &VirtualMachine, slice: SaturatedSlice, items: &[Self::Item], ) -> PyResult<()>
fn setitem_by_slice( &mut self, vm: &VirtualMachine, slice: SaturatedSlice, items: &[Self::Item], ) -> PyResult<()>
fn delitem_by_index( &mut self, vm: &VirtualMachine, index: isize, ) -> PyResult<()>
fn delitem_by_slice( &mut self, _vm: &VirtualMachine, slice: SaturatedSlice, ) -> PyResult<()>
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.