Hi, When testing some 'real world' code using pypy, an inconsistancy with the way __init__ works between lists and dicts.
The assumption was made when implementing __init__ for pypy that list.__init__ and dict.__init__ would both wipe the contents of the objects, but it seems that in cpython, this isn't precisely the case. >>> l = [2,3] >>> list.__init__(l) >>> l [] >>> d = {2: 3} >>> dict.__init__(d) >>> d {2: 3} dict.__init__(mydict) does not wipe the keys. list.__init__(mylist) wipes the lists contents. https://codespeak.net/issue/pypy-dev/issue240 Is there a good reason for this behaviour? It has broken my code (a subclass of dict that populates a key before calling the superclasses constructer, in the twisted codebase). -- Stephen Thorne "Give me enough bandwidth and a place to sit and I will move the world." --Jonathan Lange _______________________________________________ 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