]> granicus.if.org Git - python/commitdiff
bpo-31567: more decorator markup fixes in docs (GH-3959) (#3966)
authorÉric Araujo <merwok@users.noreply.github.com>
Thu, 12 Oct 2017 16:28:55 +0000 (12:28 -0400)
committerGitHub <noreply@github.com>
Thu, 12 Oct 2017 16:28:55 +0000 (12:28 -0400)
Doc/library/functions.rst
Doc/library/typing.rst
Lib/test/test_typing.py

index eed67301c0497392f58edb69f228870d1b5e1509..e47225718c1b517491d28b4e66080d44bbd8b9f6 100644 (file)
@@ -1419,12 +1419,21 @@ are always available.  They are listed here in alphabetical order.
    :func:`classmethod` for a variant that is useful for creating alternate class
    constructors.
 
+   Like all decorators, it is also possible to call ``staticmethod`` as
+   a regular function and do something with its result.  This is needed
+   in some cases where you need a reference to a function from a class
+   body and you want to avoid the automatic transformation to instance
+   method.  For these cases, use this idiom:
+
+      class C:
+          builtin_open = staticmethod(open)
+
    For more information on static methods, consult the documentation on the
    standard type hierarchy in :ref:`types`.
 
-   .. index::
-      single: string; str() (built-in function)
 
+.. index::
+   single: string; str() (built-in function)
 
 .. _func-str:
 .. class:: str(object='')
index bd04f731a1238bdb6553bfc54782d0f5db99b5cc..9883d8bbe8659606e0224b79b33b0f73562c2dcd 100644 (file)
@@ -897,17 +897,17 @@ The module defines the following classes, functions and decorators:
 
    See :pep:`484` for details and comparison with other typing semantics.
 
-.. decorator:: no_type_check(arg)
+.. decorator:: no_type_check
 
    Decorator to indicate that annotations are not type hints.
 
-   The argument must be a class or function; if it is a class, it
+   This works as class or function :term:`decorator`.  With a class, it
    applies recursively to all methods defined in that class (but not
    to methods defined in its superclasses or subclasses).
 
    This mutates the function(s) in place.
 
-.. decorator:: no_type_check_decorator(decorator)
+.. decorator:: no_type_check_decorator
 
    Decorator to give another decorator the :func:`no_type_check` effect.
 
index 87d707c1cde6f38479d033dab1c0ddb08a3c5a83..a3b6eb933935e2a5282944dfdbec11928107def2 100644 (file)
@@ -1471,8 +1471,8 @@ class ForwardRefTests(BaseTestCase):
     def test_meta_no_type_check(self):
 
         @no_type_check_decorator
-        def magic_decorator(deco):
-            return deco
+        def magic_decorator(func):
+            return func
 
         self.assertEqual(magic_decorator.__name__, 'magic_decorator')