Skip to content

v3.0.0

Choose a tag to compare

@github-actions github-actions released this 04 Jun 17:38
· 6 commits to main since this release

🚀 Features

  • [breaking] Minimal supported rust compiler now 1.86.0

  • [breaking] Remove ascii_to_digit

  • [breaking] Remove trait MaxNumDigits

  • [breaking] Remove enumeration Sign

    It is now an implementation detail of integer

🚜 Refactor

  • [breaking] FromRadix10 and its sibling traits used to be implement for any type with a neutral element of addition Zero, its successor One, AddAssign and MulAssign. This allowed it to work not only for builtin types like i32, but also for big integer implementations from other crates. However, it made it also hard to optimize for builtin types. FromRadix10 and its sibling traits FromRadix10Signed, FromRadixSignedChecked, FromRadix16 are now explicitly implemented for builtin types. The generic implementation can still be used by wrapping the type in the new Integer wrapper.

⚡ 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 Sign from public interface