summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2016-11-09 21:23:05 (GMT)
committerGuido van Rossum <guido@python.org>2016-11-09 21:23:05 (GMT)
commit5486a8842717def49a592dfdae89f831aeb1277c (patch)
treea241520a69cf65aa2272907a1bce6f64d19b5b02
parent83be424700776962b93979e9c5a81ebe88a41730 (diff)
parent9b107560191085a0c5462ad878e1e9eeae94ba82 (diff)
downloadcpython-5486a8842717def49a592dfdae89f831aeb1277c.zip
cpython-5486a8842717def49a592dfdae89f831aeb1277c.tar.gz
cpython-5486a8842717def49a592dfdae89f831aeb1277c.tar.bz2
Issue #28649: typing-clear-caches.patch (3.5->3.6)
-rw-r--r--Lib/typing.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/Lib/typing.py b/Lib/typing.py
index e748fd9..f3e446e 100644
--- a/Lib/typing.py
+++ b/Lib/typing.py
@@ -611,12 +611,16 @@ def _check_generic(cls, parameters):
("many" if alen > elen else "few", repr(cls), alen, elen))
+_cleanups = []
+
+
def _tp_cache(func):
""" Caching for __getitem__ of generic types with a fallback to
original function for non-hashable arguments.
"""
cached = functools.lru_cache()(func)
+ _cleanups.append(cached.cache_clear)
@functools.wraps(func)
def inner(*args, **kwds):
try: