Visitar URL original
Ruby 2.0 parser fails to parse lambda arrow syntax with space · Issue #36 · jruby/jruby-parser · GitHub
Skip to content

Ruby 2.0 parser fails to parse lambda arrow syntax with space #36

Description

@codelion

It seems like there is an inconsistency introduced in ruby 2.0 regarding the use of lambda syntax. The issue is detailed here

In ruby 2.0 the following is valid (notice the space between -> and (message))

hello_world = -> (message) { puts message }

However in ruby 1.9 it gives an error.

The issue is that in jruby-parser this doesn't parse even with CompatVersion set to 2.0. And in the older versions it won't parse, so the files using this cannot be handled with the jruby-parser.

Removing the space between the arrow and the parentheses would allow jruby-parser to parse these files. But there are uses of this syntax (with spaces) in the wild already, e.g. in slop gem. So, there are many files using this syntax that cannot be handled with jruby-parser.

Activity

  1. changed the title [-]Ruby 2.0 parser fails to parse lambda rocket syntax with space[/-] [+]Ruby 2.0 parser fails to parse lambda arrow syntax with space[/+] on Apr 22, 2015
  2. codelion commented on May 16, 2015

    @codelion
    Author

    Hi, just posting on this thread again to try and resurface this and other recent issues I posted about.

  3. JackWCollins commented on Jul 2, 2015

    @JackWCollins

    I am running into this issue too.

  4. Sinjo commented on Nov 5, 2015

    @Sinjo

    Ran across this issue by chance and remembered the problem. This was actually fixed in JRuby before the JRuby 9000 effort started. I suspect you could apply the patch to this bit of code and you'd be done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions