Clarify the order of a stacked `abstractmethod` (GH-26892)
https://github.com/python/cpython/commit/74d60eab558bffdf5ca8ea2f5305e19b36b... commit: 74d60eab558bffdf5ca8ea2f5305e19b36bdb9a8 branch: main author: Ram Rachum <ram@rachum.com> committer: taleinat <532281+taleinat@users.noreply.github.com> date: 2021-06-27T21:02:23+03:00 summary: Clarify the order of a stacked `abstractmethod` (GH-26892) Co-authored-by: Tal Einat <532281+taleinat@users.noreply.github.com> files: M Lib/abc.py diff --git a/Lib/abc.py b/Lib/abc.py index 276ef9a2cd485..3c552cebb4226 100644 --- a/Lib/abc.py +++ b/Lib/abc.py @@ -28,7 +28,14 @@ def my_abstract_method(self, ...): 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 @@ def __init__(self, callable): 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 @@ def __init__(self, callable): 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
participants (1)
-
taleinat