lib/bigdecimal: errors in comparisons [patch]
$ ruby -r bigdecimal -e 'p BigDecimal.new("1") < nil'
expected: an error like with any other mathematical type:
-e:1:in `<': comparison of BigDecimal with nil failed (ArgumentError)
$ ruby -r bigdecimal -e 'p BigDecimal.new("1") == nil'
expected: false like with any other Ruby object
$ ruby -r bigdecimal -e 'p BigDecimal.new("NaN") < 1'
expected: false, like with any other mathematical comparison
I'll commit the attached patch in a few days (for 1.8 & 1.9) unless there are arguments against it.
Updated by marcandre (Marc-Andre Lafortune) over 10 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r25765.
Marc-Andre, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
Updated by shyouhei (Shyouhei Urabe) over 10 years ago
- Assignee changed from shyouhei (Shyouhei Urabe) to wyhaines (Kirk Haines)
Well, a litte inspection shows me that
- 1.9.2dev, 1.8.8dev, and 1.8.7 behave in the same way (as marcandre expected)
- 1.9.1, and 1.8.6 behave as described in the original post
So I suspect 1.9.1 and 1.8.6 are buggy here, both should backport this.