Charles Oliver Nutter created JRUBY-6366:
--------------------------------------------
Summary: More array splatting bugs in 1.9 mode
Key: JRUBY-6366
URL: https://jira.codehaus.org/browse/JRUBY-6366
Project: JRuby
Issue Type: Bug
Components: Compiler, Interpreter
Reporter: Charles Oliver Nutter
Priority: Blocker
This is a regression that breaks rspec's "include" matcher in rspec 2.7.x (but
not in 2.8.x, which may be why we didn't catch it).
A spec that fails now:
{noformat}
describe "Foo" do
it "bar" do
[:foo].should include :foo
end
end
{noformat}
The error:
{noformat}
1) Foo bar
Failure/Error: [:foo].should include :foo
NoMethodError:
undefined method `include?' for :foo:Symbol
# ./include_spec.rb:3:in `(root)'
{noformat}
The reduced case, behaviorally identical to rspec:
{noformat}
system ~/projects/celluloid $ jruby --1.9 -e "def foo(*args, &block);
instance_exec(*args, &block); end; foo([:bar]) {|arg| p arg}"
:bar
system ~/projects/celluloid $ ruby1.9.2 -e "def foo(*args, &block);
instance_exec(*args, &block); end; foo([:bar]) {|arg| p arg}"
[:bar]
{noformat}
A case using yield, which has the same problem:
{noformat}
system ~/projects/celluloid $ jruby --1.9 -e "def foo(*args, &block); yield
*args; end; foo([:bar]) {|arg| p arg}"
:bar
system ~/projects/celluloid $ ruby1.9.2 -e "def foo(*args, &block); yield
*args; end; foo([:bar]) {|arg| p arg}"
[:bar]
{noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email