This project follows semantic versioning.
The MSRV (Minimum Supported Rust Version) is 1.22.0, and typenum is tested against this Rust version. Much of typenum should work on as low a version as 1.20.0, but that is not guaranteed.
- [fixed] Cross compilation from Linux to Windows.
- [fixed] Builds on earlier Rust builds again and added Rust 1.22.0 to Travis to prevent future breakage.
- [added] Integer
log2
to theop!
macro. - [added] Integer binary logarithm operator
Logarithm2
with aliasLog2
. - [changed] Removed
feature(i128_type)
when running with thei128
feature. Kept the feature flag. for typenum to maintain compatibility with old Rust versions. - [added] Integer
sqrt
to theop!
macro. - [added] Integer square root operator
SquareRoot
with aliasSqrt
. - [fixed] Bug with attempting to create U1024 type alias twice.
- [added] The
PowerOfTwo
marker trait. - [added] Associated constants for
Bit
,Unsigned
, andInteger
.
- [added] The
Abs
type operater and correspondingAbsVal
alias. - [added] The feature
i128
that enables creating 128-bit integers from typenums. - [added] The
assert_type!
andassert_type_eq!
macros. - [added] Operators to the
op!
macro, including those performed bycmp!
. - [fixed] Bug in
op!
macro involving functions and convoluted expressions. - [deprecated] The
cmp!
macro.
- [added] The
op!
macro for conveniently performing type-level operations. - [added] The
cmp!
macro for conveniently performing type-level comparisons. - [added] Some comparison type-operators that are used by the
cmp!
macro.
- [added] Type operators
Min
andMax
with accompanying aliasesMinimum
andMaximum
- [fixed] Bug in
Array
division. - [fixed] Bug where
Rem
would sometimes exit early with the wrong answer. - [added]
PartialDiv
operator that performs division as a partial function -- it's defined only when there is no remainder.
- [fixed] Bug between
Div
implementation and type system.
- [fixed] Expanded implementation of
Pow
for primitives.
- [added] Functions to the
Pow
andLen
traits. This is technically a breaking change, but it would only break someone's code if they have a custom impl forPow
. I would be very surprised if that is anyone other than me.
- [added] Type-level arrays of type-level integers. (PR #66)
- [added] The types in this crate are now instantiable. (Issue #67, PR #68)
- [fixed] Bug with recent nightlies.
- [changed] Removed dependency on libstd. (Issue #53, PR #55)
- [changed] Reorganized module structure. (PR #57)
- [added] This change log!
- [added] Convenience type aliases for operators. (Issue #48, PR #50)
- [added] Types in this crate now derive all possible traits. (Issue #42, PR #51)