Trait geng::prelude::TryFrom

1.34.0 · source ·
pub trait TryFrom<T>: Sized {
    type Error;

    // Required method
    fn try_from(value: T) -> Result<Self, Self::Error>;
}
Expand description

Simple and safe type conversions that may fail in a controlled way under some circumstances. It is the reciprocal of TryInto.

This is useful when you are doing a type conversion that may trivially succeed but may also need special handling. For example, there is no way to convert an i64 into an i32 using the From trait, because an i64 may contain a value that an i32 cannot represent and so the conversion would lose data. This might be handled by truncating the i64 to an i32 or by simply returning i32::MAX, or by some other method. The From trait is intended for perfect conversions, so the TryFrom trait informs the programmer when a type conversion could go bad and lets them decide how to handle it.

§Generic Implementations

  • TryFrom<T> for U implies TryInto<U> for T
  • try_from is reflexive, which means that TryFrom<T> for T is implemented and cannot fail – the associated Error type for calling T::try_from() on a value of type T is Infallible. When the ! type is stabilized Infallible and ! will be equivalent.

TryFrom<T> can be implemented as follows:

struct GreaterThanZero(i32);

impl TryFrom<i32> for GreaterThanZero {
    type Error = &'static str;

    fn try_from(value: i32) -> Result<Self, Self::Error> {
        if value <= 0 {
            Err("GreaterThanZero only accepts values greater than zero!")
        } else {
            Ok(GreaterThanZero(value))
        }
    }
}

§Examples

As described, i32 implements TryFrom<i64>:

let big_number = 1_000_000_000_000i64;
// Silently truncates `big_number`, requires detecting
// and handling the truncation after the fact.
let smaller_number = big_number as i32;
assert_eq!(smaller_number, -727379968);

// Returns an error because `big_number` is too big to
// fit in an `i32`.
let try_smaller_number = i32::try_from(big_number);
assert!(try_smaller_number.is_err());

// Returns `Ok(3)`.
let try_successful_smaller_number = i32::try_from(3);
assert!(try_successful_smaller_number.is_ok());

Required Associated Types§

source

type Error

The type returned in the event of a conversion error.

Required Methods§

source

fn try_from(value: T) -> Result<Self, Self::Error>

Performs the conversion.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl TryFrom<&str> for geng::Key

§

type Error = ParseError

source§

impl TryFrom<&str> for MouseButton

§

type Error = ParseError

source§

impl TryFrom<&str> for Uuid

§

type Error = Error

§

impl TryFrom<&str> for Alphabet

§

type Error = ParseAlphabetError

§

impl TryFrom<&str> for Regex

§

type Error = Error

§

impl TryFrom<&str> for Regex

§

type Error = Error

§

impl TryFrom<&str> for ServerName

Attempt to make a ServerName from a string by parsing it as a DNS name.

§

type Error = InvalidDnsNameError

§

impl TryFrom<&str> for Theme

§

type Error = ()

source§

impl TryFrom<&String> for PathAndQuery

§

impl TryFrom<&[u8]> for ReasonPhrase

§

type Error = InvalidReasonPhrase

§

impl TryFrom<&[u8]> for Tag

§

type Error = Unspecified

1.59.0 · source§

impl TryFrom<char> for u8

Maps a char with code point in U+0000..=U+00FF to a byte in 0x00..=0xFF with same value, failing if the code point is greater than U+00FF.

See impl From<u8> for char for details on the encoding.

1.74.0 · source§

impl TryFrom<char> for u16

Maps a char with code point in U+0000..=U+FFFF to a u16 in 0x0000..=0xFFFF with same value, failing if the code point is greater than U+FFFF.

This corresponds to the UCS-2 encoding, as specified in ISO/IEC 10646:2003.

§

impl TryFrom<f32> for RealImpl<f32>

§

type Error = &'static str

§

impl TryFrom<f64> for RealImpl<f64>

§

type Error = &'static str

source§

impl TryFrom<i8> for u8

source§

impl TryFrom<i8> for u16

source§

impl TryFrom<i8> for u32

source§

impl TryFrom<i8> for u64

source§

impl TryFrom<i8> for u128

source§

impl TryFrom<i8> for usize

1.46.0 · source§

impl TryFrom<i8> for NonZeroI8

source§

impl TryFrom<i16> for i8

source§

impl TryFrom<i16> for u8

source§

impl TryFrom<i16> for u16

source§

impl TryFrom<i16> for u32

source§

impl TryFrom<i16> for u64

source§

impl TryFrom<i16> for u128

source§

impl TryFrom<i16> for usize

1.46.0 · source§

impl TryFrom<i16> for NonZeroI16

source§

impl TryFrom<i32> for i8

source§

impl TryFrom<i32> for i16

source§

impl TryFrom<i32> for isize

source§

impl TryFrom<i32> for u8

source§

impl TryFrom<i32> for u16

source§

impl TryFrom<i32> for u32

source§

impl TryFrom<i32> for u64

source§

