Message392644
the pure python functools.lru_cache doesn't get this right either. here's a desirable testcase for this bug:
```
def test_lru_defaults_bug44003(self):
@self.module.lru_cache(maxsize=None)
def func(arg='ARG', *, kw='KW'):
return arg, kw
self.assertEqual(func.__wrapped__.__defaults__, ('ARG',))
self.assertEqual(func.__wrapped__.__kwdefaults__, {'kw': 'KW'})
self.assertEqual(func.__defaults__, ('ARG',))
self.assertEqual(func.__kwdefaults__, {'kw': 'KW'})
```
results in
```
ERROR: test_lru_defaults_bug44003 (test.test_functools.TestLRUC)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/greg/oss/python/gpshead/Lib/test/test_functools.py", line 1738, in test_lru_defaults_bug44003
self.assertEqual(func.__defaults__, ('ARG',))
AttributeError: 'functools._lru_cache_wrapper' object has no attribute '__defaults__'
======================================================================
FAIL: test_lru_defaults_bug44003 (test.test_functools.TestLRUPy)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/greg/oss/python/gpshead/Lib/test/test_functools.py", line 1738, in test_lru_defaults_bug44003
self.assertEqual(func.__defaults__, ('ARG',))
AssertionError: None != ('ARG',)
``` |
|
Date |
User |
Action |
Args |
2021-05-01 23:57:27 | gregory.p.smith | set | recipients:
+ gregory.p.smith, serhiy.storchaka |
2021-05-01 23:57:27 | gregory.p.smith | set | messageid: <1619913447.36.0.640815291034.issue44003@roundup.psfhosted.org> |
2021-05-01 23:57:27 | gregory.p.smith | link | issue44003 messages |
2021-05-01 23:57:27 | gregory.p.smith | create | |
|