[ruby-core:117496] [Ruby master Bug#20423] Anonymous block forwarding shouldn't work with ... but it does

Issue #20423 has been reported by tenderlovemaking (Aaron Patterson). ---------------------------------------- Bug #20423: Anonymous block forwarding shouldn't work with ... but it does https://bugs.ruby-lang.org/issues/20423 * Author: tenderlovemaking (Aaron Patterson) * Status: Open * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- According to [this note](https://bugs.ruby-lang.org/issues/11256#note-16), anonymous block forwarding should only be supported when explicitly used in the method signature. For example: ```ruby def foo(&) = bar(&) # OK def foo = bar(&) # NG ``` However, if you use `...` in the method signature, `&` seems to work: ```ruby def foo(...) # bar(*) # Syntax Error # bar(**) # Syntax Error bar(&) # not a syntax error, but I think it should be end ``` I think this should be a syntax error. -- https://bugs.ruby-lang.org/

Issue #20423 has been updated by nobu (Nobuyoshi Nakada). https://github.com/ruby/ruby/pull/10514 ---------------------------------------- Bug #20423: Anonymous block forwarding shouldn't work with ... but it does https://bugs.ruby-lang.org/issues/20423#change-107889 * Author: tenderlovemaking (Aaron Patterson) * Status: Open * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- According to [this note](https://bugs.ruby-lang.org/issues/11256#note-16), anonymous block forwarding should only be supported when explicitly used in the method signature. For example: ```ruby def foo(&) = bar(&) # OK def foo = bar(&) # NG ``` However, if you use `...` in the method signature, `&` seems to work: ```ruby def foo(...) # bar(*) # Syntax Error # bar(**) # Syntax Error bar(&) # not a syntax error, but I think it should be end ``` I think this should be a syntax error. -- https://bugs.ruby-lang.org/
participants (2)
-
nobu (Nobuyoshi Nakada)
-
tenderlovemaking (Aaron Patterson)