Project

General

Profile

Actions

Bug #12789

closed

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

Added by koic (Koichi ITO) about 8 years ago. Updated almost 8 years ago.

Status:
Closed
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 1 (0 open1 closed)

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

Updated by koic (Koichi ITO) almost 8 years ago

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

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

Updated by nobu (Nobuyoshi Nakada) almost 8 years ago

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

Updated by nobu (Nobuyoshi Nakada) almost 8 years ago

  • Status changed from Open to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0