Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork34k
Closed
Description
Bug report
Bug description:
The C implementation offunctools.lru_cache checks whether its argument is callable and raises an exception if not. The Python version does not do that:
importsyssys.modules['_functools']=Noneimportfunctoolsfunctools.lru_cache()(1)# does not raise
without blocking the import of_functools you get:
Traceback (most recent call last): File"/home/cfbolz/projects/cpython/functoolserror.py", line5, in<module> functools.lru_cache()(1)~~~~~~~~~~~~~~~~~~~~~^^^ File"/home/cfbolz/projects/cpython/Lib/functools.py", line598, indecorating_function wrapper= _lru_cache_wrapper(user_function, maxsize, typed, _CacheInfo)TypeError:the first argument must be callable
I think this should simply be fixed in the Python implementation and will prepare a patch.
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux