Trait pyo3::type_object::PyTypeInfo [−][src]
pub unsafe trait PyTypeInfo: Sized { type AsRefTarget: PyNativeType; const NAME: &'static str; const MODULE: Option<&'static str>; fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject; fn is_type_of(object: &PyAny) -> bool { ... } fn is_exact_type_of(object: &PyAny) -> bool { ... } }
Expand description
Python type information.
All Python native types(e.g., PyDict
) and #[pyclass]
structs implement this trait.
This trait is marked unsafe because:
- specifying the incorrect layout can lead to memory errors
- the return value of type_object must always point to the same PyTypeObject instance
Associated Types
type AsRefTarget: PyNativeType
type AsRefTarget: PyNativeType
Utility type to make Py::as_ref work
Associated Constants
Required methods
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
PyTypeObject instance for this type.
Provided methods
fn is_type_of(object: &PyAny) -> bool
fn is_type_of(object: &PyAny) -> bool
Checks if object
is an instance of this type or a subclass of this type.
fn is_exact_type_of(object: &PyAny) -> bool
fn is_exact_type_of(object: &PyAny) -> bool
Checks if object
is an instance of this type.