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)
| 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. |
no test coverage detected