usize_cast

Very simply library that allow compile time checked cast from and to usize/isize.

On 64 bits platform it allows:

On 32 bits platform it allows:

On 16 bits platform it allows:

Installation

toml [dependencies] usize_cast = "1.0.0"

Usage

```rust use usize_cast::{IntoUsize, FromUsize, IntoIsize, FromIsize};

asserteq!(1u64.intousize(), 1usize); asserteq!(2i64.intoisize(), 2isize); asserteq!(3i64.intoisize(), 3isize); asserteq!(1u32.intousize(), 1usize); asserteq!(2i32.intoisize(), 2isize); asserteq!(3i32.intoisize(), 3isize); asserteq!(u64::maxvalue().intousize(), usize::maxvalue()); asserteq!(i64::maxvalue().intoisize(), isize::maxvalue()); asserteq!(i64::minvalue().intoisize(), isize::minvalue());

asserteq!(1u64, u64::fromusize(1usize)); asserteq!(2i64, i64::fromisize(2isize)); asserteq!(3i64, i64::fromisize(3isize)); asserteq!(1u128, u128::fromusize(1usize)); asserteq!(2i128, i128::fromisize(2isize)); asserteq!(3i128, i128::fromisize(3isize)); asserteq!(u64::maxvalue(), u64::fromusize(usize::maxvalue())); asserteq!(i64::maxvalue(), i64::fromisize(isize::maxvalue())); asserteq!(i64::minvalue(), i64::fromisize(isize::minvalue())); ```