pub trait PyClassImpl: PyClassDef {
const METHOD_DEFS: &'static [PyMethodDef];
const TP_FLAGS: PyTypeFlags = PyTypeFlags::DEFAULT;
// Required methods
fn impl_extend_class(ctx: &Context, class: &'static Py<PyType>);
fn extend_slots(slots: &mut PyTypeSlots);
// Provided methods
fn extend_class(ctx: &Context, class: &'static Py<PyType>)
where Self: Sized { ... }
fn make_class(ctx: &Context) -> PyTypeRef
where Self: StaticType + Sized { ... }
fn make_slots() -> PyTypeSlots { ... }
}
Required Associated Constants§
const METHOD_DEFS: &'static [PyMethodDef]
Provided Associated Constants§
const TP_FLAGS: PyTypeFlags = PyTypeFlags::DEFAULT
Required Methods§
fn impl_extend_class(ctx: &Context, class: &'static Py<PyType>)
fn extend_slots(slots: &mut PyTypeSlots)
Provided Methods§
fn extend_class(ctx: &Context, class: &'static Py<PyType>)where
Self: Sized,
fn make_class(ctx: &Context) -> PyTypeRefwhere
Self: StaticType + Sized,
fn make_slots() -> 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.