Trait OneWay

Source
pub trait OneWay {
    type Source;
    type Dest;

    // Required method
    fn one_way(src: Self::Source) -> Result<Self::Dest>;
}
Expand description

A trait for 1-way conversions between numeric types that may fail.

Provides basically the same functionality as std::convert::TryFrom from std, but a new trait was needed in order to implement it for conversions such as f64 to u32, or num_complex::Complex32 to f32.

See also the conv crate, which was also considered but cannot be used here because it is not compatible with num_complex::Complex32.

Required Associated Types§

Source

type Source

The type being converted from.

Source

type Dest

The type being converted to.

Required Methods§

Source

fn one_way(src: Self::Source) -> Result<Self::Dest>

Conversion from Source to Dest that may fail.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl OneWay for DefConv<f32, f64>

Source§

impl OneWay for DefConv<f32, i8>

Source§

impl OneWay for DefConv<f32, i16>

Source§

impl OneWay for DefConv<f32, i32>

Source§

impl OneWay for DefConv<f32, i64>

Source§

impl OneWay for DefConv<f32, i128>

Source§

impl OneWay for DefConv<f32, u8>

Source§

impl OneWay for DefConv<f32, u16>

Source§

impl OneWay for DefConv<f32, u32>

Source§

impl OneWay for DefConv<f32, u64>

Source§

impl OneWay for DefConv<f32, u128>

Source§

impl OneWay for DefConv<f32, Complex<f32>>

Source§

impl OneWay for DefConv<f32, Complex<f64>>

Source§

impl OneWay for DefConv<f64, f32>

Source§

impl OneWay for DefConv<f64, i8>

Source§

impl OneWay for DefConv<f64, i16>

Source§

impl OneWay for DefConv<f64, i32>

Source§

impl OneWay for DefConv<f64, i64>

Source§

impl OneWay for DefConv<f64, i128>

Source§

impl OneWay for DefConv<f64, u8>

Source§

impl OneWay for DefConv<f64, u16>

Source§

impl OneWay for DefConv<f64, u32>

Source§

impl OneWay for DefConv<f64, u64>

Source§

impl OneWay for DefConv<f64, u128>

Source§

impl OneWay for DefConv<f64, Complex<f32>>

Source§

impl OneWay for DefConv<f64, Complex<f64>>

Source§

impl OneWay for DefConv<i8, f32>

Source§

impl OneWay for DefConv<i8, f64>

Source§

impl OneWay for DefConv<i8, i16>

Source§

impl OneWay for DefConv<i8, i32>

Source§

impl OneWay for DefConv<i8, i64>

Source§

impl OneWay for DefConv<i8, i128>

Source§

impl OneWay for DefConv<i8, u8>

Source§

impl OneWay for DefConv<i8, u16>

Source§

impl OneWay for DefConv<i8, u32>

Source§

impl OneWay for DefConv<i8, u64>

Source§

impl OneWay for DefConv<i8, u128>

Source§

impl OneWay for DefConv<i8, Complex<f32>>

Source§

impl OneWay for DefConv<i8, Complex<f64>>

Source§

impl OneWay for DefConv<i16, f32>

Source§

impl OneWay for DefConv<i16, f64>

Source§

impl OneWay for DefConv<i16, i8>

Source§

impl OneWay for DefConv<i16, i32>

Source§

impl OneWay for DefConv<i16, i64>

Source§

impl OneWay for DefConv<i16, i128>

Source§

impl OneWay for DefConv<i16, u8>

Source§

impl OneWay for DefConv<i16, u16>

Source§

impl OneWay for DefConv<i16, u32>

Source§

impl OneWay for DefConv<i16, u64>

Source§

impl OneWay for DefConv<i16, u128>

Source§

impl OneWay for DefConv<i16, Complex<f32>>

Source§

impl OneWay for DefConv<i16, Complex<f64>>

Source§

impl OneWay for DefConv<i32, f32>

Source§

impl OneWay for DefConv<i32, f64>

