conv

Trait ValueFrom

Source
pub trait ValueFrom<Src>: Sized {
    type Err: Error;

    // Required method
    fn value_from(src: Src) -> Result<Self, Self::Err>;
}
Expand description

This trait is used to perform an exact, value-preserving conversion.

Where possible, prefer implementing this trait over ValueInto, but prefer using ValueInto for generic constraints.

§Details

Implementations of this trait should be reflexive, associative and commutative (in the absence of conversion errors). That is, all possible cycles of ValueFrom conversions (for which each “step” has a defined implementation) should produce the same result, with a given value either being “round-tripped” exactly, or an error being produced.

Required Associated Types§

Source

type Err: Error

The error type produced by a failed conversion.

Required Methods§

Source

fn value_from(src: Src) -> Result<Self, Self::Err>

Convert the given value into an exactly equivalent representation.

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.

Implementations on Foreign Types§

Source§

impl ValueFrom<f32> for f64

Source§

impl ValueFrom<i8> for f32

Source§

impl ValueFrom<i8> for f64

Source§

impl ValueFrom<i8> for i16

Source§

impl ValueFrom<i8> for i32

Source§

impl ValueFrom<i8> for i64

Source§

impl ValueFrom<i8> for isize

Source§

impl ValueFrom<i8> for u8

Source§

impl ValueFrom<i8> for u16

Source§

impl ValueFrom<i8> for u32

Source§

impl ValueFrom<i8> for u64

Source§

impl ValueFrom<i8> for usize

Source§

impl ValueFrom<i16> for f32

Source§

impl ValueFrom<i16> for f64

Source§

impl ValueFrom<i16> for i8

Source§

impl ValueFrom<i16> for i32

Source§

impl ValueFrom<i16> for i64

Source§

impl ValueFrom<i16> for isize

Source§

impl ValueFrom<i16> for u8

Source§

impl ValueFrom<i16> for u16

Source§

impl ValueFrom<i16> for u32

Source§

impl ValueFrom<i16> for u64

Source§

impl ValueFrom<i16> for usize

Source§

impl ValueFrom<i32> for f32

Source§

impl ValueFrom<i32> for f64

Source§

impl ValueFrom<i32> for i8

Source§

impl ValueFrom<i32> for i16

Source§

impl ValueFrom<i32> for i64

Source§

impl ValueFrom<i32> for isize

Source§

impl ValueFrom<i32> for u8

Source§

impl ValueFrom<i32> for u16

Source§

impl ValueFrom<i32> for u32

Source§

impl ValueFrom<i32> for u64

Source§

impl ValueFrom<i32> for usize

Source§

impl ValueFrom<i64> for f32

Source§

impl ValueFrom<i64> for f64

Source§

impl ValueFrom<i64> for i8

Source§

impl ValueFrom<i64> for i16

Source§

impl ValueFrom<i64> for i32

Source§

impl ValueFrom<i64> for isize

Source§

impl ValueFrom<i64> for u8

Source§

impl ValueFrom<i64> for u16

Source§

impl ValueFrom<i64> for u32

Source§

impl ValueFrom<i64> for u64

Source§

impl ValueFrom<i64> for usize

Source§

impl ValueFrom<isize> for f32

Source§

impl ValueFrom<isize> for f64

Source§

impl ValueFrom<isize> for i8

Source§

impl ValueFrom<isize> for i16

Source§

impl ValueFrom<isize> for i32

Source§

impl ValueFrom<isize> for i64

Source§

impl ValueFrom<isize> for u8

Source§

impl ValueFrom<isize> for u16

Source§

impl ValueFrom<isize> for u32

Source§

impl ValueFrom<isize> for u64

Source§

impl ValueFrom<isize> for usize

Source§

impl ValueFrom<u8> for f32

Source§

impl ValueFrom<u8> for f64

Source§

impl ValueFrom<u8> for i8

Source§

impl ValueFrom<u8> for i16

Source§

impl ValueFrom<u8> for i32

Source§

impl ValueFrom<u8> for i64

Source§

impl ValueFrom<u8> for isize

Source§

impl ValueFrom<u8> for u16

Source§

impl ValueFrom<u8> for u32

Source§

impl ValueFrom<u8> for u64

Source§

impl ValueFrom<u8> for usize

Source§

impl ValueFrom<u16> for f32

Source§

impl ValueFrom<u16> for f64

Source§

impl ValueFrom<u16> for i8

Source§

impl ValueFrom<u16> for i16

Source§

impl ValueFrom<u16> for i32

Source§

impl ValueFrom<u16> for i64

Source§

impl ValueFrom<u16> for isize

Source§

impl ValueFrom<u16> for u8

Source§

impl ValueFrom<u16> for u32

Source§

impl ValueFrom<u16> for u64

Source§

impl ValueFrom<u16> for usize

Source§

impl ValueFrom<u32> for f32

Source§

impl ValueFrom<u32> for f64

Source§

impl ValueFrom<u32> for i8

Source§

impl ValueFrom<u32> for i16

Source§

impl ValueFrom<u32> for i32

Source§

impl ValueFrom<u32> for i64

Source§

impl ValueFrom<u32> for isize

Source§

impl ValueFrom<u32> for u8

Source§

impl ValueFrom<u32> for u16

Source§

impl ValueFrom<u32> for u64

Source§

impl ValueFrom<u32> for usize

Source§

impl ValueFrom<u64> for f32

Source§

impl ValueFrom<u64> for f64

Source§

impl ValueFrom<u64> for i8

Source§

impl ValueFrom<u64> for i16

Source§

impl ValueFrom<u64> for i32

Source§

impl ValueFrom<u64> for i64

Source§

impl ValueFrom<u64> for isize

Source§

impl ValueFrom<u64> for u8

Source§

impl ValueFrom<u64> for u16

Source§

impl ValueFrom<u64> for u32

Source§

impl ValueFrom<u64> for usize

Source§

impl ValueFrom<usize> for f32

Source§

impl ValueFrom<usize> for f64

Source§

impl ValueFrom<usize> for i8

Source§

impl ValueFrom<usize> for i16

Source§

impl ValueFrom<usize> for i32

Source§

impl ValueFrom<usize> for i64

Source§

impl ValueFrom<usize> for isize

Source§

impl ValueFrom<usize> for u8

Source§

impl ValueFrom<usize> for u16

Source§

impl ValueFrom<usize> for u32

Source§

impl ValueFrom<usize> for u64

Implementors§

Source§

impl<Src> ValueFrom<Src> for Src