impl TryFrom<i32> for u128

source§

impl TryFrom<i32> for usize

1.46.0 · source§

impl TryFrom<i32> for NonZeroI32

§

impl TryFrom<i32> for DumpableBehavior

§

type Error = Errno

§

impl TryFrom<i32> for SecureComputingMode

§

type Error = Errno

§

impl TryFrom<i32> for SockType

§

type Error = Errno

§

impl TryFrom<i32> for TimingMethod

§

type Error = Errno

source§

impl TryFrom<i64> for i8

source§

impl TryFrom<i64> for i16

source§

impl TryFrom<i64> for i32

source§

impl TryFrom<i64> for isize

source§

impl TryFrom<i64> for u8

source§

impl TryFrom<i64> for u16

source§

impl TryFrom<i64> for u32

source§

impl TryFrom<i64> for u64

source§

impl TryFrom<i64> for u128

source§

impl TryFrom<i64> for usize

1.46.0 · source§

impl TryFrom<i64> for NonZeroI64

source§

impl TryFrom<i128> for i8

source§

impl TryFrom<i128> for i16

source§

impl TryFrom<i128> for i32

source§

impl TryFrom<i128> for i64

source§

impl TryFrom<i128> for isize

source§

impl TryFrom<i128> for u8

source§

impl TryFrom<i128> for u16

source§

impl TryFrom<i128> for u32

source§

impl TryFrom<i128> for u64

source§

impl TryFrom<i128> for u128

source§

impl TryFrom<i128> for usize

1.46.0 · source§

impl TryFrom<i128> for NonZeroI128

source§

impl TryFrom<isize> for i8

source§

impl TryFrom<isize> for i16

source§

impl TryFrom<isize> for i32

source§

impl TryFrom<isize> for i64

source§

impl TryFrom<isize> for i128

source§

impl TryFrom<isize> for u8

source§

impl TryFrom<isize> for u16

source§

impl TryFrom<isize> for u32

source§

impl TryFrom<isize> for u64

source§

impl TryFrom<isize> for u128

source§

impl TryFrom<isize> for usize

1.46.0 · source§

impl TryFrom<isize> for NonZeroIsize

source§

impl TryFrom<u8> for i8

1.46.0 · source§

impl TryFrom<u8> for NonZeroU8

§

impl TryFrom<u8> for Action

§

type Error = u8

§

impl TryFrom<u8> for Channels

§

type Error = Error

§

impl TryFrom<u8> for ColorSpace

§

type Error = Error

§

impl TryFrom<u8> for RevocationReason

§

type Error = Error

§

impl TryFrom<u8> for State

§

type Error = u8

§

impl TryFrom<u8> for SysCallUserDispatchFastSwitch

§

type Error = Errno

source§

impl TryFrom<u16> for i8

source§

impl TryFrom<u16> for i16

source§

impl TryFrom<u16> for isize

source§

impl TryFrom<u16> for u8

1.46.0 · source§

impl TryFrom<u16> for NonZeroU16

source§

impl TryFrom<u16> for StatusCode

§

impl TryFrom<u16> for PatternID

§

type Error = PatternIDError

§

impl TryFrom<u16> for PatternID

§

type Error = PatternIDError

§

impl TryFrom<u16> for SmallIndex

§

type Error = SmallIndexError

§

impl TryFrom<u16> for StateID

§

type Error = StateIDError

§

impl TryFrom<u16> for StateID

§

type Error = StateIDError

source§

impl TryFrom<u32> for ugli::error::Error

§

type Error = TryFromPrimitiveError<Error>

source§

impl TryFrom<u32> for char

source§

impl TryFrom<u32> for i8

source§

impl TryFrom<u32> for i16

source§

impl TryFrom<u32> for i32

source§

impl TryFrom<u32> for isize

source§

impl TryFrom<u32> for u8

source§

impl TryFrom<u32> for u16

source§

impl TryFrom<u32> for usize

1.46.0 · source§

impl TryFrom<u32> for NonZeroU32

§

impl TryFrom<u32> for AdaptiveSyncState

§

type Error = ()

§

impl TryFrom<u32> for Anchor

§

type Error = ()

§

impl TryFrom<u32> for Anchor

§

type Error = ()

§

impl TryFrom<u32> for Attrib

§

type Error = ()

§

impl TryFrom<u32> for Axis

§

type Error = ()

§

impl TryFrom<u32> for AxisRelativeDirection

§

type Error = ()

§

impl TryFrom<u32> for AxisSource

§

type Error = ()

§

impl TryFrom<u32> for ButtonState

§

type Error = ()

§

impl TryFrom<u32> for ButtonState

§

type Error = ()

§

impl TryFrom<u32> for ButtonState

§

type Error = ()

§

impl TryFrom<u32> for ButtonState

§

type Error = ()

§

impl TryFrom<u32> for CancelReason

§

type Error = ()

§

impl TryFrom<u32> for Capability

§

type Error = ()

§

impl TryFrom<u32> for Capability

