[ruby-dev:49862] [Ruby trunk Bug#12789][Closed] syntax error keyword_do_block at ruby 2.4.0dev (2016-09-26 trunk 56254)
From:
nobu@...
Date:
2016-11-07 08:21:12 UTC
List:
ruby-dev #49862
Issue #12789 has been updated by Nobuyoshi Nakada.
Status changed from Open to Closed
----------------------------------------
Bug #12789: syntax error keyword_do_block at ruby 2.4.0dev (2016-09-26 trunk 56254)
https://bugs.ruby-lang.org/issues/12789#change-61383
* Author: Koichi ITO
* Status: Closed
* Priority: Normal
* Assignee:
* ruby -v: ruby 2.4.0dev (2016-09-26 trunk 56254) [x86_64-darwin13]
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
ruby 2.4.0dev (2016-09-26 trunk 56254) にて、ブロック付きの特異メソッド呼び出しの前に、
同名の変数への代入があると syntax error になりました。以下、サンプルコードです。
```
% cat syntax_error.rb
class A
def self.foo(&block)
puts 'hello'
end
foo = nil
foo do
end
end
```
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin13] での実行結果です。
```
% ruby syntax_error.rb
hello
```
ruby 2.4.0dev (2016-09-26 trunk 56254) [x86_64-darwin13] での実行結果です。
```
% ruby syntax_error.rb
syntax_error.rb:8: syntax error, unexpected keyword_do_block, expecting keyword_end
```
こちらの挙動について期待している振る舞いかどうか判断がつかなかったため、レポートとさせてください。
--
https://bugs.ruby-lang.org/