pub trait MutObjectSequenceOp {
    type Guard<'a>: 'a;

    // Required methods
    fn do_get<'a>(
        index: usize,
        guard: &'a Self::Guard<'_>
    ) -> Option<&'a PyObjectRef>;
    fn do_lock(&self) -> Self::Guard<'_>;

    // Provided methods
    fn mut_count(
        &self,
        vm: &VirtualMachine,
        needle: &PyObject
    ) -> PyResult<usize> { ... }
    fn mut_index_range(
        &self,
        vm: &VirtualMachine,
        needle: &PyObject,
        range: Range<usize>
    ) -> PyResult<Optioned<usize>> { ... }
    fn mut_index(
        &self,
        vm: &VirtualMachine,
        needle: &PyObject
    ) -> PyResult<Optioned<usize>> { ... }
    fn mut_contains(
        &self,
        vm: &VirtualMachine,
        needle: &PyObject
    ) -> PyResult<bool> { ... }
    fn _mut_iter_equal_skeleton<F, const SHORT: bool>(
        &self,
        vm: &VirtualMachine,
        needle: &PyObject,
        range: Range<usize>,
        f: F
    ) -> PyResult<Optioned<usize>>
       where F: FnMut() { ... }
}

Required Associated Types§

source

type Guard<'a>: 'a

Required Methods§

source

fn do_get<'a>( index: usize, guard: &'a Self::Guard<'_> ) -> Option<&'a PyObjectRef>

source

fn do_lock(&self) -> Self::Guard<'_>

Provided Methods§

source

fn mut_count(&self, vm: &VirtualMachine, needle: &PyObject) -> PyResult<usize>

source

fn mut_index_range( &self, vm: &VirtualMachine, needle: &PyObject, range: Range<usize> ) -> PyResult<Optioned<usize>>

source

fn mut_index( &self, vm: &VirtualMachine, needle: &PyObject ) -> PyResult<Optioned<usize>>

source

fn mut_contains(&self, vm: &VirtualMachine, needle: &PyObject) -> PyResult<bool>

source

fn _mut_iter_equal_skeleton<F, const SHORT: bool>( &self, vm: &VirtualMachine, needle: &PyObject, range: Range<usize>, f: F ) -> PyResult<Optioned<usize>>where F: FnMut(),

Implementors§

source§

impl MutObjectSequenceOp for PyList

§

type Guard<'a> = MappedRwLockReadGuard<'a, RawCellRwLock, [PyObjectRef]>