Hi
I think I have discovered a random bug in the & (set intersection)
operator in Arrays.
It statistically appeared 37 times out of 200 executions of my program.
on version ruby 1.9.1p376 (2009-12-07 revision 26041) [i686-linux]
on version ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]
I cannot deliver this full program (a source to source compiler) but
here is a example :
array1 = [#While:0x8a15808,
#<Say:0x8b0c2c0 @str=“2_1a”>,
#<Say:0x8b0c25c @str=“2_1b”>,
#<If:0x8b0c1d0 @body=[#<Say:0x8b0c054 @str=“2_1c”>], @cond=true>]
array2 = [#<Say:0x8b0c2c0 @str=“2_1a”>,
#<Say:0x8b0c25c @str=“2_1b”>,
#<If:0x8b0c1d0 @body=[#<Say:0x8b0c054 @str=“2_1c”>], @cond=true>,
#<While:0x8b0c02c,
#<If:0x8b0bb2c @body=[#<Say:0x8b0baa0 @str=“2_3”>], @cond=true>,
#<Else:0x8b0ba78 @body=[#<Say:0x8b0b94c @str=“2_3”>]>]
array1 & array2 sometimes gives things like :
[#<While:0x8a15808 >,
#<Say:0x8b0c2c0 @str=“2_1a”>,
#<Say:0x8b0c25c @str=“2_1b”>,
#<If:0x8b0c1d0 @body=[#<Say:0x8b0c054 @str=“2_1c”>], @cond=true>]
while the expected result is
[#<Say:0x8b0c2c0 @str=“2_1a”>,
#<Say:0x8b0c25c @str=“2_1b”>,
#<If:0x8b0c1d0 @body=[#<Say:0x8b0c054 @str=“2_1c”>], @cond=true>]
How can I report that ? Thx
JCLL
(ps : using Set instead of Array, this works perfectly)