[Python-Dev] bug or a feature?

Nick Coghlan ncoghlan at gmail.com
Wed Jun 11 11:50:59 CEST 2008


Greg Ewing wrote:
> Maciej Fijalkowski wrote:
>> What do you think about this code:
>>
>> class A:
>>    locals()[42] = 98
>>
>> Seems people rely on it working. Do we consider it part of python
>> language?
> 
> Modifying the dict returned by locals() is documented
> as NOT being guaranteed to work, isn't it?
> 
Yep - it just happens to work for class and module level namespaces in 
CPython.

Implementations are also permitted to restrict namespace dictionaries to 
only accept string keys (I believe Jython does this for performance 
reasons - CPython just optimised the hell out of normal dictionaries 
that happen to only contain string keys instead).

So I don't see any reason for Maciej to mess with PyPy to support code 
which deliberately makes use of formally undefined behaviour.

Cheers,
Nick.



-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
---------------------------------------------------------------
             http://www.boredomandlaziness.org


More information about the Python-Dev mailing list