This one's interesting.  I've got a fix for this for 2.0 on my machine - I've 
been looking at some other tweaks to dictionaries so we can cleanup our type 
system (funny how those two are related) and this fits in nicely with that.  So 
it should be in the next release.  Thanks for the report!

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Foord
Sent: Tuesday, February 19, 2008 8:31 AM
To: Discussion of IronPython
Subject: [IronPython] Overriding __iter__ in dict subclass

Bug in IronPython 1 and 2.

IronPython 2.0 Alpha (2.0.0.800) on .NET 2.0.50727.832
Copyright (c) Microsoft Corporation. All rights reserved.
 >>> class X(dict):
...  __iter__ = lambda s: s.itervalues()
...
 >>> a = X([(1, 'a'), (2, 'b'), (3, 'c')])
 >>> for e in a:
...  print e
...
1
2
3
 >>>



IronPython 1.1
 >>> class X(dict):
...   __iter__ = lambda s: s.itervalues()
...
 >>> a = X([(1, 'a'), (2, 'b'), (3, 'c')])
 >>> for e in a:
...  print e
...
1
2
3
 >>>

CPython 2.4

Python 2.4.4 (#71, Oct 18 2006, 08:34:43) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
 >>> class X(dict):
...  __iter__ = lambda s: s.itervalues()
...
 >>> a = X([(1, 'a'), (2, 'b'), (3, 'c')])
 >>>
 >>> for e in a:
...  print e
...
a
b
c
 >>>

--
Michael Foord
Senior Software Engineer, Resolver Systems Ltd.
[EMAIL PROTECTED]
+44 (0) 20 7253 6372

We're hiring! http://www.resolversystems.com/jobs/
17a Clerkenwell Road, London EC1M 5RD, UK
VAT No.: GB 893 5643 79 Registered in England and Wales as company number 
5467329.
Registered address: 843 Finchley Road, London NW11 8NA, UK

_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to