Project

General

Profile

Bug #12789

syntax error keyword_do_block at ruby 2.4.0dev (2016-09-26 trunk 56254)

Added by koic (Koichi ITO) almost 3 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.0dev (2016-09-26 trunk 56254) [x86_64-darwin13]
[ruby-dev:<unknown>]

Description

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

こちらの挙動について期待している振る舞いかどうか判断がつかなかったため、レポートとさせてください。


Related issues

Related to Ruby master - Bug #11873: Syntax error and parse problem when calling a method without parenthesesClosedActions

History

Updated by koic (Koichi ITO) over 2 years ago

こちら以下のバージョンでは再現しないため HEAD で一時的に起きていた現象と思われます。よろしければクローズ頂ければと思います。

% ruby -v
ruby 2.4.0dev (2016-11-07 trunk 56657) [x86_64-darwin13]
#2

Updated by nobu (Nobuyoshi Nakada) over 2 years ago

  • Related to Bug #11873: Syntax error and parse problem when calling a method without parentheses added

Updated by nobu (Nobuyoshi Nakada) over 2 years ago

  • Status changed from Open to Closed

Also available in: Atom PDF