Message249350
Later I had got a crash.
>>> class S(str): __slots__ = ()
...
>>> 'a'.__class__ = S
>>>
>>> def f(a): pass
...
Fatal Python error: non-string found in code slot
Current thread 0xb7583700 (most recent call first):
Aborted (core dumped)
The stdlib is full of implicit caches. Virtually any hashable object can be cached and shared. Why __class__ assignment is allowed at all? There are only two uses of __class__ assignment in the stdlib besides tests (in Lib/importlib/util.py and in Lib/xml/sax/saxutils.py), and in both cases it looks as optimization trick. |
|
Date |
User |
Action |
Args |
2015-08-30 06:01:35 | serhiy.storchaka | set | recipients:
+ serhiy.storchaka, pitrou, larry, benjamin.peterson, njs, Mark.Shannon |
2015-08-30 06:01:35 | serhiy.storchaka | set | messageid: <1440914495.13.0.800393670808.issue24912@psf.upfronthosting.co.za> |
2015-08-30 06:01:35 | serhiy.storchaka | link | issue24912 messages |
2015-08-30 06:01:34 | serhiy.storchaka | create | |
|