From: shannonskipper@... Date: 2018-03-08T06:39:16+00:00 Subject: [ruby-core:86013] [Ruby trunk Bug#14588] math library functions should NOT raise exceptions Issue #14588 has been updated by shan (Shannon Skipper). Kernel methods like `Float()`, `Integer()`, and `BigDecimal()` are all explicitly for the purpose of ensure strict conformance with numeric representation. Each of these Kernel methods raise a `TypeError` when the argument does not strictly conform. That's how they work. That's how they're meant to work. If you're using them when you don't want strict conformance, you're doing it wrong. As pointed out in the Github issue, the proper method to use for your purpose is `#to_d`. ---------------------------------------- Bug #14588: math library functions should NOT raise exceptions https://bugs.ruby-lang.org/issues/14588#change-70875 * Author: Anon92929 (Anon Ymous) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- BigDecimal, Integer, Float, none of these should raise exceptions, but they should all fail SILENTLY or return NaN during error cases. I shouldn't have to go fix every possible way that BigDecimal might throw a breaking change in a thousand places in my codebase. I need math libraries that DON'T BREAK!!! BUG RESUBMITTED. The bug was rejected at github because I was referred to open a ticket at ruby-lang.org. The bug was rejectet at ruby-lang.org because the ticket was closed at github. Not cool, guys. -- https://bugs.ruby-lang.org/ Unsubscribe: