pyo3_ffi

# Struct PyTypeObject

Source

    #[repr(C)]pub struct PyTypeObject {Show 50 fields
        pub ob_base: PyVarObject,
        pub tp_name: *const c_char,
        pub tp_basicsize: Py_ssize_t,
        pub tp_itemsize: Py_ssize_t,
        pub tp_dealloc: Option<destructor>,
        pub tp_vectorcall_offset: Py_ssize_t,
        pub tp_getattr: Option<getattrfunc>,
        pub tp_setattr: Option<setattrfunc>,
        pub tp_as_async: *mut PyAsyncMethods,
        pub tp_repr: Option<reprfunc>,
        pub tp_as_number: *mut PyNumberMethods,
        pub tp_as_sequence: *mut PySequenceMethods,
        pub tp_as_mapping: *mut PyMappingMethods,
        pub tp_hash: Option<hashfunc>,
        pub tp_call: Option<ternaryfunc>,
        pub tp_str: Option<reprfunc>,
        pub tp_getattro: Option<getattrofunc>,
        pub tp_setattro: Option<setattrofunc>,
        pub tp_as_buffer: *mut PyBufferProcs,
        pub tp_flags: c_ulong,
        pub tp_doc: *const c_char,
        pub tp_traverse: Option<traverseproc>,
        pub tp_clear: Option<inquiry>,
        pub tp_richcompare: Option<richcmpfunc>,
        pub tp_weaklistoffset: Py_ssize_t,
        pub tp_iter: Option<getiterfunc>,
        pub tp_iternext: Option<iternextfunc>,
        pub tp_methods: *mut PyMethodDef,
        pub tp_members: *mut PyMemberDef,
        pub tp_getset: *mut PyGetSetDef,
        pub tp_base: *mut PyTypeObject,
        pub tp_dict: *mut PyObject,
        pub tp_descr_get: Option<descrgetfunc>,
        pub tp_descr_set: Option<descrsetfunc>,
        pub tp_dictoffset: Py_ssize_t,
        pub tp_init: Option<initproc>,
        pub tp_alloc: Option<allocfunc>,
        pub tp_new: Option<newfunc>,
        pub tp_free: Option<freefunc>,
        pub tp_is_gc: Option<inquiry>,
        pub tp_bases: *mut PyObject,
        pub tp_mro: *mut PyObject,
        pub tp_cache: *mut PyObject,
        pub tp_subclasses: *mut PyObject,
        pub tp_weaklist: *mut PyObject,
        pub tp_del: Option<destructor>,
        pub tp_version_tag: c_uint,
        pub tp_finalize: Option<destructor>,
        pub tp_vectorcall: Option<vectorcallfunc>,
        pub tp_watched: c_char,
    }

## Fields§

§ `ob_base: PyVarObject` § `tp_name: *const c_char` § `tp_basicsize: Py_ssize_t` § `tp_itemsize: Py_ssize_t` § `tp_dealloc: Option<destructor>` § `tp_vectorcall_offset: Py_ssize_t` § `tp_getattr: Option<getattrfunc>` § `tp_setattr: Option<setattrfunc>` § `tp_as_async: *mut PyAsyncMethods` § `tp_repr: Option<reprfunc>` § `tp_as_number: *mut PyNumberMethods` § `tp_as_sequence: *mut PySequenceMethods` § `tp_as_mapping: *mut PyMappingMethods` § `tp_hash: Option<hashfunc>` § `tp_call: Option<ternaryfunc>` § `tp_str: Option<reprfunc>` § `tp_getattro: Option<getattrofunc>` § `tp_setattro: Option<setattrofunc>` § `tp_as_buffer: *mut PyBufferProcs` § `tp_flags: c_ulong` § `tp_doc: *const c_char` § `tp_traverse: Option<traverseproc>` § `tp_clear: Option<inquiry>` § `tp_richcompare: Option<richcmpfunc>` § `tp_weaklistoffset: Py_ssize_t` § `tp_iter: Option<getiterfunc>` § `tp_iternext: Option<iternextfunc>` § `tp_methods: *mut PyMethodDef` § `tp_members: *mut PyMemberDef` § `tp_getset: *mut PyGetSetDef` § `tp_base: *mut PyTypeObject` § `tp_dict: *mut PyObject` § `tp_descr_get: Option<descrgetfunc>` § `tp_descr_set: Option<descrsetfunc>` § `tp_dictoffset: Py_ssize_t` § `tp_init: Option<initproc>` § `tp_alloc: Option<allocfunc>` § `tp_new: Option<newfunc>` § `tp_free: Option<freefunc>` § `tp_is_gc: Option<inquiry>` § `tp_bases: *mut PyObject` § `tp_mro: *mut PyObject` § `tp_cache: *mut PyObject` § `tp_subclasses: *mut PyObject` § `tp_weaklist: *mut PyObject` § `tp_del: Option<destructor>` § `tp_version_tag: c_uint` § `tp_finalize: Option<destructor>` § `tp_vectorcall: Option<vectorcallfunc>` § `tp_watched: c_char`

## Trait Implementations§

Source §

### impl Debug for PyTypeObject

Source §

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

## Auto Trait Implementations§

§

### impl Freeze for PyTypeObject

§

### impl RefUnwindSafe for PyTypeObject

§

### impl !Send for PyTypeObject

§

### impl !Sync for PyTypeObject

§

### impl Unpin for PyTypeObject

§

### impl UnwindSafe for PyTypeObject

## 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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source §

#### 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>,

Source §

#### 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.