diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-08-05 11:30:50 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-08-05 11:30:50 +0000 |
commit | 600601c338006d9701ce3a8ee9922cdc47d9fed8 (patch) | |
tree | f64f740e5598f72a0fff9b604a95bea8d08f29a3 /test | |
parent | 3a32ef53aaab15199e59c643630726b041c9fa88 (diff) |
* 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
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_primitive.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/ruby/test_primitive.rb b/test/ruby/test_primitive.rb index e87028c860..448349fcbb 100644 --- a/test/ruby/test_primitive.rb +++ b/test/ruby/test_primitive.rb @@ -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 |