§

type Error = ()

§

impl TryFrom<u32> for Capability

§

type Error = ()

§

impl TryFrom<u32> for Capability

§

type Error = ()

§

impl TryFrom<u32> for Capability

§

type Error = ()

§

impl TryFrom<u32> for Capability

§

type Error = ()

§

impl TryFrom<u32> for ChangeCause

§

type Error = ()

§

impl TryFrom<u32> for ConstraintAdjustment

§

type Error = ()

§

impl TryFrom<u32> for ContentHint

§

type Error = ()

§

impl TryFrom<u32> for ContentHint

§

type Error = ()

§

impl TryFrom<u32> for ContentHint

§

type Error = ()

§

impl TryFrom<u32> for ContentHint

§

type Error = ()

§

impl TryFrom<u32> for ContentPurpose

§

type Error = ()

§

impl TryFrom<u32> for ContentPurpose

§

type Error = ()

§

impl TryFrom<u32> for ContentPurpose

§

type Error = ()

§

impl TryFrom<u32> for ContentPurpose

§

type Error = ()

§

impl TryFrom<u32> for CoreSchedulingScope

§

type Error = Errno

§

impl TryFrom<u32> for DndAction

§

type Error = ()

§

impl TryFrom<u32> for Enablement

§

type Error = ()

§

impl TryFrom<u32> for EndianMode

§

type Error = Errno

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Error

§

type Error = ()

§

impl TryFrom<u32> for Flags

§

type Error = ()

§

impl TryFrom<u32> for Flags

§

type Error = ()

§

impl TryFrom<u32> for Flags

§

type Error = ()

§

impl TryFrom<u32> for FloatingPointMode

§

type Error = Errno

§

impl TryFrom<u32> for Format

§

type Error = ()

§

impl TryFrom<u32> for FullscreenMethod

§

type Error = ()

§

impl TryFrom<u32> for Gravity

§

type Error = ()

§

impl TryFrom<u32> for InputPanelVisibility

§

type Error = ()

§

impl TryFrom<u32> for Key

§

type Error = ()

§

impl TryFrom<u32> for KeyState

§

type Error = ()

§

impl TryFrom<u32> for KeyboardInteractivity

§

type Error = ()

§

impl TryFrom<u32> for KeymapFormat

§

type Error = ()

§

impl TryFrom<u32> for Kind

§

type Error = ()

§

impl TryFrom<u32> for Layer

§

type Error = ()

§

impl TryFrom<u32> for Lifetime

§

type Error = ()

§

impl TryFrom<u32> for Location

§

type Error = ()

§

impl TryFrom<u32> for MachineCheckMemoryCorruptionKillPolicy

§

type Error = Errno

§

impl TryFrom<u32> for Mode

§

type Error = ()

§

impl TryFrom<u32> for Mode

§

type Error = ()

§

impl TryFrom<u32> for Mode

§

type Error = ()

§

impl TryFrom<u32> for Mode

§

type Error = ()

§

impl TryFrom<u32> for Mode

§

type Error = ()

§

impl TryFrom<u32> for Mode

§

type Error = ()

§

impl TryFrom<u32> for Mode

§

type Error = ()

§

impl TryFrom<u32> for PanelBehavior

§

type Error = ()

§

impl TryFrom<u32> for PatternID

§

type Error = PatternIDError

§

impl TryFrom<u32> for PatternID

§

type Error = PatternIDError

§

impl TryFrom<u32> for Pointer

§

type Error = ()

§

impl TryFrom<u32> for Position

§

type Error = ()

§

impl TryFrom<u32> for PreeditStyle

§

type Error = ()

§

impl TryFrom<u32> for PreeditStyle

§

type Error = ()

§

impl TryFrom<u32> for PreeditStyle

§

type Error = ()

§

impl TryFrom<u32> for PresentMethod

§

type Error = ()

§

impl TryFrom<u32> for PresentMode

§

type Error = ()

§

impl TryFrom<u32> for PresentationHint

§

type Error = ()

§

impl TryFrom<u32> for Resize

§

type Error = ()

§

impl TryFrom<u32> for ResizeEdge

§

type Error = ()

§

impl TryFrom<u32> for RgbRange

§

type Error = ()

§

impl TryFrom<u32> for RgbRange

§

type Error = ()

§

impl TryFrom<u32> for Role

§

type Error = ()

§

impl TryFrom<u32> for Shape

§

type Error = ()

§

impl TryFrom<u32> for ShowDesktop

§

type Error = ()

§

impl TryFrom<u32> for SmallIndex

§

type Error = SmallIndexError

§

impl TryFrom<u32> for Source

§

type Error = ()

§

impl TryFrom<u32> for Source

§

type Error = ()

§

impl TryFrom<u32> for SpeculationFeature

§

type Error = Errno

§

impl TryFrom<u32> for State

§

type Error = ()

§

impl TryFrom<u32> for State

§

type Error = ()

§

impl TryFrom<u32> for State

§

type Error = ()

§

