summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2021-06-27 18:50:38 (GMT)
committerGitHub <noreply@github.com>2021-06-27 18:50:38 (GMT)
commitc95cdf2dae185b1241c0b1e07635dc632267e37e (patch)
treec67edac1b3dfb7af1cb0d3bf66d3e6ad0a7906a7
parente1f3bd2bb50a76ba15a2f8d561e2c9968ae3a1b2 (diff)
downloadcpython-c95cdf2dae185b1241c0b1e07635dc632267e37e.zip
cpython-c95cdf2dae185b1241c0b1e07635dc632267e37e.tar.gz
cpython-c95cdf2dae185b1241c0b1e07635dc632267e37e.tar.bz2
Clarify the order of a stacked `abstractmethod` (GH-26892)
Co-authored-by: Tal Einat <532281+taleinat@users.noreply.github.com> (cherry picked from commit 74d60eab558bffdf5ca8ea2f5305e19b36bdb9a8) Co-authored-by: Ram Rachum <ram@rachum.com>
-rw-r--r--Lib/abc.py27
1 files changed, 24 insertions, 3 deletions
diff --git a/Lib/abc.py b/Lib/abc.py
index 276ef9a..3c552ce 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