pyo3::pyclass_init

Trait PyObjectInit

Source
pub trait PyObjectInit<T>: Sized {
    // Required methods
    unsafe fn into_new_object(
        self,
        py: Python<'_>,
        subtype: *mut PyTypeObject,
    ) -> PyResult<*mut PyObject>;
    fn __private__(&self) -> PrivateMarker;
}
Expand description

Initializer for Python types.

This trait is intended to use internally for distinguishing #[pyclass] and Python native types.

Required Methods§

Source

unsafe fn into_new_object( self, py: Python<'_>, subtype: *mut PyTypeObject, ) -> PyResult<*mut PyObject>

§Safety
  • subtype must be a valid pointer to a type object of T or a subclass.
Source

fn __private__(&self) -> PrivateMarker

This trait is private to implement; this method exists to make it impossible to implement outside the crate.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§