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

    // Required method
    fn try_from(value: T) -> Result<Self, Self::Error>;
}
Available on non-crate feature miri-test-libstd only.
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 rustls::client::client_conn::ServerName

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

source§

impl TryFrom<&str> for Alphabet

source§

impl TryFrom<&str> for Uuid

§

type Error = Error

§

impl TryFrom<&str> for IpAddr

§

type Error = AddrParseError

§

impl TryFrom<&str> for Ipv4Addr

§

type Error = AddrParseError

§

impl TryFrom<&str> for Ipv6Addr

§

type Error = AddrParseError

source§

impl TryFrom<&String> for PathAndQuery

source§

impl TryFrom<&BigInt> for i8

Available on has_try_from only.
source§

impl TryFrom<&BigInt> for i16

Available on has_try_from only.
source§

impl TryFrom<&BigInt> for i32

Available on has_try_from only.
source§

impl TryFrom<&BigInt> for i64

Available on has_try_from only.
source§

impl TryFrom<&BigInt> for i128

Available on has_try_from only.
source§

impl TryFrom<&BigInt> for isize

Available on has_try_from only.
source§

impl TryFrom<&BigInt> for u8

Available on has_try_from only.
source§

impl TryFrom<&BigInt> for u16

Available on has_try_from only.
source§

impl TryFrom<&BigInt> for u32

Available on has_try_from only.
source§

impl TryFrom<&BigInt> for u64

Available on has_try_from only.
source§

impl TryFrom<&BigInt> for u128

Available on has_try_from only.
source§

impl TryFrom<&BigInt> for usize

Available on has_try_from only.
source§

impl TryFrom<&BigInt> for BigUint

Available on has_try_from only.
source§

impl TryFrom<&BigUint> for i8

Available on has_try_from only.
source§

impl TryFrom<&BigUint> for i16

Available on has_try_from only.
source§

impl TryFrom<&BigUint> for i32

Available on has_try_from only.
source§

impl TryFrom<&BigUint> for i64

Available on has_try_from only.
source§

impl TryFrom<&BigUint> for i128

Available on has_try_from only.
source§

impl TryFrom<&BigUint> for isize

Available on has_try_from only.
source§

impl TryFrom<&BigUint> for u8

Available on has_try_from only.
source§

impl TryFrom<&BigUint> for u16

Available on has_try_from only.
source§

impl TryFrom<&BigUint> for u32

Available on has_try_from only.
source§

impl TryFrom<&BigUint> for u64

Available on has_try_from only.
source§

impl TryFrom<&BigUint> for u128

Available on has_try_from only.
source§

impl TryFrom<&BigUint> for usize

Available on has_try_from only.
§

impl TryFrom<&[u8]> for Tag

§

type Error = Unspecified

source§

impl TryFrom<Error> for Format

source§

impl TryFrom<Error> for InvalidFormatDescription

source§

impl TryFrom<Error> for Parse

source§

impl TryFrom<Error> for ParseFromDescription

source§

impl TryFrom<Error> for TryFromParsed

source§

impl TryFrom<Error> for ComponentRange

source§

impl TryFrom<Error> for ConversionRange

source§

impl TryFrom<Error> for DifferentVariant

source§

impl TryFrom<Error> for InvalidVariant

source§

impl TryFrom<Format> for Error

source§

impl TryFrom<Parse> for ParseFromDescription

source§

impl TryFrom<Parse> for TryFromParsed

source§

impl TryFrom<TryFromParsed> for ComponentRange

source§

impl TryFrom<BorrowedFormatItem<'_>> for Component

source§

impl TryFrom<OwnedFormatItem> for Component

source§

impl TryFrom<OwnedFormatItem> for Vec<OwnedFormatItem>

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.

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 NonZero<i8>

source§

impl TryFrom<i8> for BigUint

Available on has_try_from only.
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 NonZero<i16>

source§

impl TryFrom<i16> for BigUint

Available on has_try_from only.
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 NonZero<i32>

source§

