Project

General

Profile

Bug #12961

Bad value for range using infinity for Date or Time

Added by loudandwicked (Damjan Cilenšek) almost 3 years ago. Updated 29 days ago.

Status:
Assigned
Priority:
Normal
Target version:
-
ruby -v:
ruby 2.3.2p217 (2016-11-15 revision 56796) [x86_64-darwin16]
[ruby-core:78220]

Description

How to reproduce:

-Float::INFINITY...Float::INFINITY # works
Date.today...Float::INFINITY # works
-Float::INFINITY...Date.today # fails with "ArgumentError: bad value for range"
Time.now...Float::INFINITY #fails with "ArgumentError: bad value for range"
-Float::INFINITY...Time.now #fails with "ArgumentError: bad value for range"

There's one similar bug report for 1.9.3, obviously still not resolved

History

Updated by shyouhei (Shyouhei Urabe) almost 3 years ago

  • Status changed from Open to Assigned

Matz, please decide how it should work.

Updated by znz (Kazuhiro NISHIYAMA) 4 months ago

  • Assignee set to matz (Yukihiro Matsumoto)

Ruby 2.6 supports endless range, and ruby 2.7 will support beginless range.

Updated by matz (Yukihiro Matsumoto) about 2 months ago

Since both Time and Date work with float numbers at the other ends of the ranges, it should accept Float::INFINITY as well.

Matz.

Updated by naruse (Yui NARUSE) about 2 months ago

matz (Yukihiro Matsumoto) wrote:

Since both Time and Date work with float numbers at the other ends of the ranges, it should accept Float::INFINITY as well.

Matz.

It looks only Date supports float number.

Updated by matz (Yukihiro Matsumoto) about 2 months ago

So we only need to fix Date class. I don't think we should enhance Time ranges to support Integer/Float.

Matz.

Updated by jeremyevans0 (Jeremy Evans) 29 days ago

I've submitted a pull request to allow -Float::Infinity...Date.today: https://github.com/ruby/date/pull/13

Also available in: Atom PDF