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

Method swap_getitem

crates/vm/src/builtins/type.rs:318–327  ·  view source on GitHub ↗
(&self, new_getitem: Option<PyRef<PyFunction>>, vm: Option<&VirtualMachine>)

Source from the content-addressed store, hash-verified

316
317 #[inline]
318 fn swap_getitem(&self, new_getitem: Option<PyRef<PyFunction>>, vm: Option<&VirtualMachine>) {
319 if let Some(vm) = vm {
320 self.getitem.swap_to_temporary_refs(new_getitem, vm);
321 return;
322 }
323 // SAFETY: old value is moved to `retired`, so it stays alive while
324 // concurrent readers may still hold borrowed references.
325 let old = unsafe { self.getitem.swap(new_getitem) };
326 self.retire_old_function(old);
327 }
328
329 #[inline]
330 fn invalidate_for_type_modified(&self) {

Calls 3

retire_old_functionMethod · 0.80
swapMethod · 0.45

Tested by

no test coverage detected