impl TryFrom<i32> for BigUint

Available on has_try_from only.
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 NonZero<i64>

source§

impl TryFrom<i64> for BigUint

Available on has_try_from only.
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 NonZero<i128>

source§

impl TryFrom<i128> for BigUint

Available on has_try_from only.
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 NonZero<isize>

source§

impl TryFrom<isize> for BigUint

Available on has_try_from only.
source§

impl TryFrom<u8> for Month

source§

impl TryFrom<u8> for webpki::crl::RevocationReason

§

type Error = Error

source§

impl TryFrom<u8> for webpki::crl::types::RevocationReason

§

type Error = Error

source§

impl TryFrom<u8> for i8

1.46.0 · source§

impl TryFrom<u8> for NonZero<u8>

§

impl TryFrom<u8> for Class

§

type Error = BerClassFromIntError

source§

impl TryFrom<u16> for i8

source§

impl TryFrom<u16> for i16

source§

impl TryFrom<u16> for isize

source§

impl TryFrom<u16> for u8

source§

impl TryFrom<u16> for StatusCode

1.46.0 · source§

impl TryFrom<u16> for NonZero<u16>

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 NonZero<u32>

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 NonZero<u64>

source§

impl TryFrom<u64> for StreamId

§

impl TryFrom<u64> for VarInt

§

type Error = VarIntBoundsExceeded

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 NonZero<u128>

§

impl TryFrom<u128> for VarInt

§

type Error = VarIntBoundsExceeded

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 NonZero<usize>

source§

impl TryFrom<usize> for Alignment

§

impl TryFrom<usize> for VarInt

§

type Error = VarIntBoundsExceeded

source§

impl TryFrom<Duration> for time::duration::Duration

§

impl TryFrom<Duration> for IdleTimeout

§

type Error = VarIntBoundsExceeded

source§

impl TryFrom<TcpListener> for TcpListener

§

type Error = Error

source§

impl TryFrom<TcpStream> for TcpStream

§

type Error = Error

source§

impl TryFrom<UdpSocket> for UdpSocket

§

type Error = Error

source§

impl TryFrom<Parts> for Uri

1.49.0 · source§

impl TryFrom<NonZero<i8>> for NonZero<u8>

1.49.0 · source§

impl TryFrom<NonZero<i8>> for NonZero<u16>

1.49.0 · source§

impl TryFrom<NonZero<i8>> for NonZero<u32>

1.49.0 · source§

impl TryFrom<NonZero<i8>> for NonZero<u64>

1.49.0 · source§

impl TryFrom<NonZero<i8>> for NonZero<u128>

1.49.0 · source§

impl TryFrom<NonZero<i8>> for NonZero<usize>

1.49.0 · source§

impl TryFrom<NonZero<i16>> for NonZero<i8>

1.49.0 · source§

impl TryFrom<NonZero<i16>> for NonZero<u8>

1.49.0 · source§

impl TryFrom<NonZero<i16>> for NonZero<u16>

1.49.0 · source§

impl TryFrom<NonZero<i16>> for NonZero<u32>

1.49.0 · source§

impl TryFrom<NonZero<i16>> for NonZero<u64>

1.49.0 · source§

impl TryFrom<NonZero<i16>> for NonZero<u128>

1.49.0 · source§

impl TryFrom<NonZero<i16>> for NonZero<usize>

1.49.0 · source§

impl TryFrom<NonZero<i32>> for NonZero<i8>

1.49.0 · source§

impl TryFrom<NonZero<i32>> for NonZero<i16>

1.49.0 · source§

impl TryFrom<NonZero<i32>> for NonZero<isize>

1.49.0 · source§

impl TryFrom<NonZero<i32>> for NonZero<u8>

1.49.0 · source§

impl TryFrom<NonZero<i32>> for NonZero<u16>

1.49.0 · source§

impl TryFrom<NonZero<i32>> for NonZero<u32>

1.49.0 · source§

impl TryFrom<NonZero<i32>> for NonZero<u64>

1.49.0 · source§

