depend on typenum 1.14, remove direct 'static constraint from LeEqU*

This commit is contained in:
Trevor Spiteri 2021-09-03 17:47:08 +02:00
parent 3e8681b41d
commit 6f0b2be3c5
4 changed files with 49 additions and 11 deletions

View File

@ -37,7 +37,7 @@ f16 = []
az_crate = { version = "1.1", package = "az" }
bytemuck = "1.2"
half = "1.6"
typenum = "1.10"
typenum = "1.14"
[dependencies.arbitrary]
version = "1"

View File

@ -95,6 +95,24 @@ The conversions supported cover the following cases.
## Whats new
### Version 1.11.0 news (unreleased)
* The [*typenum* crate] dependency was updated to [version
1.14][typenum-1-14].
* The [`LeEqU8`][leu8-1-11], [`LeEqU16`][leu16-1-11], [`LeEqU32`][leu32-1-11],
[`LeEqU64`][leu64-1-11] and [`LeEqU128`][leu128-1-11] traits no longer have
a direct `'static` constraint, as it is a constraint of their supertrait
[`Unsigned`][uns-1-11] since typenum [version 1.14][typenum-1-14]. This
fixes a potential compatibility issue introduced in version 1.9.0.
[leu128-1-11]: https://tspiteri.gitlab.io/fixed/dev/fixed/types/extra/trait.LeEqU128.html
[leu16-1-11]: https://tspiteri.gitlab.io/fixed/dev/fixed/types/extra/trait.LeEqU16.html
[leu32-1-11]: https://tspiteri.gitlab.io/fixed/dev/fixed/types/extra/trait.LeEqU32.html
[leu64-1-11]: https://tspiteri.gitlab.io/fixed/dev/fixed/types/extra/trait.LeEqU64.html
[leu8-1-11]: https://tspiteri.gitlab.io/fixed/dev/fixed/types/extra/trait.LeEqU8.html
[typenum-1-14]: https://docs.rs/typenum/~1.14/typenum/index.html
[uns-1-11]: https://tspiteri.gitlab.io/fixed/dev/fixed/types/extra/trait.Unsigned.html
### Version 1.10.0 news (2021-08-23)
* The crate now requires rustc version 1.53.0 or later.

View File

@ -5,6 +5,25 @@ modification, are permitted in any medium without royalty provided the
copyright notice and this notice are preserved. This file is offered
as-is, without any warranty. -->
Version 1.11.0 (unreleased)
===========================
* The [*typenum* crate] dependency was updated to [version
1.14][typenum-1-14].
* The [`LeEqU8`][leu8-1-11], [`LeEqU16`][leu16-1-11], [`LeEqU32`][leu32-1-11],
[`LeEqU64`][leu64-1-11] and [`LeEqU128`][leu128-1-11] traits no longer have
a direct `'static` constraint, as it is a constraint of their supertrait
[`Unsigned`][uns-1-11] since typenum [version 1.14][typenum-1-14]. This
fixes a potential compatibility issue introduced in version 1.9.0.
[leu128-1-11]: https://tspiteri.gitlab.io/fixed/dev/fixed/types/extra/trait.LeEqU128.html
[leu16-1-11]: https://tspiteri.gitlab.io/fixed/dev/fixed/types/extra/trait.LeEqU16.html
[leu32-1-11]: https://tspiteri.gitlab.io/fixed/dev/fixed/types/extra/trait.LeEqU32.html
[leu64-1-11]: https://tspiteri.gitlab.io/fixed/dev/fixed/types/extra/trait.LeEqU64.html
[leu8-1-11]: https://tspiteri.gitlab.io/fixed/dev/fixed/types/extra/trait.LeEqU8.html
[typenum-1-14]: https://docs.rs/typenum/~1.14/typenum/index.html
[uns-1-11]: https://tspiteri.gitlab.io/fixed/dev/fixed/types/extra/trait.Unsigned.html
Version 1.10.0 (2021-08-23)
===========================
@ -745,6 +764,7 @@ Version 0.1.0 (2018-08-10)
[*arbitrary* crate]: https://crates.io/crates/arbitrary
[*az* crate]: https://crates.io/crates/az
[*bytemuck* crate]: https://crates.io/crates/bytemuck
[*typenum* crate]: https://crates.io/crates/typenum
[`Debug`]: https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html
[`DivAssign`]: https://doc.rust-lang.org/nightly/core/ops/trait.DivAssign.html
[`Div`]: https://doc.rust-lang.org/nightly/core/ops/trait.Div.html

View File

@ -34,17 +34,17 @@ pub use typenum::{
};
/// Implemented for all [`Unsigned`] integers ≤ 8.
pub trait LeEqU8: 'static + Unsigned + IsLessOrEqual<U8, Output = True> {}
impl<T: 'static + Unsigned + IsLessOrEqual<U8, Output = True>> LeEqU8 for T {}
pub trait LeEqU8: Unsigned + IsLessOrEqual<U8, Output = True> {}
impl<T: Unsigned + IsLessOrEqual<U8, Output = True>> LeEqU8 for T {}
/// Implemented for all [`Unsigned`] integers ≤ 16.
pub trait LeEqU16: 'static + Unsigned + IsLessOrEqual<U16, Output = True> {}
impl<T: 'static + Unsigned + IsLessOrEqual<U16, Output = True>> LeEqU16 for T {}
pub trait LeEqU16: Unsigned + IsLessOrEqual<U16, Output = True> {}
impl<T: Unsigned + IsLessOrEqual<U16, Output = True>> LeEqU16 for T {}
/// Implemented for all [`Unsigned`] integers ≤ 32.
pub trait LeEqU32: 'static + Unsigned + IsLessOrEqual<U32, Output = True> {}
impl<T: 'static + Unsigned + IsLessOrEqual<U32, Output = True>> LeEqU32 for T {}
pub trait LeEqU32: Unsigned + IsLessOrEqual<U32, Output = True> {}
impl<T: Unsigned + IsLessOrEqual<U32, Output = True>> LeEqU32 for T {}
/// Implemented for all [`Unsigned`] integers ≤ 64.
pub trait LeEqU64: 'static + Unsigned + IsLessOrEqual<U64, Output = True> {}
impl<T: 'static + Unsigned + IsLessOrEqual<U64, Output = True>> LeEqU64 for T {}
pub trait LeEqU64: Unsigned + IsLessOrEqual<U64, Output = True> {}
impl<T: Unsigned + IsLessOrEqual<U64, Output = True>> LeEqU64 for T {}
/// Implemented for all [`Unsigned`] integers ≤ 128.
pub trait LeEqU128: 'static + Unsigned + IsLessOrEqual<U128, Output = True> {}
impl<T: 'static + Unsigned + IsLessOrEqual<U128, Output = True>> LeEqU128 for T {}
pub trait LeEqU128: Unsigned + IsLessOrEqual<U128, Output = True> {}
impl<T: Unsigned + IsLessOrEqual<U128, Output = True>> LeEqU128 for T {}