On Sat, Apr 17, 2010 at 1:03 PM, Steve Holden <st...@holdenweb.com> wrote: > Dino Viehland wrote: >> Maciej wrote: > [...] >>> And yet that breaks some code :-) >> >> Sure, if you do: >> >> class C(object): >> locals()[object()] = 42 >> >> dir(C) >> >> You lose. Once I'm aware of some piece of code in the wild doing this >> then I'll be happy to change IronPython to be more compatible. :) >> >> > This would be a lose anyway, since the CPython specifications suggest > that you should not rely on being able to change locals() (or at least > shouldn't expect that such changes are actually reflected in the local > namespace).
You can override __new__ of a type subclass to achieve the same effect (or even directly call type.__new__ with strange dict as an argument). Cheers, fijal _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com