[−][src]Struct rustpython_vm::obj::objclassmethod::PyClassMethod
classmethod(function) -> method
Convert a function to be a class method.
A class method receives the class as implicit first argument, just like an instance method receives the instance. To declare a class method, use this idiom:
class C: @classmethod def f(cls, arg1, arg2, ...): ...
It can be called either on the class (e.g. C.f()) or on an instance (e.g. C().f()). The instance is ignored except for its class. If a class method is called for a derived class, the derived class object is passed as the implied first argument.
Class methods are different than C++ or Java static methods. If you want those, see the staticmethod builtin.
Methods
impl PyClassMethod
[src]
pub fn new(value: PyObjectRef) -> Self
[src]
Trait Implementations
impl Clone for PyClassMethod
[src]
fn clone(&self) -> PyClassMethod
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for PyClassMethod
[src]
impl PyClassDef for PyClassMethod
[src]
impl PyClassImpl for PyClassMethod
[src]
const TP_FLAGS: PyTpFlags
[src]
fn impl_extend_class(ctx: &PyContext, class: &PyClassRef)
[src]
fn extend_class(ctx: &PyContext, class: &PyClassRef)
[src]
fn make_class(ctx: &PyContext) -> PyClassRef
[src]
fn make_class_with_base(ctx: &PyContext, base: PyClassRef) -> PyClassRef
[src]
impl PyValue for PyClassMethod
[src]
const HAVE_DICT: bool
[src]
fn class(vm: &VirtualMachine) -> PyClassRef
[src]
fn into_ref(self, vm: &VirtualMachine) -> PyRef<Self>
[src]
fn into_ref_with_type(
self,
vm: &VirtualMachine,
cls: PyClassRef
) -> PyResult<PyRef<Self>>
[src]
self,
vm: &VirtualMachine,
cls: PyClassRef
) -> PyResult<PyRef<Self>>
fn into_ref_with_type_unchecked(
self,
cls: PyClassRef,
dict: Option<PyDictRef>
) -> PyRef<Self>
[src]
self,
cls: PyClassRef,
dict: Option<PyDictRef>
) -> PyRef<Self>
impl SlotDescriptor for PyClassMethod
[src]
fn descr_get(
vm: &VirtualMachine,
zelf: PyObjectRef,
obj: Option<PyObjectRef>,
cls: OptionalArg<PyObjectRef>
) -> PyResult
[src]
vm: &VirtualMachine,
zelf: PyObjectRef,
obj: Option<PyObjectRef>,
cls: OptionalArg<PyObjectRef>
) -> PyResult
fn get(
zelf: PyObjectRef,
obj: PyObjectRef,
cls: OptionalArg<PyObjectRef>,
vm: &VirtualMachine
) -> PyResult
[src]
zelf: PyObjectRef,
obj: PyObjectRef,
cls: OptionalArg<PyObjectRef>,
vm: &VirtualMachine
) -> PyResult
fn _zelf(zelf: PyObjectRef, vm: &VirtualMachine) -> PyResult<PyRef<Self>>
[src]
fn _unwrap(
zelf: PyObjectRef,
obj: Option<PyObjectRef>,
vm: &VirtualMachine
) -> PyResult<(PyRef<Self>, PyObjectRef)>
[src]
zelf: PyObjectRef,
obj: Option<PyObjectRef>,
vm: &VirtualMachine
) -> PyResult<(PyRef<Self>, PyObjectRef)>
fn _check(
zelf: PyObjectRef,
obj: Option<PyObjectRef>,
vm: &VirtualMachine
) -> Result<(PyRef<Self>, PyObjectRef), PyResult>
[src]
zelf: PyObjectRef,
obj: Option<PyObjectRef>,
vm: &VirtualMachine
) -> Result<(PyRef<Self>, PyObjectRef), PyResult>
fn _cls_is<T>(cls: &OptionalArg<PyObjectRef>, other: &T) -> bool where
T: IdProtocol,
[src]
T: IdProtocol,
fn __extend_py_class(ctx: &PyContext, class: &PyClassRef)
[src]
Auto Trait Implementations
impl !RefUnwindSafe for PyClassMethod
impl !Send for PyClassMethod
impl !Sync for PyClassMethod
impl Unpin for PyClassMethod
impl !UnwindSafe for PyClassMethod
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoPyObject for T where
T: PyValue,
[src]
T: PyValue,
fn into_pyobject(
Self,
&VirtualMachine
) -> Result<Rc<PyObject<dyn PyObjectPayload + 'static>>, PyRef<PyBaseException>>
[src]
Self,
&VirtualMachine
) -> Result<Rc<PyObject<dyn PyObjectPayload + 'static>>, PyRef<PyBaseException>>
impl<T> PyObjectPayload for T where
T: 'static + PyValue,
[src]
T: 'static + PyValue,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,