typenum is a Rust library for type-level numbers evaluated at compile time. It

currently supports bits, unsigned integers, and signed integers.

Typenum lets you do integer arithmetic without size bounds during compilation. This can be used to encode constraints within the type system that are currently not supported (like for example the size of a piece of memory).

The algorithms are fast enough to work on comparatively large numbers (but don’t expect it to run as fast as runtime bounded integer arithmetic) due to clever encoding and careful use of where clauses.

We deem this release fit for public consumption, so if you need some compile time numbers, give typenum a try!