impl TryFrom<u32> for State

§

type Error = ()

§

impl TryFrom<u32> for StateID

§

type Error = StateIDError

§

impl TryFrom<u32> for StateID

§

type Error = StateIDError

§

impl TryFrom<u32> for Subpixel

§

type Error = ()

§

impl TryFrom<u32> for Subpixel

§

type Error = ()

§

impl TryFrom<u32> for Subpixel

§

type Error = ()

§

impl TryFrom<u32> for TextDirection

§

type Error = ()

§

impl TryFrom<u32> for TextDirection

§

type Error = ()

§

impl TryFrom<u32> for TextDirection

§

type Error = ()

§

impl TryFrom<u32> for TimeStampCounterReadability

§

type Error = Errno

§

impl TryFrom<u32> for TrancheFlags

§

type Error = ()

§

impl TryFrom<u32> for Transform

§

type Error = ()

§

impl TryFrom<u32> for Transform

§

type Error = ()

§

impl TryFrom<u32> for Transform

§

type Error = ()

§

impl TryFrom<u32> for Transient

§

type Error = ()

§

impl TryFrom<u32> for Type

§

type Error = ()

§

impl TryFrom<u32> for Type

§

type Error = ()

§

impl TryFrom<u32> for Type

§

type Error = ()

§

impl TryFrom<u32> for UpdateState

§

type Error = ()

§

impl TryFrom<u32> for VrrPolicy

§

type Error = ()

§

impl TryFrom<u32> for VrrPolicy

§

type Error = ()

§

impl TryFrom<u32> for VrrPolicy

§

type Error = ()

§

impl TryFrom<u32> for VrrPolicy

§

type Error = ()

§

impl TryFrom<u32> for WmCapabilities

§

type Error = ()

source§

impl TryFrom<u64> for i8

source§

impl TryFrom<u64> for i16

source§

impl TryFrom<u64> for i32

source§

impl TryFrom<u64> for i64

source§

impl TryFrom<u64> for isize

source§

impl TryFrom<u64> for u8

source§

impl TryFrom<u64> for u16

source§

impl TryFrom<u64> for u32

source§

impl TryFrom<u64> for usize

1.46.0 · source§

impl TryFrom<u64> for NonZeroU64

§

impl TryFrom<u64> for PatternID

§

type Error = PatternIDError

§

impl TryFrom<u64> for PatternID

§

type Error = PatternIDError

§

impl TryFrom<u64> for SmallIndex

§

type Error = SmallIndexError

§

impl TryFrom<u64> for StateID

§

type Error = StateIDError

§

impl TryFrom<u64> for StateID

§

type Error = StateIDError

source§

impl TryFrom<u128> for i8

source§

impl TryFrom<u128> for i16

source§

impl TryFrom<u128> for i32

source§

impl TryFrom<u128> for i64

source§

impl TryFrom<u128> for i128

source§

impl TryFrom<u128> for isize

source§

impl TryFrom<u128> for u8

source§

impl TryFrom<u128> for u16

source§

impl TryFrom<u128> for u32

source§

impl TryFrom<u128> for u64

source§

impl TryFrom<u128> for usize

1.46.0 · source§

impl TryFrom<u128> for NonZeroU128

source§

impl TryFrom<usize> for i8

source§

impl TryFrom<usize> for i16

source§

impl TryFrom<usize> for i32

source§

impl TryFrom<usize> for i64

source§

impl TryFrom<usize> for i128

source§

impl TryFrom<usize> for isize

source§

impl TryFrom<usize> for u8

source§

impl TryFrom<usize> for u16

source§

impl TryFrom<usize> for u32

source§

impl TryFrom<usize> for u64

source§

impl TryFrom<usize> for u128

1.46.0 · source§

impl TryFrom<usize> for NonZeroUsize

source§

impl TryFrom<usize> for Alignment

§

impl TryFrom<usize> for PatternID

§

type Error = PatternIDError

§

impl TryFrom<usize> for PatternID

§

type Error = PatternIDError

§

impl TryFrom<usize> for SmallIndex

§

type Error = SmallIndexError

§

impl TryFrom<usize> for StateID

§

type Error = StateIDError

§

impl TryFrom<usize> for StateID

§

type Error = StateIDError

§

impl TryFrom<Error> for Errno

§

type Error = Error

§

impl TryFrom<Error> for Errno

§

type Error = Error

§

impl TryFrom<Error> for Errno

§

type Error = Error

source§

impl TryFrom<String> for HeaderName

source§

impl TryFrom<String> for HeaderValue

source§

impl TryFrom<String> for Authority

source§

impl TryFrom<String> for PathAndQuery

source§

impl TryFrom<String> for Uri

§

impl TryFrom<String> for DnsName

§

type Error = InvalidDnsNameError

§

impl TryFrom<String> for ReasonPhrase

§

type Error = InvalidReasonPhrase

§

impl TryFrom<String> for Regex

§

type Error = Error

§

impl TryFrom<String> for Regex

§

