[][src]Trait conv::ValueFrom

pub trait ValueFrom<Src>: Sized {
    type Err: Error;
    fn value_from(src: Src) -> Result<Self, Self::Err>;
}

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.

Associated Types

type Err: Error

The error type produced by a failed conversion.

Loading content...

Required methods

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

Convert the given value into an exactly equivalent representation.

Loading content...

Implementations on Foreign Types

impl ValueFrom<i8> for i16[src]

type Err = NoError

impl ValueFrom<i8> for i32[src]

type Err = NoError

impl ValueFrom<i8> for i64[src]

type Err = NoError

impl ValueFrom<i8> for u8[src]

type Err = NegOverflow<i8>

impl ValueFrom<i8> for u16[src]

type Err = NegOverflow<i8>

impl ValueFrom<i8> for u32[src]

type Err = NegOverflow<i8>

impl ValueFrom<i8> for u64[src]

type Err = NegOverflow<i8>

impl ValueFrom<i8> for isize[src]

type Err = NoError

impl ValueFrom<i8> for usize[src]

type Err = NegOverflow<i8>

impl ValueFrom<i16> for i8[src]

type Err = RangeError<i16>

impl ValueFrom<i16> for i32[src]

type Err = NoError

impl ValueFrom<i16> for i64[src]

type Err = NoError

impl ValueFrom<i16> for u8[src]

type Err = RangeError<i16>

impl ValueFrom<i16> for u16[src]

type Err = NegOverflow<i16>

impl ValueFrom<i16> for u32[src]

type Err = NegOverflow<i16>

impl ValueFrom<i16> for u64[src]

type Err = NegOverflow<i16>

impl ValueFrom<i16> for isize[src]

type Err = NoError

impl ValueFrom<i16> for usize[src]

type Err = NegOverflow<i16>

impl ValueFrom<i32> for i8[src]

type Err = RangeError<i32>

impl ValueFrom<i32> for i16[src]

type Err = RangeError<i32>

impl ValueFrom<i32> for i64[src]

type Err = NoError

impl ValueFrom<i32> for u8[src]

type Err = RangeError<i32>

impl ValueFrom<i32> for u16[src]

type Err = RangeError<i32>

impl ValueFrom<i32> for u32[src]

type Err = NegOverflow<i32>

impl ValueFrom<i32> for u64[src]

type Err = NegOverflow<i32>

impl ValueFrom<i64> for i8[src]

type Err = RangeError<i64>

impl ValueFrom<i64> for i16[src]

type Err = RangeError<i64>

impl ValueFrom<i64> for i32[src]

type Err = RangeError<i64>

impl ValueFrom<i64> for u8[src]

type Err = RangeError<i64>

impl ValueFrom<i64> for u16[src]

type Err = RangeError<i64>

impl ValueFrom<i64> for u32[src]

type Err = RangeError<i64>

impl ValueFrom<i64> for u64[src]

type Err = NegOverflow<i64>

impl ValueFrom<i32> for isize[src]

type Err = NoError

impl ValueFrom<i32> for usize[src]

type Err = NegOverflow<i32>

impl ValueFrom<i64> for isize[src]

type Err = NoError

impl ValueFrom<i64> for usize[src]

type Err = NegOverflow<i64>

impl ValueFrom<u8> for i8[src]

type Err = PosOverflow<u8>

impl ValueFrom<u8> for i16[src]

type Err = NoError

impl ValueFrom<u8> for i32[src]

type Err = NoError

impl ValueFrom<u8> for i64[src]

type Err = NoError

impl ValueFrom<u8> for u16[src]

type Err = NoError

impl ValueFrom<u8> for u32[src]

type Err = NoError

impl ValueFrom<u8> for u64[src]

type Err = NoError

impl ValueFrom<u8> for isize[src]

type Err = NoError

impl ValueFrom<u8> for usize[src]

type Err = NoError

impl ValueFrom<u16> for i8[src]

type Err = PosOverflow<u16>

impl ValueFrom<u16> for i16[src]

type Err = PosOverflow<u16>

impl ValueFrom<u16> for i32[src]

type Err = NoError

impl ValueFrom<u16> for i64[src]

type Err = NoError

impl ValueFrom<u16> for u8[src]

type Err = PosOverflow<u16>

impl ValueFrom<u16> for u32[src]

type Err = NoError

impl ValueFrom<u16> for u64[src]

type Err = NoError

impl ValueFrom<u16> for isize[src]

type Err = NoError

impl ValueFrom<u16> for usize[src]

type Err = NoError

impl ValueFrom<u32> for i8[src]

