Project

General

Profile

Actions

Bug #21927

open

Prism: misleading error message for forwarding in lambda argument

Bug #21927: Prism: misleading error message for forwarding in lambda argument

Added by nobu (Nobuyoshi Nakada) about 9 hours ago. Updated about 1 hour ago.

Status:
Open
Assignee:
Target version:
-
[ruby-core:124888]

Description

Even in a forwarding method:

$ ruby --parser=prism -e 'def m(...) ->(...){}; end'
-e: -e:1: syntax error found (SyntaxError)
> 1 | def m(...) ->(...){}; end
    |               ^~~ unexpected ... when the parent method is not forwarding

This message is proper for method arguments:

$ ruby --parser=prism -e 'def m() p(...); end'
-e: -e:1: syntax error found (SyntaxError)
> 1 | def m() p(...); end
    |           ^~~ unexpected ... when the parent method is not forwarding

The message from parse.y is different; "unexpected ... in lambda argument":

$ ruby --parser=parse.y -e 'def m(...) ->(...){}; end'
-e:1: unexpected ... in lambda argument
def m(...) ->(...){}; end
ruby: compile error (SyntaxError)
Actions

Also available in: PDF Atom