#[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: usize
Implementations§
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