[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