Bug #2475: InstructionSequence#to_a fails for duparray
http://redmine.ruby-lang.org/issues/show/2475

Author: Paul Brannan
Status: Open, Priority: Normal
ruby -v: ruby 1.9.1p243 (2009-07-16 revision 24175) [i686-linux]

irb(main):003:0> i = RubyVM::InstructionSequence.compile("a = [ 1, 2, 3 ]; foo(a)")
=> <RubyVM::InstructionSequence:<compiled>@<compiled>>
irb(main):004:0> i.to_a
NotImplementedError: method `inspect' called on terminated object (0x984de08)
	from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:302:in `inspect'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:302:in `inspect'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:302:in `inspect'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:302:in `output_value'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:150:in `block (2 levels) in eval_input'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:263:in `signal_status'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:146:in `block in eval_input'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb/ruby-lex.rb:244:in `block (2 levels) in each_top_level_statement'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb/ruby-lex.rb:230:in `loop'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb/ruby-lex.rb:230:in `block in each_top_level_statement'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb/ruby-lex.rb:229:in `catch'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb/ruby-lex.rb:229:in `each_top_level_statement'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:145:in `eval_input'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:69:in `block in start'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:68:in `catch'
	from /usr/local/lib/ruby1.9.1/1.9.1/irb.rb:68:in `start'
	from /usr/local/bin/irb1.9.1:12:in `<main>'Maybe IRB bug!!

I think #to_a does not hanndle the hidden_obj_p case correctly.


----------------------------------------
http://redmine.ruby-lang.org