Crate explicit_cast

Source
Expand description

A crate that provides a simple interface to primitive ints to allow explicit widening, truncating, and sign casting.

To get started, import the prelude:

use explicit_cast::prelude::*;

assert_eq!(5u8.widen::<u16>().sign_cast().widen::<i32>().truncate::<i8>(), 5i8);

§Stability

This crate is 1.0 as in being stable and or finished, as there is no other functionality to be had than allowing explicit casting of integers. As such, a prelude has been included that imports Widen, Truncate, and SignCast for you. No new methods will be added to these traits, and no new traits will be added to the prelude, without a 2.0 release, that theoretically should never happen.

Documentation updates may be published under a 1.0.X patch release, but no new functionality is planned.

Modules§

prelude
The prelude to this crate, includes SignCast, Truncate, and Widen imported for you

Traits§

SignCast
Trait to sign cast an integer to/from signed/unsigned
Truncate
Trait to truncate an integer from a larger size.
TruncateFrom
The inner trait of Truncate that allows it to have a generic function signature.
Widen
Trait to widen an integer from a smaller size, either zero extending or sign extending depending on whether the integer is signed.
WidenFrom
The inner trait of Widen that allows it to have a generic function signature.