Skip to main content

TryCoerce

Trait TryCoerce 

Source
pub trait TryCoerce<R> {
    type Error;

    // Required method
    fn try_coerce(self) -> Result<R, Self::Error>;
}
Expand description

Fallible coercion from Self to type R.

Implement this trait for narrowing conversions that may overflow or lose precision.

Required Associated Types§

Source

type Error

Error returned when coercion fails.

Required Methods§

Source

fn try_coerce(self) -> Result<R, Self::Error>

Attempt to convert self into R.

Implementations on Foreign Types§

Source§

impl TryCoerce<bool> for i32

Source§

impl TryCoerce<f64> for i64

Convert i64 to f64, failing if precision would be lost.

Only succeeds for values in [-2^53, 2^53].

Source§

impl TryCoerce<f64> for isize

Source§

impl TryCoerce<f64> for u64

Convert u64 to f64, failing if precision would be lost.

Only succeeds for values ≤ 2^53.

Source§

impl TryCoerce<f64> for usize

Source§

impl TryCoerce<i8> for f64

Source§

impl TryCoerce<i8> for i16

Source§

impl TryCoerce<i8> for i32

Source§

impl TryCoerce<i8> for i64

Source§

impl TryCoerce<i8> for isize

Source§

impl TryCoerce<i8> for u8

Source§

impl TryCoerce<i8> for u16

Source§

impl TryCoerce<i8> for u32

Source§

impl TryCoerce<i8> for u64

Source§

impl TryCoerce<i8> for usize

Source§

impl TryCoerce<i16> for f64

Source§

impl TryCoerce<i16> for i32

Source§

impl TryCoerce<i16> for i64

Source§

impl TryCoerce<i16> for isize

Source§

impl TryCoerce<i16> for u16

Source§

impl TryCoerce<i16> for u32

Source§

impl TryCoerce<i16> for u64

Source§

impl TryCoerce<i16> for usize

Source§

impl TryCoerce<i32> for f32

Source§

impl TryCoerce<i32> for f64

Source§

impl TryCoerce<i32> for i64

Source§

impl TryCoerce<i32> for isize

Source§

impl TryCoerce<i32> for u32

Source§

impl TryCoerce<i32> for u64

Source§

impl TryCoerce<i32> for usize

Source§

impl TryCoerce<i64> for f64

Convert f64 to i64, validating exact representation.

Source§

impl TryCoerce<isize> for f64

Source§

impl TryCoerce<u8> for f32

Source§

impl TryCoerce<u8> for f64

Source§

impl TryCoerce<u8> for i8

Source§

impl TryCoerce<u8> for i16

Source§

impl TryCoerce<u8> for i32

Source§

impl TryCoerce<u8> for i64

Source§

impl TryCoerce<u8> for isize

Source§

impl TryCoerce<u8> for u16

Source§

impl TryCoerce<u8> for u32

Source§

impl TryCoerce<u8> for u64

Source§

impl TryCoerce<u8> for usize

Source§

impl TryCoerce<u16> for f64

Source§

impl TryCoerce<u16> for i8

Source§

impl TryCoerce<u16> for i16

Source§

impl TryCoerce<u16> for i32

Source§

impl TryCoerce<u16> for i64

Source§

impl TryCoerce<u16> for isize

Source§

impl TryCoerce<u16> for u32

Source§

impl TryCoerce<u16> for u64

Source§

impl TryCoerce<u16> for usize

Source§

impl TryCoerce<u32> for f64

Source§

impl TryCoerce<u32> for i32

i32 -> u32: can fail if negative

Source§

impl TryCoerce<u64> for f64

Source§

impl TryCoerce<u64> for i32

i32 -> u64: can fail if negative

Source§

impl TryCoerce<usize> for f64

Source§

impl TryCoerce<usize> for i32

i32 -> usize: can fail if negative

Source§

impl TryCoerce<NonZero<i8>> for i8

Source§

impl TryCoerce<NonZero<i8>> for i32

i32 -> NonZeroI8: narrow then check zero

Source§

impl TryCoerce<NonZero<i16>> for i16

Source§

impl TryCoerce<NonZero<i16>> for i32

i32 -> NonZeroI16: narrow then check zero

Source§

impl TryCoerce<NonZero<i32>> for i32

Source§

impl TryCoerce<NonZero<i64>> for i32

i32 -> NonZeroI64: widen then check zero

Source§

impl TryCoerce<NonZero<i64>> for i64

Source§

impl TryCoerce<NonZero<isize>> for i32

i32 -> NonZeroIsize: widen then check zero

Source§

impl TryCoerce<NonZero<isize>> for isize

Source§

impl TryCoerce<NonZero<u8>> for i32

i32 -> NonZeroU8: check non-negative, narrow, then check zero

Source§

impl TryCoerce<NonZero<u8>> for u8

Source§

impl TryCoerce<NonZero<u16>> for i32

i32 -> NonZeroU16: check non-negative, narrow, then check zero

Source§

impl TryCoerce<NonZero<u16>> for u16

Source§

impl TryCoerce<NonZero<u32>> for i32

i32 -> NonZeroU32: check non-negative and non-zero

Source§

impl TryCoerce<NonZero<u32>> for u32

Source§

impl TryCoerce<NonZero<u64>> for i32

i32 -> NonZeroU64: check non-negative and non-zero

Source§

impl TryCoerce<NonZero<u64>> for u64

Source§

impl TryCoerce<NonZero<usize>> for i32

i32 -> NonZeroUsize: check non-negative and non-zero

Source§

impl TryCoerce<NonZero<usize>> for usize

Implementors§