1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* compile.c (iseq_compile_each): to_a method should be called.

[Bug #3658]

* compile.c (iseq_compile_each): ditto for ARGSPUSH.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2010-08-05 11:30:50 +00:00
parent 3a32ef53aa
commit 600601c338
3 changed files with 34 additions and 3 deletions

View file

@ -405,5 +405,20 @@ class TestRubyPrimitive < Test::Unit::TestCase
bug3658 = '[ruby-dev:41933]'
[0, *x=1]
assert_equal(1, x, bug3658)
[0, *x=1, 2]
assert_equal(1, x, bug3658)
class << (x = Object.new)
attr_accessor :to_a_called
def to_a
@to_a_called = true
[self]
end
end
x.to_a_called = false
[0, *x]
assert(x.to_a_called, bug3658)
x.to_a_called = false
[0, *x, 2]
assert(x.to_a_called, bug3658)
end
end