type Error = Error

source§

impl TryFrom<Vec<u8>> for HeaderName

source§

impl TryFrom<Vec<u8>> for HeaderValue

source§

impl TryFrom<Vec<u8>> for Authority

source§

impl TryFrom<Vec<u8>> for Uuid

§

type Error = Error

§

impl TryFrom<Vec<u8>> for ReasonPhrase

§

type Error = InvalidReasonPhrase

1.49.0 · source§

impl TryFrom<NonZeroI8> for NonZeroU8

1.49.0 · source§

impl TryFrom<NonZeroI8> for NonZeroU16

1.49.0 · source§

impl TryFrom<NonZeroI8> for NonZeroU32

1.49.0 · source§

impl TryFrom<NonZeroI8> for NonZeroU64

1.49.0 · source§

impl TryFrom<NonZeroI8> for NonZeroU128

1.49.0 · source§

impl TryFrom<NonZeroI8> for NonZeroUsize

1.49.0 · source§

impl TryFrom<NonZeroI16> for NonZeroI8

1.49.0 · source§

impl TryFrom<NonZeroI16> for NonZeroU8

1.49.0 · source§

impl TryFrom<NonZeroI16> for NonZeroU16

1.49.0 · source§

impl TryFrom<NonZeroI16> for NonZeroU32

1.49.0 · source§

impl TryFrom<NonZeroI16> for NonZeroU64

1.49.0 · source§

impl TryFrom<NonZeroI16> for NonZeroU128

1.49.0 · source§

impl TryFrom<NonZeroI16> for NonZeroUsize

1.49.0 · source§

impl TryFrom<NonZeroI32> for NonZeroI8

1.49.0 · source§

impl TryFrom<NonZeroI32> for NonZeroI16

1.49.0 · source§

impl TryFrom<NonZeroI32> for NonZeroIsize

1.49.0 · source§

impl TryFrom<NonZeroI32> for NonZeroU8

1.49.0 · source§

impl TryFrom<NonZeroI32> for NonZeroU16

1.49.0 · source§

impl TryFrom<NonZeroI32> for NonZeroU32

1.49.0 · source§

impl TryFrom<NonZeroI32> for NonZeroU64

1.49.0 · source§

impl TryFrom<NonZeroI32> for NonZeroU128

1.49.0 · source§

impl TryFrom<NonZeroI32> for NonZeroUsize

1.49.0 · source§

impl TryFrom<NonZeroI64> for NonZeroI8

1.49.0 · source§

impl TryFrom<NonZeroI64> for NonZeroI16

1.49.0 · source§

impl TryFrom<NonZeroI64> for NonZeroI32

1.49.0 · source§

impl TryFrom<NonZeroI64> for NonZeroIsize

1.49.0 · source§

impl TryFrom<NonZeroI64> for NonZeroU8

1.49.0 · source§

impl TryFrom<NonZeroI64> for NonZeroU16

1.49.0 · source§

impl TryFrom<NonZeroI64> for NonZeroU32

1.49.0 · source§

impl TryFrom<NonZeroI64> for NonZeroU64

1.49.0 · source§

impl TryFrom<NonZeroI64> for NonZeroU128

1.49.0 · source§

impl TryFrom<NonZeroI64> for NonZeroUsize

1.49.0 · source§

impl TryFrom<NonZeroI128> for NonZeroI8

1.49.0 · source§

impl TryFrom<NonZeroI128> for NonZeroI16

1.49.0 · source§

impl TryFrom<NonZeroI128> for NonZeroI32

1.49.0 · source§

impl TryFrom<NonZeroI128> for NonZeroI64

1.49.0 · source§

impl TryFrom<NonZeroI128> for NonZeroIsize

1.49.0 · source§

impl TryFrom<NonZeroI128> for NonZeroU8

1.49.0 · source§

impl TryFrom<NonZeroI128> for NonZeroU16

1.49.0 · source§

impl TryFrom<NonZeroI128> for NonZeroU32

1.49.0 · source§

impl TryFrom<NonZeroI128> for NonZeroU64

1.49.0 · source§

impl TryFrom<NonZeroI128> for NonZeroU128

1.49.0 · source§

impl TryFrom<NonZeroI128> for NonZeroUsize

1.49.0 · source§

impl TryFrom<NonZeroIsize> for NonZeroI8

1.49.0 · source§

impl TryFrom<NonZeroIsize> for NonZeroI16

1.49.0 · source§

impl TryFrom<NonZeroIsize> for NonZeroI32

1.49.0 · source§

impl TryFrom<NonZeroIsize> for NonZeroI64

1.49.0 · source§

impl TryFrom<NonZeroIsize> for NonZeroI128

1.49.0 · source§

impl TryFrom<NonZeroIsize> for NonZeroU8

1.49.0 · source§

impl TryFrom<NonZeroIsize> for NonZeroU16

1.49.0 · source§

impl TryFrom<NonZeroIsize> for NonZeroU32

1.49.0 · source§

