[Vm-dev] modified method temp references in closures: possible bug?

Igor Stasenko siguctua at gmail.com
Fri Aug 2 13:14:59 UTC 2013


On 2 August 2013 15:08, Max Leske <maxleske at gmail.com> wrote:
>
> I just came across this (possible) bug and I'm able to reproduce it in Pharo 2.0 and 3.0 with the latest PharoVM (found in a 1.3 with NBCog):
>
> expected (by my feeble mind):
> 1
> 2
>
> actual:
> 2
> 2
>
> | methodScope |
> collection := OrderedCollection new.
> 1 to: 2 do: [ :index |
>         methodScope := index.
>         dict add: [ methodScope ] ].
>
> collection do: [ :block | Transcript show: block value; cr ]
>
err.. i see
dict add:
but where dict was declared?

> I'm aware that using method temps in this way is not good programming style (usually) but I still think this behavior is curious if not at least very likely to cause a lot of weird errors.
>
> Should I open a bug report?
>
> Cheers,
> Max



-- 
Best regards,
Igor Stasenko.


More information about the Vm-dev mailing list