]> granicus.if.org Git - python/commitdiff
bpo-28886: doc: Move deprecated abc decorators to separate section (GH-176)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 21 Feb 2018 05:24:22 +0000 (21:24 -0800)
committerINADA Naoki <methane@users.noreply.github.com>
Wed, 21 Feb 2018 05:24:22 +0000 (14:24 +0900)
(cherry picked from commit 52c6b89796a7ec391db20281e05b256f57e97b35)

Co-authored-by: Harshul jain <harshulrobo@gmail.com>
Doc/library/abc.rst

index 9522dd62049138b5e809e61e0f16c7f7f3a7554c..70710761a39555b9151e194439747818f3ceb529 100644 (file)
@@ -160,7 +160,7 @@ a helper class :class:`ABC` to alternatively define ABCs through inheritance:
 
 
 
-The :mod:`abc` module also provides the following decorators:
+The :mod:`abc` module also provides the following decorator:
 
 .. decorator:: abstractmethod
 
@@ -236,8 +236,15 @@ The :mod:`abc` module also provides the following decorators:
       multiple-inheritance.
 
 
+The :mod:`abc` module also supports the following legacy decorators:
+
 .. decorator:: abstractclassmethod
 
+   .. versionadded:: 3.2
+   .. deprecated:: 3.3
+       It is now possible to use :class:`classmethod` with
+       :func:`abstractmethod`, making this decorator redundant.
+
    A subclass of the built-in :func:`classmethod`, indicating an abstract
    classmethod. Otherwise it is similar to :func:`abstractmethod`.
 
@@ -251,14 +258,14 @@ The :mod:`abc` module also provides the following decorators:
           def my_abstract_classmethod(cls, ...):
               ...
 
+
+.. decorator:: abstractstaticmethod
+
    .. versionadded:: 3.2
    .. deprecated:: 3.3
-       It is now possible to use :class:`classmethod` with
+       It is now possible to use :class:`staticmethod` with
        :func:`abstractmethod`, making this decorator redundant.
 
-
-.. decorator:: abstractstaticmethod
-
    A subclass of the built-in :func:`staticmethod`, indicating an abstract
    staticmethod. Otherwise it is similar to :func:`abstractmethod`.
 
@@ -272,23 +279,17 @@ The :mod:`abc` module also provides the following decorators:
           def my_abstract_staticmethod(...):
               ...
 
-   .. versionadded:: 3.2
-   .. deprecated:: 3.3
-       It is now possible to use :class:`staticmethod` with
-       :func:`abstractmethod`, making this decorator redundant.
-
 
 .. decorator:: abstractproperty
 
+   .. deprecated:: 3.3
+       It is now possible to use :class:`property`, :meth:`property.getter`,
+       :meth:`property.setter` and :meth:`property.deleter` with
+       :func:`abstractmethod`, making this decorator redundant.
+
    A subclass of the built-in :func:`property`, indicating an abstract
    property.
 
-   Using this function requires that the class's metaclass is :class:`ABCMeta`
-   or is derived from it. A class that has a metaclass derived from
-   :class:`ABCMeta` cannot be instantiated unless all of its abstract methods
-   and properties are overridden. The abstract properties can be called using
-   any of the normal 'super' call mechanisms.
-
    This special case is deprecated, as the :func:`property` decorator
    is now correctly identified as abstract when applied to an abstract
    method::
@@ -322,12 +323,6 @@ The :mod:`abc` module also provides the following decorators:
               ...
 
 
-   .. deprecated:: 3.3
-       It is now possible to use :class:`property`, :meth:`property.getter`,
-       :meth:`property.setter` and :meth:`property.deleter` with
-       :func:`abstractmethod`, making this decorator redundant.
-
-
 The :mod:`abc` module also provides the following functions:
 
 .. function:: get_cache_token()