Struct pyo3::gil::ReferencePool
source · struct ReferencePool {
pointer_ops: Mutex<(Vec<NonNull<PyObject>>, Vec<NonNull<PyObject>>)>,
}
Expand description
Thread-safe storage for objects which were inc_ref / dec_ref while the GIL was not held.
Fields§
§pointer_ops: Mutex<(Vec<NonNull<PyObject>>, Vec<NonNull<PyObject>>)>
Implementations§
source§impl ReferencePool
impl ReferencePool
const fn new() -> Self
fn register_incref(&self, obj: NonNull<PyObject>)
fn register_decref(&self, obj: NonNull<PyObject>)
fn update_counts(&self, _py: Python<'_>)
Trait Implementations§
impl Sync for ReferencePool
Auto Trait Implementations§
impl !Freeze for ReferencePool
impl !RefUnwindSafe for ReferencePool
impl !Send for ReferencePool
impl Unpin for ReferencePool
impl UnwindSafe for ReferencePool
Blanket Implementations§
source§impl<T> AssertNotZeroSized for T
impl<T> AssertNotZeroSized for T
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more