Skip to main content

Module impl_

Module impl_ 

Source
Expand description

Crate-private implementation of PyClassObject

Re-exportsยง

use core::cell::UnsafeCell; ๐Ÿ”’
use core::marker::PhantomData; ๐Ÿ”’
use core::mem::ManuallyDrop; ๐Ÿ”’
use core::mem::MaybeUninit; ๐Ÿ”’
use core::mem::offset_of; ๐Ÿ”’
use core::sync::atomic::AtomicUsize; ๐Ÿ”’
use core::sync::atomic::Ordering; ๐Ÿ”’
use crate::impl_::pyclass::PyClassBaseType; ๐Ÿ”’
use crate::impl_::pyclass::PyClassDict; ๐Ÿ”’
use crate::impl_::pyclass::PyClassImpl; ๐Ÿ”’
use crate::impl_::pyclass::PyClassThreadChecker; ๐Ÿ”’
use crate::impl_::pyclass::PyClassWeakRef; ๐Ÿ”’
use crate::impl_::pyclass::PyObjectOffset; ๐Ÿ”’
use crate::instance::PyBorrowedUnbound; ๐Ÿ”’
use crate::internal::get_slot::TP_DEALLOC; ๐Ÿ”’
use crate::internal::get_slot::TP_FREE; ๐Ÿ”’
use crate::type_object::PyLayout; ๐Ÿ”’
use crate::type_object::PySizedLayout; ๐Ÿ”’
use crate::type_object::PyTypeInfo; ๐Ÿ”’
use crate::types::PyType; ๐Ÿ”’
use crate::PyClass; ๐Ÿ”’
use crate::Python; ๐Ÿ”’
use crate::ffi; ๐Ÿ”’
use crate::types::PyTypeMethods; ๐Ÿ”’
use super::PyBorrowError; ๐Ÿ”’
use super::PyBorrowMutError; ๐Ÿ”’

Structsยง

BorrowChecker
BorrowFlag ๐Ÿ”’
EmptySlot
ExtendsMutableAncestor
ImmutableClass
MutableClass
PyClassObjectBase ๐Ÿ‘ป
Base layout of PyClassObject with a known sized base type. Corresponds to PyObject from the C API.
PyClassObjectContents
PyStaticClassObject
The layout of a PyClassObject with a known sized base class.
PyVariableClassObject ๐Ÿ‘ป
A layout for a PyClassObject with an unknown sized base type.
PyVariableClassObjectBase ๐Ÿ‘ป
Base layout of PyClassObject with an unknown sized base type. Corresponds to PyVarObject from the C API.

Traitsยง

GetBorrowChecker
PyClassBorrowChecker
PyClassMutability
PyClassObjectBaseLayout ๐Ÿ‘ป
functionality common to all PyObjects regardless of the layout
PyClassObjectLayout ๐Ÿ‘ป
Functionality required for creating and managing the memory associated with a pyclass annotated struct.

Functionsยง

tp_dealloc ๐Ÿ”’ โš 
Implementation of tp_dealloc.
โš ๏ธ Internal Docs โš ๏ธ Not Public API ๐Ÿ‘‰ Official Docs Here