v3.0.0
🚀 Features
-
[breaking] Minimal supported rust compiler now 1.86.0
-
[breaking] Remove ascii_to_digit
-
[breaking] Remove trait MaxNumDigits
-
[breaking] Remove enumeration
SignIt is now an implementation detail of integer
🚜 Refactor
- [breaking]
FromRadix10and its sibling traits used to be implement for any type with a neutral element of additionZero, its successorOne,AddAssignandMulAssign. This allowed it to work not only for builtin types likei32, but also for big integer implementations from other crates. However, it made it also hard to optimize for builtin types.FromRadix10and its sibling traitsFromRadix10Signed,FromRadixSignedChecked,FromRadix16are now explicitly implemented for builtin types. The generic implementation can still be used by wrapping the type in the newIntegerwrapper.
⚡ Performance
-
Inline from_radix_* functions for builtin types
Since these are no longer generic, we do not get the inlining for free.
Benchmarks show significant regressions otherwise -
Speed up hexdigit parsing by using masks to unify ascii cases
Thanks to okaneco for the idea
⚙️ Miscellaneous Tasks
- [breaking] Minimal toolchain is now 1.86.0
- [breaking] Remove
Signfrom public interface