Project

General

Profile

Actions

Bug #15783

closed

引数のデフォルト値にNumbered parameterを書ける、キーワード引数の場合デフォルト値にNumbered parameterを書くとSEGVする

Added by hanachin (Seiei Miyagi) over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.7.0dev (2019-04-10 trunk 67501) [x86_64-linux]
[ruby-core:92369]

Description

キーワード引数のデフォルト値にNumbered parameterを使うとSEGVしました。

再現コードです

->x:@2{}

キーワードじゃない引数でも以下のような感じでNumbered parameterを使えるようです。

->x=@1{}

以下のようにまぜて使った場合はシンタックスエラーになるのに、デフォルト値として書いた場合はシンタックスエラーにならないのはバグだと思います。

% ./ruby -ve '->x{@1}'
ruby 2.7.0dev (2019-04-22 trunk 6fbf4e22c8) [x86_64-linux]
-e:1: ordinary parameter is defined
->x{@1}

引数のデフォルト値でNumbered parameterを使うと、上記のようなSyntax errorにするパッチを書いてGitHubでPull Requestを送りました。
https://github.com/ruby/ruby/pull/2139

Actions #1

Updated by hanachin (Seiei Miyagi) over 2 years ago

  • Status changed from Open to Closed

Applied in changeset commit:ruby-git|ae07b66aaa092c59ac9d544c9b582712290dc357.


Fix internal error of ->x:@2{}

[Fix GH-2139] [Bug #15783]

Actions

Also available in: Atom PDF