On 2005 Jan 14, at 00:11, Guido van Rossum wrote:
Let's do override descriptors.
A Pronouncement!!!
And please, someone fix copy.py in 2.3 and 2.4.
Sure -- what way, though? The way I proposed in my last post about it?
This would do it, right? (From your first post in this conversation according to gmail:)
Armin's fix was to change:
conform = getattr(type(obj), '__conform__', None)
into:
for basecls in type(obj).__mro__: if '__conform__' in basecls.__dict__: conform = basecls.__dict__['__conform__'] break else: # not found
Yes, the code could be expanded inline each time it's needed (for __copy__, __getstate__, and all other special methods copy.py needs to get-from-the-type). It does seem better to write it once as a private function of copy.py, though.
Plus, to fix the effbot's bug, we need to have in function copy() a test about object type that currently is in deepcopy() [[for the commented purpose of fixing a problem with Boost's old version -- but it works to make deepcopy work in the effbot's case too]] but not in copy(). Lastly, the tests should also be enriched to make sure they catch the bug (no doc change needed, it seems to me).
I can do it this weekend if the general approach is OK, since Clark has kindly agreed to do the next rewrite of PEP 246;-).
Alex
_______________________________________________ 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