Project

General

Profile

Actions

Bug #13898

closed

Block parsing regression

Added by tt (Troels Thomsen) over 6 years ago. Updated over 6 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
[ruby-core:82799]

Description

Upgrading to Ruby 2.4.2p198 from Ruby 2.4.1p111 introduces the following regression:

irb(main):001:0> def let(x, &b); end
=> :let
irb(main):002:0> let :foo { nil }
SyntaxError: (irb):2: syntax error, unexpected '{', expecting end-of-input
let :foo { nil }
          ^
        from /home/tt/.rubies/ruby-2.4.2/bin/irb:11:in `<main>'

Related issues 3 (0 open3 closed)

Related to Ruby master - Bug #13547: [].delete 1 { 'NG' }ClosedActions
Has duplicate Ruby master - Bug #13939: Ruby 2.4.2 has issue supporting Seattle.rb style for define_methodRejectednobu (Nobuyoshi Nakada)Actions
Has duplicate Ruby master - Bug #13976: SyntaxError if curly brace block follows args without parentheses, introduced in 2.4.2ClosedActions

Updated by tt (Troels Thomsen) over 6 years ago

let(:foo) { nil } and let :foo do nil end (and let(:foo) do nil end) works.

Actions #2

Updated by nobu (Nobuyoshi Nakada) over 6 years ago

  • Related to Bug #13547: [].delete 1 { 'NG' } added
Actions #3

Updated by nobu (Nobuyoshi Nakada) over 6 years ago

  • Status changed from Open to Rejected

Updated by markus_d (Markus Doits) over 6 years ago

Just got this error too after an update from 2.4.1 to 2.4.2.

Is this really the correct way to break the syntax in minor updates? I mean, going from 2.4 to 2.5 I might expect some syntax changes, but 2.4.1 to 2.4.2 should not break the syntax IMO (even if the behavior was not intended in the first place), even thought ruby does not follow semver.

At least an entry should be added to the changelog and/or caveats section.

Actions #5

Updated by nobu (Nobuyoshi Nakada) over 6 years ago

  • Has duplicate Bug #13939: Ruby 2.4.2 has issue supporting Seattle.rb style for define_method added
Actions #6

Updated by shyouhei (Shyouhei Urabe) over 6 years ago

  • Has duplicate Bug #13976: SyntaxError if curly brace block follows args without parentheses, introduced in 2.4.2 added
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0