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

It is safely implemented by the pyclass macro.

Associated Types

Utility type to make Py::as_ref work.

Associated Constants

Class name.

Module name, if any.

Required methods

PyTypeObject instance for this type.

Provided methods

Checks if object is an instance of this type or a subclass of this type.

Checks if object is an instance of this type.