> Tim, Jeremy, and I are having so much fun... [...] > >>> 23000 .__class__ = bool > Debug memory block at address p=0x814f544: > 485823496 bytes originally requested > the 4 pad bytes at p-4 are not all FORBIDDENBYTE (0xfb): > at p-4: 0x7a *** OUCH > at p-3: 0x61 *** OUCH > at p-2: 0xc8 *** OUCH > at p-1: 0x3c *** OUCH > the 4 pad bytes at tail=0x250a094c are Segmentation fault Ouch. Fixed in CVS for this particular case, but I think you may still be able provoke this with a built-in type that derives from another built-in type without adding any new fields, if the base type has a funky allocator that the derived type doesn't inherit. Also, the fix means that if an extension defines a type that inherits from int but doesn't override tp_alloc and tp_free, it inherits a tp_alloc that's not matched to the tp_free. But why would anyone do that...? Inspired by this, I tried something else. >>> print True True >>> True.__class__ = int >>> print True 1 >>> There are no ill side effects. Handy for bool-haters. :-) --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4