You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Defects in the numeric value objects of 0.28.1 (each one reproduced). Fixed by the new numeric.py family; every item gets a regression test and is ticked when the fix lands.
C09Int.from_str parses through float and silently changes integers above 2**53 ('9007199254740993' → 9007199254740992). (750b31a)
C10Int.from_str accepts non-integer strings that round to an integer ('0.99999999999999999' → 1). (750b31a)
C11Int.from_str rejects valid large integer strings that the Int constructor accepts ('1' * 400). (750b31a)
C12Int.from_str has no input type check: it accepts bool, bytes, int, float, Decimal and IntEnum. (750b31a)
C13Int.from_str / Int.from_float swallow subclass validation errors and replace them with misleading messages. (750b31a)
C16 Bounded int constructors and Int.from_float(inf/nan) report misleading error messages. (cd2c88e)
X03Float.from_int silently rounds integers that are not exactly representable (2**53 + 1). (8953619)
X04Int accepts integers whose str_value() then crashes with a plain ValueError (int max-str-digits limit). (7a8a34a)
C14/C46/C54 ~20 tests named *from_str*_with_decimals call from_float with a string, and the zero tests pass an int to from_str: Int.from_str decimal handling is untested. (750b31a)
Activity
Add Numeric and the Int family with its four sign variants. #41
Add Int.from_str on the exact ASCII integer grammar. #41
Reject an Int with more digits than the interpreter can print. #41
Add the Float family with its four sign variants. #41
Refuse an int that no float holds exactly in Float. #41
otsobide commentedon Oct 26, 2026
All items fixed on v1-redesign: cd2c88e, 750b31a, 7a8a34a, 1031aaa, 8953619.