#[non_exhaustive]pub struct PyTypeSlots {Show 22 fields
pub basicsize: usize,
pub as_number: PyNumberSlots,
pub as_sequence: AtomicCell<Option<PointerSlot<PySequenceMethods>>>,
pub as_mapping: AtomicCell<Option<PointerSlot<PyMappingMethods>>>,
pub hash: AtomicCell<Option<fn(&PyObject, &VirtualMachine) -> PyResult<PyHash>>>,
pub call: AtomicCell<Option<fn(&PyObject, FuncArgs, &VirtualMachine) -> PyResult>>,
pub repr: AtomicCell<Option<fn(&PyObject, &VirtualMachine) -> PyResult<PyStrRef>>>,
pub getattro: AtomicCell<Option<fn(&PyObject, &Py<PyStr>, &VirtualMachine) -> PyResult>>,
pub setattro: AtomicCell<Option<fn(&PyObject, &Py<PyStr>, PySetterValue, &VirtualMachine) -> PyResult<()>>>,
pub as_buffer: Option<fn(&PyObject, &VirtualMachine) -> PyResult<PyBuffer>>,
pub richcompare: AtomicCell<Option<fn(&PyObject, &PyObject, PyComparisonOp, &VirtualMachine) -> PyResult<Either<PyObjectRef, PyComparisonValue>>>>,
pub iter: AtomicCell<Option<fn(PyObjectRef, &VirtualMachine) -> PyResult>>,
pub iternext: AtomicCell<Option<fn(&PyObject, &VirtualMachine) -> PyResult<PyIterReturn>>>,
pub methods: &'static [PyMethodDef],
pub flags: PyTypeFlags,
pub doc: Option<&'static str>,
pub descr_get: AtomicCell<Option<fn(PyObjectRef, Option<PyObjectRef>, Option<PyObjectRef>, &VirtualMachine) -> PyResult>>,
pub descr_set: AtomicCell<Option<fn(&PyObject, PyObjectRef, PySetterValue, &VirtualMachine) -> PyResult<()>>>,
pub init: AtomicCell<Option<fn(PyObjectRef, FuncArgs, &VirtualMachine) -> PyResult<()>>>,
pub new: AtomicCell<Option<fn(PyTypeRef, FuncArgs, &VirtualMachine) -> PyResult>>,
pub del: AtomicCell<Option<fn(&PyObject, &VirtualMachine) -> PyResult<()>>>,
pub member_count: usize,
/* private fields */
}Fields (Non-exhaustive)ยง
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.basicsize: usizeยงas_number: PyNumberSlotsยงas_sequence: AtomicCell<Option<PointerSlot<PySequenceMethods>>>ยงas_mapping: AtomicCell<Option<PointerSlot<PyMappingMethods>>>ยงhash: AtomicCell<Option<fn(&PyObject, &VirtualMachine) -> PyResult<PyHash>>>ยงcall: AtomicCell<Option<fn(&PyObject, FuncArgs, &VirtualMachine) -> PyResult>>ยงrepr: AtomicCell<Option<fn(&PyObject, &VirtualMachine) -> PyResult<PyStrRef>>>ยงgetattro: AtomicCell<Option<fn(&PyObject, &Py<PyStr>, &VirtualMachine) -> PyResult>>ยงsetattro: AtomicCell<Option<fn(&PyObject, &Py<PyStr>, PySetterValue, &VirtualMachine) -> PyResult<()>>>ยงas_buffer: Option<fn(&PyObject, &VirtualMachine) -> PyResult<PyBuffer>>ยงrichcompare: AtomicCell<Option<fn(&PyObject, &PyObject, PyComparisonOp, &VirtualMachine) -> PyResult<Either<PyObjectRef, PyComparisonValue>>>>ยงiter: AtomicCell<Option<fn(PyObjectRef, &VirtualMachine) -> PyResult>>ยงiternext: AtomicCell<Option<fn(&PyObject, &VirtualMachine) -> PyResult<PyIterReturn>>>ยงmethods: &'static [PyMethodDef]ยงflags: PyTypeFlagsยงdoc: Option<&'static str>ยงdescr_get: AtomicCell<Option<fn(PyObjectRef, Option<PyObjectRef>, Option<PyObjectRef>, &VirtualMachine) -> PyResult>>ยงdescr_set: AtomicCell<Option<fn(&PyObject, PyObjectRef, PySetterValue, &VirtualMachine) -> PyResult<()>>>ยงinit: AtomicCell<Option<fn(PyObjectRef, FuncArgs, &VirtualMachine) -> PyResult<()>>>ยงnew: AtomicCell<Option<fn(PyTypeRef, FuncArgs, &VirtualMachine) -> PyResult>>ยงdel: AtomicCell<Option<fn(&PyObject, &VirtualMachine) -> PyResult<()>>>ยงmember_count: usizeImplementationsยง
Sourceยงimpl PyTypeSlots
impl PyTypeSlots
pub fn new(name: &'static str, flags: PyTypeFlags) -> Self
pub fn heap_default() -> Self
Trait Implementationsยง
Sourceยงimpl Debug for PyTypeSlots
impl Debug for PyTypeSlots
Sourceยงimpl Default for PyTypeSlots
impl Default for PyTypeSlots
Sourceยงfn default() -> PyTypeSlots
fn default() -> PyTypeSlots
Returns the โdefault valueโ for a type. Read more
Auto Trait Implementationsยง
impl !Freeze for PyTypeSlots
impl !RefUnwindSafe for PyTypeSlots
impl !Send for PyTypeSlots
impl !Sync for PyTypeSlots
impl Unpin for PyTypeSlots
impl !UnwindSafe for PyTypeSlots
Blanket Implementationsยง
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