pub trait Initializer: PyPayload {
type Args: FromArgs;
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _;
// Required method
fn init(
zelf: PyRef<Self>,
args: Self::Args,
vm: &VirtualMachine,
) -> PyResult<()>;
// Provided methods
fn slot_init(
zelf: PyObjectRef,
args: FuncArgs,
vm: &VirtualMachine,
) -> PyResult<()> { ... }
fn __init__(
zelf: PyRef<Self>,
args: Self::Args,
vm: &VirtualMachine,
) -> PyResult<()> { ... }
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>) { ... }
fn __extend_slots(slots: &mut PyTypeSlots) { ... }
}
Provided Associated Constants§
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
Required Associated Types§
Required Methods§
Provided Methods§
fn slot_init( zelf: PyObjectRef, args: FuncArgs, vm: &VirtualMachine, ) -> PyResult<()>
fn __init__( zelf: PyRef<Self>, args: Self::Args, vm: &VirtualMachine, ) -> PyResult<()>
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
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.