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


Reply via email to