impl TryFrom<NonZeroIsize> for NonZeroU64

1.49.0 · source§

impl TryFrom<NonZeroIsize> for NonZeroU128

1.49.0 · source§

impl TryFrom<NonZeroIsize> for NonZeroUsize

1.49.0 · source§

impl TryFrom<NonZeroU8> for NonZeroI8

1.49.0 · source§

impl TryFrom<NonZeroU16> for NonZeroI8

1.49.0 · source§

impl TryFrom<NonZeroU16> for NonZeroI16

1.49.0 · source§

impl TryFrom<NonZeroU16> for NonZeroIsize

1.49.0 · source§

impl TryFrom<NonZeroU16> for NonZeroU8

1.49.0 · source§

impl TryFrom<NonZeroU32> for NonZeroI8

1.49.0 · source§

impl TryFrom<NonZeroU32> for NonZeroI16

1.49.0 · source§

impl TryFrom<NonZeroU32> for NonZeroI32

1.49.0 · source§

impl TryFrom<NonZeroU32> for NonZeroIsize

1.49.0 · source§

impl TryFrom<NonZeroU32> for NonZeroU8

1.49.0 · source§

impl TryFrom<NonZeroU32> for NonZeroU16

1.49.0 · source§

impl TryFrom<NonZeroU32> for NonZeroUsize

1.49.0 · source§

impl TryFrom<NonZeroU64> for NonZeroI8

1.49.0 · source§

impl TryFrom<NonZeroU64> for NonZeroI16

1.49.0 · source§

impl TryFrom<NonZeroU64> for NonZeroI32

1.49.0 · source§

impl TryFrom<NonZeroU64> for NonZeroI64

1.49.0 · source§

impl TryFrom<NonZeroU64> for NonZeroIsize

1.49.0 · source§

impl TryFrom<NonZeroU64> for NonZeroU8

1.49.0 · source§

impl TryFrom<NonZeroU64> for NonZeroU16

1.49.0 · source§

impl TryFrom<NonZeroU64> for NonZeroU32

1.49.0 · source§

impl TryFrom<NonZeroU64> for NonZeroUsize

1.49.0 · source§

impl TryFrom<NonZeroU128> for NonZeroI8

1.49.0 · source§

impl TryFrom<NonZeroU128> for NonZeroI16

1.49.0 · source§

impl TryFrom<NonZeroU128> for NonZeroI32

1.49.0 · source§

impl TryFrom<NonZeroU128> for NonZeroI64

1.49.0 · source§

impl TryFrom<NonZeroU128> for NonZeroI128

1.49.0 · source§

impl TryFrom<NonZeroU128> for NonZeroIsize

1.49.0 · source§

impl TryFrom<NonZeroU128> for NonZeroU8

1.49.0 · source§

impl TryFrom<NonZeroU128> for NonZeroU16

1.49.0 · source§

impl TryFrom<NonZeroU128> for NonZeroU32

1.49.0 · source§

impl TryFrom<NonZeroU128> for NonZeroU64

1.49.0 · source§

impl TryFrom<NonZeroU128> for NonZeroUsize

1.49.0 · source§

impl TryFrom<NonZeroUsize> for NonZeroI8

1.49.0 · source§

impl TryFrom<NonZeroUsize> for NonZeroI16

1.49.0 · source§

impl TryFrom<NonZeroUsize> for NonZeroI32

1.49.0 · source§

impl TryFrom<NonZeroUsize> for NonZeroI64

1.49.0 · source§

impl TryFrom<NonZeroUsize> for NonZeroI128

1.49.0 · source§

impl TryFrom<NonZeroUsize> for NonZeroIsize

1.49.0 · source§

impl TryFrom<NonZeroUsize> for NonZeroU8

1.49.0 · source§

impl TryFrom<NonZeroUsize> for NonZeroU16

1.49.0 · source§

impl TryFrom<NonZeroUsize> for NonZeroU32

1.49.0 · source§

impl TryFrom<NonZeroUsize> for NonZeroU64

1.49.0 · source§

impl TryFrom<NonZeroUsize> for NonZeroU128

source§

impl TryFrom<NonZeroUsize> for Alignment

§

impl TryFrom<TcpListener> for Async<TcpListener>

§

type Error = Error

§

impl TryFrom<TcpListener> for Async<TcpListener>

§

type Error = Error

§

impl TryFrom<TcpListener> for TcpListener

§

type Error = Error

§

impl TryFrom<TcpStream> for Async<TcpStream>

§

type Error = Error

§

impl TryFrom<TcpStream> for Async<TcpStream>

§

type Error = Error

§

impl TryFrom<TcpStream> for TcpStream

§

type Error = Error

§

impl TryFrom<UdpSocket> for Async<UdpSocket>

§

type Error = Error

§

impl TryFrom<UdpSocket> for Async<UdpSocket>

§

type Error = Error

§

impl TryFrom<UdpSocket> for UdpSocket

§

type Error = Error

§

impl TryFrom<UnixDatagram> for Async<UnixDatagram>