Source§

impl OneWay for DefConv<i32, i8>

Source§

impl OneWay for DefConv<i32, i16>

Source§

impl OneWay for DefConv<i32, i64>

Source§

impl OneWay for DefConv<i32, i128>

Source§

impl OneWay for DefConv<i32, u8>

Source§

impl OneWay for DefConv<i32, u16>

Source§

impl OneWay for DefConv<i32, u32>

Source§

impl OneWay for DefConv<i32, u64>

Source§

impl OneWay for DefConv<i32, u128>

Source§

impl OneWay for DefConv<i32, Complex<f32>>

Source§

impl OneWay for DefConv<i32, Complex<f64>>

Source§

impl OneWay for DefConv<i64, f32>

Source§

impl OneWay for DefConv<i64, f64>

Source§

impl OneWay for DefConv<i64, i8>

Source§

impl OneWay for DefConv<i64, i16>

Source§

impl OneWay for DefConv<i64, i32>

Source§

impl OneWay for DefConv<i64, i128>

Source§

impl OneWay for DefConv<i64, u8>

Source§

impl OneWay for DefConv<i64, u16>

Source§

impl OneWay for DefConv<i64, u32>

Source§

impl OneWay for DefConv<i64, u64>

Source§

impl OneWay for DefConv<i64, u128>

Source§

impl OneWay for DefConv<i64, Complex<f32>>

Source§

impl OneWay for DefConv<i64, Complex<f64>>

Source§

impl OneWay for DefConv<i128, f32>

Source§

impl OneWay for DefConv<i128, f64>

Source§

impl OneWay for DefConv<i128, i8>

Source§

impl OneWay for DefConv<i128, i16>

Source§

impl OneWay for DefConv<i128, i32>

Source§

impl OneWay for DefConv<i128, i64>

Source§

impl OneWay for DefConv<i128, u8>

Source§

impl OneWay for DefConv<i128, u16>

Source§

impl OneWay for DefConv<i128, u32>

Source§

impl OneWay for DefConv<i128, u64>

Source§

impl OneWay for DefConv<i128, u128>

Source§

impl OneWay for DefConv<i128, Complex<f32>>

Source§

impl OneWay for DefConv<i128, Complex<f64>>

Source§

impl OneWay for DefConv<u8, f32>

Source§

impl OneWay for DefConv<u8, f64>

Source§

impl OneWay for DefConv<u8, i8>

Source§

impl OneWay for DefConv<u8, i16>

Source§

impl OneWay for DefConv<u8, i32>

Source§

impl OneWay for DefConv<u8, i64>

Source§

impl OneWay for DefConv<u8, i128>

Source§

impl OneWay for DefConv<u8, u16>

Source§

impl OneWay for DefConv<u8, u32>

Source§

impl OneWay for DefConv<u8, u64>

Source§

impl OneWay for DefConv<u8, u128>

Source§

impl OneWay for DefConv<u8, Complex<f32>>

Source§

impl OneWay for DefConv<u8, Complex<f64>>

Source§

impl OneWay for DefConv<u16, f32>

Source§

impl OneWay for DefConv<u16, f64>

Source§

impl OneWay for DefConv<u16, i8>

Source§

impl OneWay for DefConv<u16, i16>

Source§

impl OneWay for DefConv<u16, i32>

Source§

impl OneWay for DefConv<u16, i64>

Source§

impl OneWay for DefConv<u16, i128>

Source§

impl OneWay for DefConv<u16, u8>

Source§

impl OneWay for DefConv<u16, u32>

Source§

impl OneWay for DefConv<u16, u64>

Source§

impl OneWay for DefConv<u16, u128>

Source§

impl OneWay for DefConv<u16, Complex<f32>>

Source§

impl OneWay for DefConv<u16, Complex<f64>>

Source§

impl OneWay for DefConv<u32, f32>

Source§

impl OneWay for DefConv<u32, f64>

Source§

impl OneWay for DefConv<u32, i8>

