[IronPython] Is this a bug in IP 2.0?

Tim Roberts timr at probo.com
Wed Dec 24 19:05:20 CET 2008


On Tue, 23 Dec 2008 21:01:21 +0000, Michael Foord
<fuzzyman at voidspace.org.uk> wrote:
> Mark Russo wrote:
>   
>> In IronPython 2.0, when I replace a Point object in a list using 
>> assignment, a copy of the Point object is used to replace the original 
>> list element rather than the original Point itself. This does not 
>> happen with user-defined objects. It also does not happen with Point 
>> objects in IronPython 1.1.
>>     
>
> Point objects are value types, so some operations cause them to be 
> copied. Probably the way they are used under the hood has changed with 
> IronPython 2.
>   

But, this has to be considered a rather serious bug, doesn't it?  If I
create an object p2, then insert it into a list at l[0], the Python
contract guarantees that l[0] and p2 are references to the same object,
so that modifying one must modify the other.

Am I missing the point here?  Is there another level of indirection in
the implementation that means these really are references to the same
object, despite having different IDs?

-- 
Tim Roberts, timr at probo.com
Providenza & Boekelheide, Inc.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20081224/b9fe18bf/attachment.html>


More information about the Ironpython-users mailing list