Issue #14845 has been updated by mame (Yusuke Endoh).

Status changed from Closed to Assigned
Assignee set to matz (Yukihiro Matsumoto)

https://twitter.com/yukihiro_matz/status/1006737384820445184
> いやあ、エラーではねた方がいいんじゃないですかね。

ていうのがあったので、とりあえず r63646 で `(1..nil)` を禁止しました。ただし `Range.new(1, nil)` は許しています(そうしないと Range のサブクラスを endless にする手段がないので)。

個人的には、DSL が終了してしまったのと、無駄に複雑になった気がして、あんまり好きじゃないです。次の開発者会議で相談させてください。

----------------------------------------
Bug #14845: Endless Range with nil
https://bugs.ruby-lang.org/issues/14845#change-72480

* Author: igaiga (Kuniaki IGARASHI)
* Status: Assigned
* Priority: Normal
* Assignee: matz (Yukihiro Matsumoto)
* Target version: 
* ruby -v: 2.6.0preview2
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
endless Rangeで次のケースで困ることがあります。

- 1..nilはendless Rangeになる
- endless Rangeはto_aすると返ってこなくなる
- 1..変数 のケースで意図せずendless Rangeになる可能性があり、そのときto_aすると返ってこなくなる

Ruby 2.5.1 では 1..nil はArgumentError (bad value for range) になります。

たとえば、 1..nil がendless Rangeではなくエラーになればこの問題は解決します。

### Info
- An endless range `(1..)` : https://bugs.ruby-lang.org/issues/12912
- twitter での話 : https://twitter.com/igaiga555/status/1006715631796813824



-- 
https://bugs.ruby-lang.org/