Source§

impl OneWay for DefConv<u32, i16>

Source§

impl OneWay for DefConv<u32, i32>

Source§

impl OneWay for DefConv<u32, i64>

Source§

impl OneWay for DefConv<u32, i128>

Source§

impl OneWay for DefConv<u32, u8>

Source§

impl OneWay for DefConv<u32, u16>

Source§

impl OneWay for DefConv<u32, u64>

Source§

impl OneWay for DefConv<u32, u128>

Source§

impl OneWay for DefConv<u32, Complex<f32>>

Source§

impl OneWay for DefConv<u32, Complex<f64>>

Source§

impl OneWay for DefConv<u64, f32>

Source§

impl OneWay for DefConv<u64, f64>

Source§

impl OneWay for DefConv<u64, i8>

Source§

impl OneWay for DefConv<u64, i16>

Source§

impl OneWay for DefConv<u64, i32>

Source§

impl OneWay for DefConv<u64, i64>

Source§

impl OneWay for DefConv<u64, i128>

Source§

impl OneWay for DefConv<u64, u8>

Source§

impl OneWay for DefConv<u64, u16>

Source§

impl OneWay for DefConv<u64, u32>

Source§

impl OneWay for DefConv<u64, u128>

Source§

impl OneWay for DefConv<u64, Complex<f32>>

Source§

impl OneWay for DefConv<u64, Complex<f64>>

Source§

impl OneWay for DefConv<u128, f32>

Source§

impl OneWay for DefConv<u128, f64>

Source§

impl OneWay for DefConv<u128, i8>

Source§

impl OneWay for DefConv<u128, i16>

Source§

impl OneWay for DefConv<u128, i32>

Source§

impl OneWay for DefConv<u128, i64>

Source§

impl OneWay for DefConv<u128, i128>

Source§

impl OneWay for DefConv<u128, u8>

Source§

impl OneWay for DefConv<u128, u16>

Source§

impl OneWay for DefConv<u128, u32>

Source§

impl OneWay for DefConv<u128, u64>

Source§

impl OneWay for DefConv<u128, Complex<f32>>

Source§

impl OneWay for DefConv<u128, Complex<f64>>

Source§

impl OneWay for DefConv<Complex<f32>, f32>

Source§

impl OneWay for DefConv<Complex<f32>, f64>

Source§

impl OneWay for DefConv<Complex<f32>, i8>

Source§

impl OneWay for DefConv<Complex<f32>, i16>

Source§

impl OneWay for DefConv<Complex<f32>, i32>

Source§

impl OneWay for DefConv<Complex<f32>, i64>

Source§

impl OneWay for DefConv<Complex<f32>, i128>

Source§

impl OneWay for DefConv<Complex<f32>, u8>

Source§

impl OneWay for DefConv<Complex<f32>, u16>

Source§

impl OneWay for DefConv<Complex<f32>, u32>

Source§

impl OneWay for DefConv<Complex<f32>, u64>

Source§

impl OneWay for DefConv<Complex<f32>, u128>

Source§

impl OneWay for DefConv<Complex<f64>, f32>

Source§

impl OneWay for DefConv<Complex<f64>, f64>

Source§

impl OneWay for DefConv<Complex<f64>, i8>

Source§

impl OneWay for DefConv<Complex<f64>, i16>

Source§

impl OneWay for DefConv<Complex<f64>, i32>

Source§

impl OneWay for DefConv<Complex<f64>, i64>

Source§

impl OneWay for DefConv<Complex<f64>, i128>

Source§

impl OneWay for DefConv<Complex<f64>, u8>

Source§

impl OneWay for DefConv<Complex<f64>, u16>

Source§

impl OneWay for DefConv<Complex<f64>, u32>

Source§

impl OneWay for DefConv<Complex<f64>, u64>

Source§

impl OneWay for DefConv<Complex<f64>, u128>

Source§

impl<S> OneWay for DefConv<S, S>

Source§

type Source = S

Source§

type Dest = S