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

Method gc_clear_weakrefs_collect_callbacks

crates/vm/src/object/core.rs:1719–1725  ·  view source on GitHub ↗

Clear weakrefs but collect callbacks instead of calling them. This is used by GC to ensure ALL weakrefs are cleared BEFORE any callbacks run. Returns collected callbacks as (PyRef , callback) pairs. = handle_weakrefs

(&self)

Source from the content-addressed store, hash-verified

1717 /// Returns collected callbacks as (PyRef<PyWeak>, callback) pairs.
1718 // = handle_weakrefs
1719 pub fn gc_clear_weakrefs_collect_callbacks(&self) -> Vec<(PyRef<PyWeak>, PyObjectRef)> {
1720 if let Some(wrl) = self.weak_ref_list() {
1721 wrl.clear_for_gc_collect_callbacks(self)
1722 } else {
1723 vec![]
1724 }
1725 }
1726
1727 /// Get raw pointers to referents without incrementing reference counts.
1728 /// This is used during GC to avoid reference count manipulation.

Callers 1

collect_innerMethod · 0.80

Calls 2

weak_ref_listMethod · 0.80

Tested by

no test coverage detected