Bug 38359

GemStone/S 64 Bit

2.4.8, 2.4.7, 2.4.6, 2.4.5.1, 2.4.5, 2.4.4.8, 2.4.4.7, 2.4.4.6, 2.4.4.5, 2.4.4.4, 2.4.4.3, 2.4.x, 2.3.1.6, 2.2.6.5, 2.2.6, 2.2.5.4, 2.x, 1.x

3.0

Nested block variable resolution with to:do: may be incorrect

The resolution of variables in nested blocks is not correct in some cases involving to:do: optimizations.

For example, the following code returns #(nil, nil, nil, 4); the correct result is #(1 2 3 4).

  | a b |
  a := Array new: 4.
  b := Array new: 4.
  1 to: a size do: [:i |
          b at: i put: [10 timesRepeat: [a at: i put: i]]
  ].
  1 to: b size do: [:j | (b at: j) value].
  a


                

Last updated: 7/29/14