§

type Error = Error

§

impl TryFrom<UnixDatagram> for Async<UnixDatagram>

§

type Error = Error

§

impl TryFrom<UnixDatagram> for UnixDatagram

§

type Error = Error

§

impl TryFrom<UnixListener> for Async<UnixListener>

§

type Error = Error

§

impl TryFrom<UnixListener> for Async<UnixListener>

§

type Error = Error

§

impl TryFrom<UnixListener> for UnixListener

§

type Error = Error

§

impl TryFrom<UnixStream> for Async<UnixStream>

§

type Error = Error

§

impl TryFrom<UnixStream> for Async<UnixStream>

§

type Error = Error

§

impl TryFrom<UnixStream> for UnixStream

§

type Error = Error

§

impl TryFrom<SystemTime> for Time

source§

impl TryFrom<Parts> for Uri

source§

impl TryFrom<Request> for http::request::Request<Body>

§

type Error = Error

§

impl TryFrom<Bytes> for ReasonPhrase

§

type Error = InvalidReasonPhrase

§

impl TryFrom<Connect> for Setup

§

type Error = ConnectError

§

impl TryFrom<Layer> for Layer

§

type Error = UnknownLayer

§

impl TryFrom<PlainMessage> for Message

Parses a plaintext message into a well-typed [Message].

A [PlainMessage] must contain plaintext content. Encrypted content should be stored in an [OpaqueMessage] and decrypted before being stored into a [PlainMessage].

§

type Error = Error

§

impl TryFrom<TcpListener> for std::net::tcp::TcpListener

§

type Error = Error

§

impl TryFrom<TcpStream> for std::net::tcp::TcpStream

§

type Error = Error

§

impl TryFrom<UdpSocket> for std::net::udp::UdpSocket

§

type Error = Error

§

impl TryFrom<UnixDatagram> for std::os::unix::net::datagram::UnixDatagram

§

type Error = Error

§

impl TryFrom<UnixListener> for std::os::unix::net::listener::UnixListener

§

type Error = Error

§

impl TryFrom<UnixStream> for std::os::unix::net::stream::UnixStream

§

type Error = Error

source§

impl<'a> TryFrom<&'a str> for HeaderName

source§

impl<'a> TryFrom<&'a str> for HeaderValue

source§

impl<'a> TryFrom<&'a str> for Method

source§

impl<'a> TryFrom<&'a str> for StatusCode

source§

impl<'a> TryFrom<&'a str> for Authority

source§

impl<'a> TryFrom<&'a str> for PathAndQuery

source§

impl<'a> TryFrom<&'a str> for Scheme

source§

impl<'a> TryFrom<&'a str> for Uri

source§

impl<'a> TryFrom<&'a str> for Url

source§

impl<'a> TryFrom<&'a String> for HeaderName

source§

impl<'a> TryFrom<&'a String> for HeaderValue

source§

impl<'a> TryFrom<&'a String> for Uri

1.72.0 · source§

impl<'a> TryFrom<&'a OsStr> for &'a str

source§

impl<'a> TryFrom<&'a Uri> for Uri

§

type Error = Error

§

impl<'a> TryFrom<&'a Certificate> for ParsedCertificate<'a>

§

type Error = Error

source§

impl<'a> TryFrom<&'a [u8]> for HeaderName

source§

impl<'a> TryFrom<&'a [u8]> for HeaderValue

source§

impl<'a> TryFrom<&'a [u8]> for Method

source§

impl<'a> TryFrom<&'a [u8]> for StatusCode

source§

impl<'a> TryFrom<&'a [u8]> for Authority

source§

impl<'a> TryFrom<&'a [u8]> for PathAndQuery

source§

impl<'a> TryFrom<&'a [u8]> for Scheme

source§

impl<'a> TryFrom<&'a [u8]> for Uri

§

impl<'a> TryFrom<&'a [u8]> for EndEntityCert<'a>

§

type Error = Error

source§

impl<'a> TryFrom<Vec<u8>> for PathAndQuery

source§

impl<'a> TryFrom<Vec<u8>> for Uri

source§

impl<'a, K, V, T> TryFrom<&'a HashMap<K, V>> for HeaderMap<T>

Try to convert a HashMap into a HeaderMap.

§Examples

use std::collections::HashMap;
use std::convert::TryInto;
use http::HeaderMap;

let mut map = HashMap::new();
map.insert("X-Custom-Header".to_string(), "my value".to_string());

let headers: HeaderMap = (&map).try_into().expect("valid headers");
assert_eq!(headers["X-Custom-Header"], "my value");
§

type Error = Error

source§

impl<'a, T, const N: usize> TryFrom<&'a [T]> for &'a [T; N]

Tries to create an array ref &[T; N] from a slice ref &[T]. Succeeds if slice.len() == N.

let bytes: [u8; 3] = [1, 0, 2];

let bytes_head: &[u8; 2] = <&[u8; 2]>::try_from(&bytes[0..2]).unwrap();
assert_eq!(1, u16::from_le_bytes(*bytes_head));

