MCPcopy Index your code
hub / github.com/RustPython/RustPython / _ass_slice

Method _ass_slice

crates/vm/src/protocol/sequence.rs:276–302  ·  view source on GitHub ↗
(
        &self,
        start: isize,
        stop: isize,
        value: Option<PyObjectRef>,
        vm: &VirtualMachine,
    )

Source from the content-addressed store, hash-verified

274 }
275
276 fn _ass_slice(
277 &self,
278 start: isize,
279 stop: isize,
280 value: Option<PyObjectRef>,
281 vm: &VirtualMachine,
282 ) -> PyResult<()> {
283 let mapping = self.obj.mapping_unchecked();
284 if let Some(f) = mapping.slots().ass_subscript.load() {
285 let slice = PySlice {
286 start: Some(start.to_pyobject(vm)),
287 stop: stop.to_pyobject(vm),
288 step: None,
289 };
290 f(mapping, &slice.into_pyobject(vm), value, vm)
291 } else {
292 Err(vm.new_type_error(format!(
293 "'{}' object doesn't support slice {}",
294 self.obj.class(),
295 if value.is_some() {
296 "assignment"
297 } else {
298 "deletion"
299 }
300 )))
301 }
302 }
303
304 pub fn set_slice(
305 &self,

Callers 2

set_sliceMethod · 0.80
del_sliceMethod · 0.80

Calls 8

mapping_uncheckedMethod · 0.80
SomeClass · 0.50
fFunction · 0.50
ErrClass · 0.50
loadMethod · 0.45
slotsMethod · 0.45
to_pyobjectMethod · 0.45
into_pyobjectMethod · 0.45

Tested by

no test coverage detected