Struct pyo3::gil::GILPool

source ·
pub struct GILPool {
    start: Option<usize>,
    _not_send: NotSend,
}
👎Deprecated since 0.21.0: GILPool has no function if PyO3’s deprecated GIL Refs API is not used
Expand description

A RAII pool which PyO3 uses to store owned Python references.

See the Memory Management chapter of the guide for more information about how PyO3 uses GILPool to manage memory.

Fields§

§start: Option<usize>
👎Deprecated since 0.21.0: GILPool has no function if PyO3’s deprecated GIL Refs API is not used

Initial length of owned objects and anys. Option is used since TSL can be broken when new is called from atexit.

§_not_send: NotSend
👎Deprecated since 0.21.0: GILPool has no function if PyO3’s deprecated GIL Refs API is not used

Implementations§

source§

impl GILPool

source

pub unsafe fn new() -> GILPool

Creates a new GILPool. This function should only ever be called with the GIL held.

It is recommended not to use this API directly, but instead to use Python::new_pool, as that guarantees the GIL is held.

§Safety

As well as requiring the GIL, see the safety notes on Python::new_pool.

source

pub fn python(&self) -> Python<'_>

Gets the Python token associated with this GILPool.

Trait Implementations§

source§

impl Drop for GILPool

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> AssertNotZeroSized for T

source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
source§

impl<T> SizedTypeProperties for T

source§

#[doc(hidden)] const IS_ZST: bool = _

🔬This is a nightly-only experimental API. (sized_type_properties)
true if this type requires no storage. false if its size is greater than zero. Read more
source§

impl<T> SomeWrap<T> for T

source§

fn wrap(self) -> Option<T>

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
⚠️ Internal Docs ⚠️ Not Public API 👉 Official Docs Here