Actions
Bug #13898
closedBlock parsing regression
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>'
Updated by tt (Troels Thomsen) about 7 years ago
let(:foo) { nil }
and let :foo do nil end
(and let(:foo) do nil end
) works.
Updated by nobu (Nobuyoshi Nakada) about 7 years ago
- Related to Bug #13547: [].delete 1 { 'NG' } added
Updated by nobu (Nobuyoshi Nakada) about 7 years ago
- Status changed from Open to Rejected
Updated by markus_d (Markus Doits) about 7 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.
Updated by nobu (Nobuyoshi Nakada) about 7 years ago
- Has duplicate Bug #13939: Ruby 2.4.2 has issue supporting Seattle.rb style for define_method added
Updated by shyouhei (Shyouhei Urabe) about 7 years ago
- Has duplicate Bug #13976: SyntaxError if curly brace block follows args without parentheses, introduced in 2.4.2 added
Actions
Like0
Like0Like0Like0Like0Like0Like0