[ruby-trunk - Bug #10393] [Rejected] String#start_with?の1.9.x非互換バグ

Issue #10393 has been updated by Yukihiro M…

Status changed from Open to Rejected

start_with? に nil
が渡されるのはバグの可能性が高く、それが検出できないのは問題の発覚を引き延ばしているだけのように思います。2.0とメジャーバージョンアップがあったので、バグの発見を遅らせる軽微な互換性は維持する必要はないのではないでしょうか。

これが私(たち)の見落としで、正当にnilをfalseとすべき理由が(互換性以外に)あるのでしたら、reopenしてください。

まつもと ゆきひろ /:|)


Bug #10393: String#start_with?の1.9.x非互換バグ
https://bugs.ruby-lang.org/issues/10393#change-49504

  • Author: Hideyuki Matsuyama
  • Status: Rejected
  • Priority: Normal
  • Assignee:
  • Category:
  • Target version:
  • ruby -v: ruby 2.1.3p242 (2014-09-19 revision 47630)
    [x86_64-darwin13.0]
  • Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN

$ ruby -v
ruby 1.9.3p547 (2014-05-14 revision 45962) [x86_64-darwin13.4.0]
$ irb
> 'foo'.start_with? nil
 => false
$ ruby -v
ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin13.0]
$ irb
> 'foo'.start_with? nil
TypeError: no implicit conversion of nil into String

バージョン1.9系との互換性を保つため、結果がfalseになることを期待します。