#[doc(hidden)]pub trait PyClassObjectBaseLayout<T>: PyLayout<T> {
// Required methods
fn ensure_threadsafe(&self);
fn check_threadsafe(&self) -> Result<(), PyBorrowError>;
unsafe fn tp_dealloc(py: Python<'_>, slf: *mut PyObject);
}Expand description
functionality common to all PyObjects regardless of the layout
Required Methods§
fn ensure_threadsafe(&self)
fn check_threadsafe(&self) -> Result<(), PyBorrowError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl<T, U> PyClassObjectBaseLayout<T> for PyClassObjectBase<U>where
U: PySizedLayout<T>,
T: PyTypeInfo,
impl<T: PyClassImpl<Layout = Self>> PyClassObjectBaseLayout<T> for PyStaticClassObject<T>
impl<T: PyClass<Layout = Self>> PyClassObjectBaseLayout<T> for PyVariableClassObject<T>
Available on
Py_3_12 only.