From: Ram Rachum Date: Sun, 27 Jun 2021 18:02:23 +0000 (+0300) Subject: Clarify the order of a stacked `abstractmethod` (GH-26892) X-Git-Tag: v3.11.0a1~775 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=74d60eab558bffdf5ca8ea2f5305e19b36bdb9a8;p=thirdparty%2FPython%2Fcpython.git Clarify the order of a stacked `abstractmethod` (GH-26892) Co-authored-by: Tal Einat <532281+taleinat@users.noreply.github.com> --- diff --git a/Lib/abc.py b/Lib/abc.py index 276ef9a2cd48..3c552cebb422 100644 --- a/Lib/abc.py +++ b/Lib/abc.py @@ -28,7 +28,14 @@ def abstractmethod(funcobj): class abstractclassmethod(classmethod): """A decorator indicating abstract classmethods. - Deprecated, use 'classmethod' with 'abstractmethod' instead. + Deprecated, use 'classmethod' with 'abstractmethod' instead: + + class C(ABC): + @classmethod + @abstractmethod + def my_abstract_classmethod(cls, ...): + ... + """ __isabstractmethod__ = True @@ -41,7 +48,14 @@ class abstractclassmethod(classmethod): class abstractstaticmethod(staticmethod): """A decorator indicating abstract staticmethods. - Deprecated, use 'staticmethod' with 'abstractmethod' instead. + Deprecated, use 'staticmethod' with 'abstractmethod' instead: + + class C(ABC): + @staticmethod + @abstractmethod + def my_abstract_staticmethod(...): + ... + """ __isabstractmethod__ = True @@ -54,7 +68,14 @@ class abstractstaticmethod(staticmethod): class abstractproperty(property): """A decorator indicating abstract properties. - Deprecated, use 'property' with 'abstractmethod' instead. + Deprecated, use 'property' with 'abstractmethod' instead: + + class C(ABC): + @property + @abstractmethod + def my_abstract_property(self): + ... + """ __isabstractmethod__ = True