summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/functions.rst13
-rw-r--r--Doc/library/typing.rst6
-rw-r--r--Lib/test/test_typing.py4
3 files changed, 16 insertions, 7 deletions
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index eed6730..e472257 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -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='')
diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst
index bd04f73..9883d8b 100644
--- a/Doc/library/typing.rst
+++ b/Doc/library/typing.rst
@@ -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.
diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py
index 87d707c..a3b6eb9 100644
--- a/Lib/test/test_typing.py
+++ b/Lib/test/test_typing.py
@@ -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')