Message236103
It is possible to reproduce original bug without hacking the code object or bytecode:
>>> eval('lambda %s, *args, **kwargs: (lambda:args)' % (', '.join('a%d'%i for i in range(253)),))(*range(256))()
(253, 254, 255)
>>> eval('lambda %s, *args, **kwargs: (lambda:args)' % (', '.join('a%d'%i for i in range(254)),))(*range(256))()
(254, 255)
>>> eval('lambda %s, *args, **kwargs: (lambda:args)' % (', '.join('a%d'%i for i in range(255)),))(*range(256))()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <lambda>
NameError: free variable 'args' referenced before assignment in enclosing scope
>>> eval('lambda %s, *args, **kwargs: (lambda:kwargs)' % (', '.join('a%d'%i for i in range(253)),))(*range(256))()
{}
>>> eval('lambda %s, *args, **kwargs: (lambda:kwargs)' % (', '.join('a%d'%i for i in range(254)),))(*range(256))()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <lambda>
NameError: free variable 'kwargs' referenced before assignment in enclosing scope
>>> eval('lambda %s, *args, **kwargs: (lambda:kwargs)' % (', '.join('a%d'%i for i in range(255)),))(*range(256))()
0 |
|
Date |
User |
Action |
Args |
2015-02-16 13:45:59 | serhiy.storchaka | set | recipients:
+ serhiy.storchaka, loewis, vstinner, christian.heimes, BreamoreBoy, steve.dower |
2015-02-16 13:45:59 | serhiy.storchaka | set | messageid: <1424094359.49.0.172084791327.issue18295@psf.upfronthosting.co.za> |
2015-02-16 13:45:59 | serhiy.storchaka | link | issue18295 messages |
2015-02-16 13:45:59 | serhiy.storchaka | create | |
|