Hi everybody,

I am experiencing a very weird behavior with Arrays :

I writed a test case as follows ;

testChange
| bitArray1 |
bitArray1 := #(0 0 0 0).

(1 to: bitArray1 size)
do: [ :index ||temp|
temp := (bitArray1 at: index) + 1.
bitArray1 at: index put: (temp).
].
self assert: bitArray1 = #(1 1 1 1)


The thing is that the test succedes the first time but if I run it again it fails.
Moreover, if  I change the testChange arbitrarily (just add a space and save) the test succeeds the first time then it fails.....etc.

Actually bitArray1 := #(0 0 0 0) changes the value of bitArray1 in the first run but then bitArray1 does not change any more in the next runs.

The problem does not occur if  I replace bitArray1 := #(0 0 0 0). with bitArray1 := Array new:4 withAll: 0 .

Any idea where the problem can be?
Should I open a bug entry? where?

Abdelghani