pub trait Cast<Dst> {
// Required method
fn cast(self) -> Dst;
}
Expand description
Used to cast values.
It is normally easier to use the Az
trait instead of this trait.
§Panics
When debug assertions are enabled, this trait’s method panics if the
value does not fit in the destination. When debug assertions are not
enabled (usual in release mode), the wrapped value can be returned,
but it is not considered a breaking change if in the future it panics;
if wrapping is required use WrappingCast
instead.
This trait’s method also panics with no debug assertions if the value does not fit and cannot be wrapped, for example when trying to cast floating-point ∞ into an integer type.
§Examples
use az::Cast;
let a: u32 = 5i32.cast();
assert_eq!(a, 5);
assert_eq!(Cast::<u8>::cast(17.1f32), 17);