type Err = PosOverflow<u32>

impl ValueFrom<u32> for i16[src]

type Err = PosOverflow<u32>

impl ValueFrom<u32> for i32[src]

type Err = PosOverflow<u32>

impl ValueFrom<u32> for i64[src]

type Err = NoError

impl ValueFrom<u32> for u8[src]

type Err = PosOverflow<u32>

impl ValueFrom<u32> for u16[src]

type Err = PosOverflow<u32>

impl ValueFrom<u32> for u64[src]

type Err = NoError

impl ValueFrom<u64> for i8[src]

type Err = PosOverflow<u64>

impl ValueFrom<u64> for i16[src]

type Err = PosOverflow<u64>

impl ValueFrom<u64> for i32[src]

type Err = PosOverflow<u64>

impl ValueFrom<u64> for i64[src]

type Err = PosOverflow<u64>

impl ValueFrom<u64> for u8[src]

type Err = PosOverflow<u64>

impl ValueFrom<u64> for u16[src]

type Err = PosOverflow<u64>

impl ValueFrom<u64> for u32[src]

type Err = PosOverflow<u64>

impl ValueFrom<u32> for isize[src]

type Err = NoError

impl ValueFrom<u32> for usize[src]

type Err = NoError

impl ValueFrom<u64> for isize[src]

type Err = PosOverflow<u64>

impl ValueFrom<u64> for usize[src]

type Err = NoError

impl ValueFrom<isize> for i8[src]

type Err = RangeError<isize>

impl ValueFrom<isize> for i16[src]

type Err = RangeError<isize>

impl ValueFrom<isize> for i32[src]

type Err = RangeError<isize>

impl ValueFrom<isize> for i64[src]

type Err = NoError

impl ValueFrom<isize> for u8[src]

type Err = RangeError<isize>

impl ValueFrom<isize> for u16[src]

type Err = RangeError<isize>

impl ValueFrom<isize> for u32[src]

type Err = RangeError<isize>

impl ValueFrom<isize> for u64[src]

type Err = NegOverflow<isize>

impl ValueFrom<isize> for usize[src]

type Err = NegOverflow<isize>

impl ValueFrom<usize> for i8[src]

type Err = PosOverflow<usize>

impl ValueFrom<usize> for i16[src]

type Err = PosOverflow<usize>

impl ValueFrom<usize> for i32[src]

type Err = PosOverflow<usize>

impl ValueFrom<usize> for i64[src]

type Err = PosOverflow<usize>

impl ValueFrom<usize> for u8[src]

type Err = PosOverflow<usize>

impl ValueFrom<usize> for u16[src]

type Err = PosOverflow<usize>

impl ValueFrom<usize> for u32[src]

type Err = PosOverflow<usize>

impl ValueFrom<usize> for u64[src]

type Err = NoError

impl ValueFrom<usize> for isize[src]

type Err = PosOverflow<usize>

impl ValueFrom<f32> for f64[src]

type Err = NoError

impl ValueFrom<i8> for f32[src]

type Err = NoError

impl ValueFrom<i8> for f64[src]

type Err = NoError

impl ValueFrom<i16> for f32[src]

type Err = NoError

impl ValueFrom<i16> for f64[src]

type Err = NoError

impl ValueFrom<i32> for f32[src]

type Err = RangeError<i32>

impl ValueFrom<i32> for f64[src]

type Err = NoError

impl ValueFrom<i64> for f32[src]

type Err = RangeError<i64>

impl ValueFrom<i64> for f64[src]

type Err = RangeError<i64>

impl ValueFrom<u8> for f32[src]

type Err = NoError

impl ValueFrom<u8> for f64[src]

type Err = NoError

impl ValueFrom<u16> for f32[src]

type Err = NoError

impl ValueFrom<u16> for f64[src]

type Err = NoError

impl ValueFrom<u32> for f32[src]

type Err = PosOverflow<u32>

impl ValueFrom<u32> for f64[src]

type Err = NoError

impl ValueFrom<u64> for f32[src]

type Err = PosOverflow<u64>

impl ValueFrom<u64> for f64[src]

type Err = PosOverflow<u64>

impl ValueFrom<isize> for f32[src]

type Err = RangeError<isize>

impl ValueFrom<isize> for f64[src]

type Err = RangeError<isize>

impl ValueFrom<usize> for f32[src]

type Err = PosOverflow<usize>

impl ValueFrom<usize> for f64[src]

type Err = PosOverflow<usize>

Loading content...

Implementors

impl<Src> ValueFrom<Src> for Src[src]

type Err = NoError

Loading content...