😸

[bugs.ruby][Bug #20324] 終端無限のオブジェクトで #overlap? を呼び出した時のバグ報告

2024/03/13に公開

[Bug #20324] (1..).overlap?('foo'..) returns true

  • (1..).overlap?('foo'..)true を返すというバグ報告
  • Ruby 3.3.0 時点だと (a..).overlap?(b..) または (..a).overlap?(..b) のときに ab がなんなのか関わらず常に true を返す挙動になっているらしい
  • 開発版の Ruby 3.4 はこれが比較可能な時のみ true を返すように修正済み
pp (1..).overlap?('foo'..)
# Ruby 3.3.0 => true
# Ruby 3.4   => false
GitHubで編集を提案

Discussion