impl TryFrom<NonZero<i32>> for NonZero<u128>

1.49.0 · source§

impl TryFrom<NonZero<i32>> for NonZero<usize>

1.49.0 · source§

impl TryFrom<NonZero<i64>> for NonZero<i8>

1.49.0 · source§

impl TryFrom<NonZero<i64>> for NonZero<i16>

1.49.0 · source§

impl TryFrom<NonZero<i64>> for NonZero<i32>

1.49.0 · source§

impl TryFrom<NonZero<i64>> for NonZero<isize>

1.49.0 · source§

impl TryFrom<NonZero<i64>> for NonZero<u8>

1.49.0 · source§

impl TryFrom<NonZero<i64>> for NonZero<u16>

1.49.0 · source§

impl TryFrom<NonZero<i64>> for NonZero<u32>

1.49.0 · source§

impl TryFrom<NonZero<i64>> for NonZero<u64>

1.49.0 · source§

impl TryFrom<NonZero<i64>> for NonZero<u128>

1.49.0 · source§

impl TryFrom<NonZero<i64>> for NonZero<usize>

1.49.0 · source§

impl TryFrom<NonZero<i128>> for NonZero<i8>

1.49.0 · source§

impl TryFrom<NonZero<i128>> for NonZero<i16>

1.49.0 · source§

impl TryFrom<NonZero<i128>> for NonZero<i32>

1.49.0 · source§

impl TryFrom<NonZero<i128>> for NonZero<i64>

1.49.0 · source§

impl TryFrom<NonZero<i128>> for NonZero<isize>

1.49.0 · source§

impl TryFrom<NonZero<i128>> for NonZero<u8>

1.49.0 · source§

impl TryFrom<NonZero<i128>> for NonZero<u16>

1.49.0 · source§

impl TryFrom<NonZero<i128>> for NonZero<u32>

1.49.0 · source§

impl TryFrom<NonZero<i128>> for NonZero<u64>

1.49.0 · source§

impl TryFrom<NonZero<i128>> for NonZero<u128>

1.49.0 · source§

impl TryFrom<NonZero<i128>> for NonZero<usize>

1.49.0 · source§

impl TryFrom<NonZero<isize>> for NonZero<i8>

1.49.0 · source§

impl TryFrom<NonZero<isize>> for NonZero<i16>

1.49.0 · source§

impl TryFrom<NonZero<isize>> for NonZero<i32>

1.49.0 · source§

impl TryFrom<NonZero<isize>> for NonZero<i64>

1.49.0 · source§

impl TryFrom<NonZero<isize>> for NonZero<i128>

1.49.0 · source§

impl TryFrom<NonZero<isize>> for NonZero<u8>

1.49.0 · source§

impl TryFrom<NonZero<isize>> for NonZero<u16>

1.49.0 · source§

impl TryFrom<NonZero<isize>> for NonZero<u32>

1.49.0 · source§

impl TryFrom<NonZero<isize>> for NonZero<u64>

1.49.0 · source§

impl TryFrom<NonZero<isize>> for NonZero<u128>

1.49.0 · source§

impl TryFrom<NonZero<isize>> for NonZero<usize>

1.49.0 · source§

impl TryFrom<NonZero<u8>> for NonZero<i8>

1.49.0 · source§

impl TryFrom<NonZero<u16>> for NonZero<i8>

1.49.0 · source§

impl TryFrom<NonZero<u16>> for NonZero<i16>

1.49.0 · source§

impl TryFrom<NonZero<u16>> for NonZero<isize>

1.49.0 · source§

impl TryFrom<NonZero<u16>> for NonZero<u8>

1.49.0 · source§

impl TryFrom<NonZero<u32>> for NonZero<i8>

1.49.0 · source§

impl TryFrom<NonZero<u32>> for NonZero<i16>

1.49.0 · source§

impl TryFrom<NonZero<u32>> for NonZero<i32>

1.49.0 · source§

impl TryFrom<NonZero<u32>> for NonZero<isize>

1.49.0 · source§

impl TryFrom<NonZero<u32>> for NonZero<u8>

1.49.0 · source§

impl TryFrom<NonZero<u32>> for NonZero<u16>

1.49.0 · source§

impl TryFrom<NonZero<u32>> for NonZero<usize>

1.49.0 · source§

impl TryFrom<NonZero<u64>> for NonZero<i8>

1.49.0 · source§

impl TryFrom<NonZero<u64>> for NonZero<i16>

1.49.0 · source§

impl TryFrom<NonZero<u64>> for NonZero<i32>

1.49.0 · source§

impl TryFrom<NonZero<u64>> for NonZero<i64>

1.49.0 · source§

impl TryFrom<NonZero<u64>> for NonZero<isize>

1.49.0 · source§

impl TryFrom<NonZero<u64>> for NonZero<u8>

1.49.0 · source§

impl TryFrom<NonZero<u64>> for NonZero<u16>

1.49.0 · source§

impl TryFrom<NonZero<u64>> for NonZero<u32>

1.49.0 · source§

impl TryFrom<NonZero<u64>> for NonZero<usize>

1.49.0 · source§

impl TryFrom<NonZero<u128>> for NonZero<i8>

1.49.0 · source§

impl TryFrom<NonZero<u128>> for NonZero<i16>

1.49.0 · source§

impl TryFrom<NonZero<u128>> for NonZero<i32>

1.49.0 · source§

impl TryFrom<NonZero<u128>> for NonZero<i64>

1.49.0 · source§

impl TryFrom<NonZero<u128>> for NonZero<i128>

1.49.0 · source§

impl TryFrom<NonZero<u128>> for NonZero<isize>

1.49.0 · source§

impl TryFrom<NonZero<u128>> for NonZero<u8>

1.49.0 · source§

impl TryFrom<NonZero<u128>> for NonZero<u16>

1.49.0 · source§

impl TryFrom<NonZero<u128>> for NonZero<u32>

1.49.0 · source§

impl TryFrom<NonZero<u128>> for NonZero<u64>

1.49.0 · source§

impl TryFrom<NonZero<u128>> for NonZero<usize>

1.49.0 · source§

impl TryFrom<NonZero<usize>> for NonZero<i8>

1.49.0 · source§

impl TryFrom<NonZero<usize>> for NonZero<i16>

1.49.0 · source§

impl TryFrom<NonZero<usize>> for NonZero<i32>

1.49.0 · source§

impl TryFrom<NonZero<usize>> for NonZero<i64>

1.49.0 · source§

impl TryFrom<NonZero<usize>> for NonZero<i128>

1.49.0 · source§

impl TryFrom<NonZero<usize>> for NonZero<isize>

1.49.0 · source§

impl TryFrom<NonZero<usize>> for NonZero<u8>

1.49.0 · source§

impl TryFrom<NonZero<usize>> for NonZero<u16>

1.49.0 · source§

impl TryFrom<NonZero<usize>> for NonZero<u32>

1.49.0 · source§

impl TryFrom<NonZero<usize>> for NonZero<u64>

1.49.0 · source§

impl TryFrom<NonZero<usize>> for NonZero<u128>

source§

impl TryFrom<NonZero<usize>> for Alignment

source§

impl TryFrom<String> for HeaderName

source§

impl TryFrom<String> for HeaderValue

source§

impl TryFrom<String> for Uri

source§

impl TryFrom<String> for Authority

source§

impl TryFrom<String> for PathAndQuery

§

impl TryFrom<String> for DnsName<'static>

Available on crate feature alloc only.
§

type Error = InvalidDnsNameError

§

impl TryFrom<String> for ServerName<'static>

Available on crate feature alloc only.
§

type Error = InvalidDnsNameError

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

Available on crate feature std only.
§

type Error = Error

source§

impl TryFrom<UnixDatagram> for UnixDatagram

§

type Error = Error

source§

impl TryFrom<UnixListener> for UnixListener

§

type Error = Error

source§

impl TryFrom<UnixStream> for UnixStream

§

type Error = Error

source§

impl TryFrom<SystemTime> for webpki::time::Time

Available on crate feature std only.
source§

impl TryFrom<BigInt> for i8

Available on has_try_from only.
source§

impl TryFrom<BigInt> for i16

Available on has_try_from only.
source§

impl TryFrom<BigInt> for i32

Available on has_try_from only.
source§

impl TryFrom<BigInt> for i64

Available on has_try_from only.
source§

impl TryFrom<BigInt> for i128

Available on has_try_from only.
source§

impl TryFrom<BigInt> for isize

Available on has_try_from only.
source§

impl TryFrom<BigInt> for u8

Available on has_try_from only.
source§

impl TryFrom<BigInt> for u16

Available on has_try_from only.
source§

impl TryFrom<BigInt> for u32

Available on has_try_from only.
source§

impl TryFrom<BigInt> for u64

Available on has_try_from only.
source§

impl TryFrom<BigInt> for u128

Available on has_try_from only.
source§

impl TryFrom<BigInt> for usize

Available on has_try_from only.
source§

impl TryFrom<BigInt> for BigUint

Available on has_try_from only.
source§

impl TryFrom<BigUint> for i8

Available on has_try_from only.
source§

impl TryFrom<BigUint> for i16

Available on has_try_from only.
source§

impl TryFrom<BigUint> for i32

Available on has_try_from only.
source§

impl TryFrom<BigUint> for i64

Available on has_try_from only.
source§

impl TryFrom<BigUint> for i128

Available on has_try_from only.
source§

impl TryFrom<BigUint> for isize

Available on has_try_from only.
source§

impl TryFrom<BigUint> for u8

Available on has_try_from only.
source§

impl TryFrom<BigUint> for u16

Available on has_try_from only.
source§

impl TryFrom<BigUint> for u32

Available on has_try_from only.
source§

impl TryFrom<BigUint> for u64

Available on has_try_from only.
source§

impl TryFrom<BigUint> for u128

Available on has_try_from only.
source§

impl TryFrom<BigUint> for usize

Available on has_try_from only.
source§

impl TryFrom<PlainMessage> for rustls::msgs::message::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

source§

impl TryFrom<PlainMessage> for rustls::msgs::message::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

source§

impl TryFrom<Duration> for kvarn::prelude::Duration

source§

impl TryFrom<Parsed> for OffsetDateTime

source§

impl TryFrom<Parsed> for Date

source§

impl TryFrom<Parsed> for PrimitiveDateTime

source§

impl TryFrom<Parsed> for time::time::Time

source§

impl TryFrom<Parsed> for UtcOffset

§

impl TryFrom<Integer<'_>> for i8

§

type Error = Error

§

impl TryFrom<Integer<'_>> for i16

§

type Error = Error

§

impl TryFrom<Integer<'_>> for i32

§

type Error = Error

§

impl TryFrom<Integer<'_>> for i64

§

type Error = Error

§

impl TryFrom<Integer<'_>> for i128

§

type Error = Error

§

impl TryFrom<Integer<'_>> for u8

§

type Error = Error

§

impl TryFrom<Integer<'_>> for u16

§

type Error = Error

§

impl TryFrom<Integer<'_>> for u32

§

type Error = Error

§

impl TryFrom<Integer<'_>> for u64

§

type Error = Error

§

impl TryFrom<Integer<'_>> for u128

§

type Error = Error

§

impl TryFrom<Message> for String

§

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 Uri

source§

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

source§

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

source§

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

§

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

§

type Error = InvalidDnsNameError

§

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

Attempt to make a ServerName from a string by parsing as a DNS name or IP address.

§

type Error = InvalidDnsNameError

source§

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

§

type Error = Error

source§

impl<'a> TryFrom<&'a CertificateDer<'a>> for webpki::end_entity::EndEntityCert<'a>

§

type Error = Error

source§

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

§

type Error = Error

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 [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 Uri

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 webpki::end_entity::EndEntityCert<'a>

§

type Error = Error

§

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

§

type Error = InvalidDnsNameError

§

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

§

type Error = InvalidDnsNameError

source§

impl<'a> TryFrom<BorrowedFormatItem<'a>> for &[BorrowedFormatItem<'a>]

source§

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

source§

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

§

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

§

type Error = Error

§

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

§

type Error = Error

source§

impl<'a> TryFrom<Any<'a>> for GeneralName<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for bool

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for f32

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for f64

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for i8

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for i16

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for i32

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for i64

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for i128

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for u8

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for u16

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for u32

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for u64

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for u128

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for ()

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for String

§

type Error = Error

source§

impl<'a> TryFrom<Any<'a>> for RsaAesOaepParams<'a>

source§

impl<'a> TryFrom<Any<'a>> for RsaSsaPssParams<'a>

§

impl<'a> TryFrom<Any<'a>> for BitString<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for BmpString<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for Boolean

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for EmbeddedPdv<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for EndOfContent

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for Enumerated

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for GeneralString<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for GeneralizedTime

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for GraphicString<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for Ia5String<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for Integer<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for Null

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for NumericString<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for ObjectDescriptor<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for OctetString<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for Oid<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for PrintableString<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for Real

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for Sequence<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for Set<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for TeletexString<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for UniversalString<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for UtcTime

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for Utf8String<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for VideotexString<'a>

§

type Error = Error

§

impl<'a> TryFrom<Any<'a>> for VisibleString<'a>

§

type Error = Error

source§

impl<'a> TryFrom<Item<'a>> for BorrowedFormatItem<'a>

§

type Error = Error

source§

impl<'a, 'b> TryFrom<&'a AttributeTypeAndValue<'b>> for &'a str

source§

impl<'a, 'b> TryFrom<&'b AlgorithmIdentifier<'a>> for SignatureAlgorithm<'a>

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for &'a str

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for bool

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for i8

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for i16

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for i32

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for i64

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for i128

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for u8

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for u16

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for u32

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for u64

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for u128

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for String

§

type Error = Error

source§

impl<'a, 'b> TryFrom<&'b Any<'a>> for RsaAesOaepParams<'a>

source§

impl<'a, 'b> TryFrom<&'b Any<'a>> for RsaSsaPssParams<'a>

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for BitString<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for Boolean

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for EmbeddedPdv<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for EndOfContent

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for Enumerated

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for GeneralString<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for GeneralizedTime

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for GraphicString<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for Ia5String<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for Integer<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for Null

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for NumericString<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for ObjectDescriptor<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for OctetString<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for Oid<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for PrintableString<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for Sequence<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for Set<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for TeletexString<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for UniversalString<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for UtcTime

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for Utf8String<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for VideotexString<'a>

§

type Error = Error

§

impl<'a, 'b> TryFrom<&'b Any<'a>> for VisibleString<'a>

§

type Error = Error

§

impl<'a, 'b, E, T, const CLASS: u8, const TAG: u32> TryFrom<&'b Any<'a>> for TaggedValue<T, E, Implicit, CLASS, TAG>
where T: TryFrom<Any<'a>, Error = E> + Tagged, E: From<Error>,

§

type Error = E

§

impl<'a, 'b, T, E, const CLASS: u8, const TAG: u32> TryFrom<&'b Any<'a>> for TaggedValue<T, E, Explicit, CLASS, TAG>
where T: FromBer<'a, E>, E: From<Error>,

§

type Error = E

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

§

impl<'a, T> TryFrom<Any<'a>> for BTreeSet<T>
where T: FromBer<'a> + Ord,

§

type Error = Error

§

impl<'a, T> TryFrom<Any<'a>> for Vec<T>
where T: FromBer<'a>,

§

type Error = Error

§

impl<'a, T> TryFrom<Any<'a>> for HashSet<T>
where T: FromBer<'a> + Hash + Eq,

§

type Error = Error

§

impl<'a, T> TryFrom<Any<'a>> for SequenceOf<T>
where T: FromBer<'a>,

§

type Error = Error

§

impl<'a, T> TryFrom<Any<'a>> for SetOf<T>
where T: FromBer<'a>,

§

type Error = Error

§

impl<'a, T, E, const CLASS: u8, const TAG: u32> TryFrom<Any<'a>> for TaggedValue<T, E, Explicit, CLASS, TAG>
where T: FromBer<'a, E>, E: From<Error>,

§

type Error = E

§

impl<'a, T, E, const CLASS: u8, const TAG: u32> TryFrom<Any<'a>> for TaggedValue<T, E, Implicit, CLASS, TAG>
where T: TryFrom<Any<'a>, Error = E> + Tagged, E: From<Error>,

§

type Error = E

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<'ber, 'a> TryFrom<Any<'ber>> for PolicyMapping<'a>
where 'ber: 'a,

§

type Error = Error

source§

impl<'ber, 'a> TryFrom<Any<'ber>> for EcdsaSigValue<'a>
where 'ber: 'a,

§

type Error = Error

source§

impl<'ber, 'a> TryFrom<Any<'ber>> for AlgorithmIdentifier<'a>
where 'ber: 'a,

§

impl<T> TryFrom<Arc<T>> for UniqueArc<T>
where T: ?Sized,

§

type Error = Arc<T>

§

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

§

type Error = TryFromSliceError

1.43.0 · source§

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

§

type Error = Arc<[T], A>

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>

source§

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

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>

§

impl<T, const N: usize> TryFrom<*const T> for TagNonNull<T, N>

§

type Error = Null

§

impl<T, const N: usize> TryFrom<*mut T> for TagNonNull<T, N>

§

type Error = Null

§

impl<T, const N: usize> TryFrom<NonNull<T>> for TagNonNull<T, N>

§

type Error = Null

1.43.0 · source§

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

§

type Error = Box<[T]>

1.43.0 · source§

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

§

type Error = Rc<[T]>

1.66.0 · source§

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

Available on non-no_global_oom_handling only.
§

type Error = Vec<T>

§

impl<T, const N: usize> TryFrom<TagPtr<T, N>> for TagNonNull<T, N>

§

type Error = Null

§

impl<const MIN: i8, const MAX: i8> TryFrom<i8> for RangedI8<MIN, MAX>

§

type Error = TryFromIntError

§

impl<const MIN: i16, const MAX: i16> TryFrom<i16> for RangedI16<MIN, MAX>

§

type Error = TryFromIntError

§

impl<const MIN: i32, const MAX: i32> TryFrom<i32> for RangedI32<MIN, MAX>

§

type Error = TryFromIntError

§

impl<const MIN: i64, const MAX: i64> TryFrom<i64> for RangedI64<MIN, MAX>

§

type Error = TryFromIntError

§

impl<const MIN: i128, const MAX: i128> TryFrom<i128> for RangedI128<MIN, MAX>

§

type Error = TryFromIntError

§

impl<const MIN: isize, const MAX: isize> TryFrom<isize> for RangedIsize<MIN, MAX>

§

type Error = TryFromIntError

§

impl<const MIN: u8, const MAX: u8> TryFrom<u8> for RangedU8<MIN, MAX>

§

type Error = TryFromIntError

§

impl<const MIN: u16, const MAX: u16> TryFrom<u16> for RangedU16<MIN, MAX>

§

type Error = TryFromIntError

§

impl<const MIN: u32, const MAX: u32> TryFrom<u32> for RangedU32<MIN, MAX>

§

type Error = TryFromIntError

§

impl<const MIN: u64, const MAX: u64> TryFrom<u64> for RangedU64<MIN, MAX>

§

type Error = TryFromIntError

§

impl<const MIN: u128, const MAX: u128> TryFrom<u128> for RangedU128<MIN, MAX>

§

type Error = TryFromIntError

§

impl<const MIN: usize, const MAX: usize> TryFrom<usize> for RangedUsize<MIN, MAX>

§

type Error = TryFromIntError