pub trait Comparable: PyPayload {
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _;
// Required method
fn cmp(
zelf: &Py<Self>,
other: &PyObject,
op: PyComparisonOp,
vm: &VirtualMachine,
) -> PyResult<PyComparisonValue>;
// Provided methods
fn slot_richcompare(
zelf: &PyObject,
other: &PyObject,
op: PyComparisonOp,
vm: &VirtualMachine,
) -> PyResult<Either<PyObjectRef, PyComparisonValue>> { ... }
fn eq(
zelf: &Py<Self>,
other: PyObjectRef,
vm: &VirtualMachine,
) -> PyResult<PyComparisonValue> { ... }
fn ne(
zelf: &Py<Self>,
other: PyObjectRef,
vm: &VirtualMachine,
) -> PyResult<PyComparisonValue> { ... }
fn lt(
zelf: &Py<Self>,
other: PyObjectRef,
vm: &VirtualMachine,
) -> PyResult<PyComparisonValue> { ... }
fn le(
zelf: &Py<Self>,
other: PyObjectRef,
vm: &VirtualMachine,
) -> PyResult<PyComparisonValue> { ... }
fn ge(
zelf: &Py<Self>,
other: PyObjectRef,
vm: &VirtualMachine,
) -> PyResult<PyComparisonValue> { ... }
fn gt(
zelf: &Py<Self>,
other: PyObjectRef,
vm: &VirtualMachine,
) -> PyResult<PyComparisonValue> { ... }
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 Methods§
fn cmp( zelf: &Py<Self>, other: &PyObject, op: PyComparisonOp, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
Provided Methods§
fn slot_richcompare( zelf: &PyObject, other: &PyObject, op: PyComparisonOp, vm: &VirtualMachine, ) -> PyResult<Either<PyObjectRef, PyComparisonValue>>
fn eq( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn ne( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn lt( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn le( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn ge( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn gt( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
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.