let bytes_tail: &[u8; 2] = bytes[1..3].try_into().unwrap();
assert_eq!(512, u16::from_le_bytes(*bytes_tail));
source§

impl<'a, T, const N: usize> TryFrom<&'a mut [T]> for &'a mut [T; N]

Tries to create a mutable array ref &mut [T; N] from a mutable slice ref &mut [T]. Succeeds if slice.len() == N.

let mut bytes: [u8; 3] = [1, 0, 2];

let bytes_head: &mut [u8; 2] = <&mut [u8; 2]>::try_from(&mut bytes[0..2]).unwrap();
assert_eq!(1, u16::from_le_bytes(*bytes_head));

let bytes_tail: &mut [u8; 2] = (&mut bytes[1..3]).try_into().unwrap();
assert_eq!(512, u16::from_le_bytes(*bytes_tail));
source§

impl<'a, const CAP: usize> TryFrom<&'a str> for ArrayString<CAP>

source§

impl<'a, const CAP: usize> TryFrom<Arguments<'a>> for ArrayString<CAP>

§

impl<T> TryFrom<&str> for Rgba<T>
where T: ColorComponent,

§

type Error = Error

§

impl<T> TryFrom<String> for Rgba<T>
where T: ColorComponent,

§

type Error = Error

§

impl<T> TryFrom<OwnedFd> for Async<T>
where T: AsFd + From<OwnedFd>,

§

type Error = Error

§

impl<T> TryFrom<OwnedFd> for Async<T>
where T: AsRawFd + From<OwnedFd>,

§

type Error = Error

source§

impl<T> TryFrom<Request<T>> for reqwest::async_impl::request::Request
where T: Into<Body>,

§

type Error = Error

§

impl<T> TryFrom<Async<T>> for OwnedFd
where T: Into<OwnedFd>,

§

type Error = Error

§

impl<T> TryFrom<Async<T>> for OwnedFd
where T: Into<OwnedFd>,

§

type Error = Error

§

impl<T, A> TryFrom<&[T]> for ArrayVec<A>
where T: Clone + Default, A: Array<Item = T>,

§

type Error = TryFromSliceError

1.48.0 · source§

impl<T, A, const N: usize> TryFrom<Vec<T, A>> for [T; N]
where A: Allocator,

§

type Error = Vec<T, A>

1.43.0 · source§

impl<T, A, const N: usize> TryFrom<Arc<[T], A>> for Arc<[T; N], A>
where A: Allocator + Clone,

§

type Error = Arc<[T], A>

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

impl<T, const CAP: usize> TryFrom<&[T]> for arrayvec::arrayvec::ArrayVec<T, CAP>
where T: Clone,

Try to create an ArrayVec from a slice. This will return an error if the slice was too big to fit.

use arrayvec::ArrayVec;
use std::convert::TryInto as _;

let array: ArrayVec<_, 4> = (&[1, 2, 3] as &[_]).try_into().unwrap();
assert_eq!(array.len(), 3);
assert_eq!(array.capacity(), 4);
source§

impl<T, const N: usize> TryFrom<&[T]> for [T; N]
where T: Copy,

Tries to create an array [T; N] by copying from a slice &[T]. Succeeds if slice.len() == N.

let bytes: [u8; 3] = [1, 0, 2];

let bytes_head: [u8; 2] = <[u8; 2]>::try_from(&bytes[0..2]).unwrap();
assert_eq!(1, u16::from_le_bytes(bytes_head));

let bytes_tail: [u8; 2] = bytes[1..3].try_into().unwrap();
assert_eq!(512, u16::from_le_bytes(bytes_tail));
source§

impl<T, const N: usize> TryFrom<&[T]> for Simd<T, N>

1.59.0 · source§

impl<T, const N: usize> TryFrom<&mut [T]> for [T; N]
where T: Copy,

Tries to create an array [T; N] by copying from a mutable slice &mut [T]. Succeeds if slice.len() == N.

let mut bytes: [u8; 3] = [1, 0, 2];

let bytes_head: [u8; 2] = <[u8; 2]>::try_from(&mut bytes[0..2]).unwrap();
assert_eq!(1, u16::from_le_bytes(bytes_head));

let bytes_tail: [u8; 2] = (&mut bytes[1..3]).try_into().unwrap();
assert_eq!(512, u16::from_le_bytes(bytes_tail));
source§

impl<T, const N: usize> TryFrom<&mut [T]> for Simd<T, N>

1.43.0 · source§

impl<T, const N: usize> TryFrom<Box<[T]>> for Box<[T; N]>

§

type Error = Box<[T]>

1.66.0 · source§

impl<T, const N: usize> TryFrom<Vec<T>> for Box<[T; N]>

§

type Error = Vec<T>

1.43.0 · source§

impl<T, const N: usize> TryFrom<Rc<[T]>> for Rc<[T; N]>

§

type Error = Rc<[T]>