changeset: 105025:bd2ec9965f47 branch: 3.6 parent: 105022:43be7891b1f5 parent: 105024:d920bfa5a71a user: Guido van Rossum date: Wed Nov 09 13:23:05 2016 -0800 files: Lib/typing.py description: Issue #28649: typing-clear-caches.patch (3.5->3.6) diff -r 43be7891b1f5 -r bd2ec9965f47 Lib/typing.py --- a/Lib/typing.py Wed Nov 09 13:19:00 2016 -0800 +++ b/Lib/typing.py Wed Nov 09 13:23:05 2016 -0800 @@ -611,12 +611,16 @@ ("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: