Trait kvarn::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§

1.34.0 · source

type Error

The type returned in the event of a conversion error.

Required Methods§

1.34.0 · 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 Uuid

§

type Error = Error

§

impl TryFrom<&str> for Alphabet

§

type Error = ParseAlphabetError

§

impl TryFrom<&str> for IpAddr

§

type Error = AddrParseError

§

impl TryFrom<&str> for Ipv4Addr

§

type Error = AddrParseError

§

impl TryFrom<&str> for Ipv6Addr

§

type Error = AddrParseError

§

impl TryFrom<&String> for PathAndQuery

§

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.

1.34.0 · source§

impl TryFrom<i8> for u8

1.34.0 · source§

impl TryFrom<i8> for u16

1.34.0 · source§

impl TryFrom<i8> for u32

1.34.0 · source§

impl TryFrom<i8> for u64

1.34.0 · source§

impl TryFrom<i8> for u128

1.34.0 · source§

impl TryFrom<i8> for usize

1.46.0 · source§

impl TryFrom<i8> for NonZero<i8>

1.34.0 · source§

impl TryFrom<i16> for i8

1.34.0 · source§

impl TryFrom<i16> for u8

1.34.0 · source§

impl TryFrom<i16> for u16

1.34.0 · source§

impl TryFrom<i16> for u32

1.34.0 · source§

impl TryFrom<i16> for u64

1.34.0 · source§

impl TryFrom<i16> for u128

1.34.0 · source§

impl TryFrom<i16> for usize

1.46.0 · source§

impl TryFrom<i16> for NonZero<i16>

1.34.0 · source§

impl TryFrom<i32> for i8

1.34.0 · source§

impl TryFrom<i32> for i16

1.34.0 · source§

impl TryFrom<i32> for isize

1.34.0 · source§

impl TryFrom<i32> for u8

1.34.0 · source§

impl TryFrom<i32> for u16

1.34.0 · source§

impl TryFrom<i32> for u32

1.34.0 · source§

impl TryFrom<i32> for u64

1.34.0 · source§

impl TryFrom<i32> for u128

1.34.0 · source§

impl TryFrom<i32> for usize

1.46.0 · source§

impl TryFrom<i32> for NonZero<i32>

1.34.0 · source§

impl TryFrom<i64> for i8

1.34.0 · source§

impl TryFrom<i64> for i16

1.34.0 · source§

impl TryFrom<i64> for i32

1.34.0 · source§

impl TryFrom<i64> for isize

1.34.0 · source§

impl TryFrom<i64> for u8

1.34.0 · source§

impl TryFrom<i64> for u16

1.34.0 · source§

impl TryFrom<i64> for u32

1.34.0 · source§

impl TryFrom<i64> for u64

1.34.0 · source§

impl TryFrom<i64> for u128

1.34.0 · source§

impl TryFrom<i64> for usize

1.46.0 · source§

impl TryFrom<i64> for NonZero<i64>

1.34.0 · source§

impl TryFrom<i128> for i8

1.34.0 · source§

impl TryFrom<i128> for i16

1.34.0 · source§

impl TryFrom<i128> for i32

1.34.0 · source§

impl TryFrom<i128> for i64

1.34.0 · source§

impl TryFrom<i128> for isize

1.34.0 · source§

impl TryFrom<i128> for u8

1.34.0 · source§

impl TryFrom<i128> for u16

1.34.0 · source§

impl TryFrom<i128> for u32

1.34.0 · source§

impl TryFrom<i128> for u64

1.34.0 · source§

impl TryFrom<i128> for u128

1.34.0 · source§

impl TryFrom<i128> for usize

1.46.0 · source§

impl TryFrom<i128> for NonZero<i128>

1.34.0 · source§

impl TryFrom<isize> for i8

1.34.0 · source§

impl TryFrom<isize> for i16

1.34.0 · source§

impl TryFrom<isize> for i32

1.34.0 · source§

impl TryFrom<isize> for i64

1.34.0 · source§

impl TryFrom<isize> for i128

1.34.0 · source§

impl TryFrom<isize> for u8

1.34.0 · source§

impl TryFrom<isize> for u16

1.34.0 · source§

impl TryFrom<isize> for u32

1.34.0 · source§

impl TryFrom<isize> for u64

1.34.0 · source§

impl TryFrom<isize> for u128

1.34.0 · source§

impl TryFrom<isize> for usize

1.46.0 · source§

impl TryFrom<isize> for NonZero<isize>

1.34.0 · source§

impl TryFrom<u8> for i8

1.46.0 · source§

impl TryFrom<u8> for NonZero<u8>

§

impl TryFrom<u8> for Month

§

type Error = ComponentRange

§

impl TryFrom<u8> for RevocationReason

§

type Error = Error

1.34.0 · source§

impl TryFrom<u16> for i8

1.34.0 · source§

impl TryFrom<u16> for i16

1.34.0 · source§

impl TryFrom<u16> for isize

1.34.0 · source§

impl TryFrom<u16> for u8

§

impl TryFrom<u16> for StatusCode

§

type Error = InvalidStatusCode

1.46.0 · source§

impl TryFrom<u16> for NonZero<u16>

1.34.0 · source§

impl TryFrom<u32> for char

1.34.0 · source§

impl TryFrom<u32> for i8

1.34.0 · source§

impl TryFrom<u32> for i16

1.34.0 · source§

impl TryFrom<u32> for i32

1.34.0 · source§

impl TryFrom<u32> for isize

1.34.0 · source§

impl TryFrom<u32> for u8

1.34.0 · source§

impl TryFrom<u32> for u16

1.34.0 · source§

impl TryFrom<u32> for usize

1.46.0 · source§

impl TryFrom<u32> for NonZero<u32>

1.34.0 · source§

impl TryFrom<u64> for i8

1.34.0 · source§

impl TryFrom<u64> for i16

1.34.0 · source§

impl TryFrom<u64> for i32

1.34.0 · source§

impl TryFrom<u64> for i64

1.34.0 · source§

impl TryFrom<u64> for isize

1.34.0 · source§

impl TryFrom<u64> for u8

1.34.0 · source§

impl TryFrom<u64> for u16

1.34.0 · source§

impl TryFrom<u64> for u32

1.34.0 · source§

impl TryFrom<u64> for usize

1.46.0 · source§

impl TryFrom<u64> for NonZero<u64>

§

impl TryFrom<u64> for StreamId

§

type Error = InvalidStreamId

§

impl TryFrom<u64> for VarInt

§

type Error = VarIntBoundsExceeded

1.34.0 · source§

impl TryFrom<u128> for i8

1.34.0 · source§

impl TryFrom<u128> for i16

1.34.0 · source§

impl TryFrom<u128> for i32

1.34.0 · source§

impl TryFrom<u128> for i64

1.34.0 · source§

impl TryFrom<u128> for i128

1.34.0 · source§

impl TryFrom<u128> for isize

1.34.0 · source§

impl TryFrom<u128> for u8

1.34.0 · source§

impl TryFrom<u128> for u16

1.34.0 · source§

impl TryFrom<u128> for u32

1.34.0 · source§

impl TryFrom<u128> for u64

1.34.0 · source§

impl TryFrom<u128> for usize

1.46.0 · source§

impl TryFrom<u128> for NonZero<u128>

§

impl TryFrom<u128> for VarInt

§

type Error = VarIntBoundsExceeded

1.34.0 · source§

impl TryFrom<usize> for i8

1.34.0 · source§

impl TryFrom<usize> for i16

1.34.0 · source§

impl TryFrom<usize> for i32

1.34.0 · source§

impl TryFrom<usize> for i64

1.34.0 · source§

impl TryFrom<usize> for i128

1.34.0 · source§

impl TryFrom<usize> for isize

1.34.0 · source§

impl TryFrom<usize> for u8

1.34.0 · source§

impl TryFrom<usize> for u16

1.34.0 · source§

impl TryFrom<usize> for u32

1.34.0 · source§

impl TryFrom<usize> for u64

1.34.0 · 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

§

impl TryFrom<String> for HeaderName

§

impl TryFrom<String> for HeaderValue

§

impl TryFrom<String> for Uri

§

impl TryFrom<String> for Authority

§

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 Uuid

Available on crate feature std only.
§

type Error = Error

§

impl TryFrom<Vec<u8>> for HeaderName

§

impl TryFrom<Vec<u8>> for HeaderValue

§

impl TryFrom<Vec<u8>> for Uri

§

impl TryFrom<Vec<u8>> for Authority

§

impl TryFrom<Vec<u8>> for PathAndQuery

§

impl TryFrom<UnixDatagram> for UnixDatagram

§

type Error = Error

§

impl TryFrom<UnixListener> for UnixListener

§

type Error = Error

§

impl TryFrom<UnixStream> for UnixStream

§

type Error = Error

§

impl TryFrom<Arc<ClientConfig>> for QuicClientConfig

§

type Error = NoInitialCipherSuite

§

impl TryFrom<Arc<ServerConfig>> for QuicServerConfig

§

type Error = NoInitialCipherSuite

§

impl TryFrom<Duration> for Duration

§

type Error = ConversionRange

§

impl TryFrom<Duration> for IdleTimeout

§

type Error = VarIntBoundsExceeded

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

§

impl TryFrom<TcpListener> for TcpListener

§

type Error = Error

§

impl TryFrom<TcpStream> for TcpStream

§

type Error = Error

§

impl TryFrom<UdpSocket> for UdpSocket

§

type Error = Error

§

impl TryFrom<Parts> for Uri

§

impl TryFrom<BorrowedFormatItem<'_>> for Component

§

type Error = DifferentVariant

§

impl TryFrom<ClientConfig> for QuicClientConfig

§

type Error = NoInitialCipherSuite

§

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

§

type Error = ConversionRange

§

impl TryFrom<Error> for ComponentRange

§

type Error = DifferentVariant

§

impl TryFrom<Error> for ConversionRange

§

type Error = DifferentVariant

§

impl TryFrom<Error> for DifferentVariant

§

type Error = DifferentVariant

§

impl TryFrom<Error> for Format

§

type Error = DifferentVariant

§

impl TryFrom<Error> for IndeterminateOffset

§

type Error = DifferentVariant

§

impl TryFrom<Error> for InvalidFormatDescription

§

type Error = DifferentVariant

§

impl TryFrom<Error> for InvalidVariant

§

type Error = DifferentVariant

§

impl TryFrom<Error> for Parse

§

type Error = DifferentVariant

§

impl TryFrom<Error> for ParseFromDescription

§

type Error = DifferentVariant

§

impl TryFrom<Error> for TryFromParsed

§

type Error = DifferentVariant

§

impl TryFrom<Format> for Error

§

type Error = DifferentVariant

§

impl TryFrom<Message> for String

§

type Error = Error

§

impl TryFrom<OwnedFormatItem> for Vec<OwnedFormatItem>

§

type Error = DifferentVariant

§

impl TryFrom<OwnedFormatItem> for Component

§

type Error = DifferentVariant

§

impl TryFrom<Parse> for ParseFromDescription

§

type Error = DifferentVariant

§

impl TryFrom<Parse> for TryFromParsed

§

type Error = DifferentVariant

§

impl TryFrom<Parsed> for OffsetDateTime

§

type Error = TryFromParsed

§

impl TryFrom<Parsed> for Date

§

type Error = TryFromParsed

§

impl TryFrom<Parsed> for PrimitiveDateTime

§

type Error = TryFromParsed

§

impl TryFrom<Parsed> for Time

§

type Error = TryFromParsed

§

impl TryFrom<Parsed> for UtcOffset

§

type Error = TryFromParsed

§

impl TryFrom<ServerConfig> for QuicServerConfig

§

type Error = NoInitialCipherSuite

§

impl TryFrom<TryFromParsed> for ComponentRange

§

type Error = DifferentVariant

§

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

§

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

§

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

§

type Error = InvalidMethod

§

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

§

type Error = InvalidStatusCode

§

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

§

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

§

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

§

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

§

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

§

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

§

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

1.72.0 · source§

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

§

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

§

type Error = Error

§

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

§

type Error = Error

§

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

§

type Error = Error

§

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

§

type Error = Unspecified

§

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

§

type Error = Unspecified

§

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

§

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

§

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

§

type Error = InvalidMethod

§

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

§

type Error = InvalidStatusCode

§

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

§

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

§

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

§

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

§

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

§

type Error = InvalidDnsNameError

§

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

§

type Error = &'static str

§

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

§

type Error = InvalidDnsNameError

§

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

Available on crate feature alloc only.
§

type Error = &'static str

§

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

§

type Error = DifferentVariant

§

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

§

type Error = Error

§

impl<'a, K, V, T> TryFrom<&'a HashMap<K, V>> for HeaderMap<T>
where K: Eq + Hash, HeaderName: TryFrom<&'a K>, <HeaderName as TryFrom<&'a K>>::Error: Into<Error>, T: TryFrom<&'a V>, <T as TryFrom<&'a V>>::Error: Into<Error>,

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

1.34.0 · 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));
1.34.0 · 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));