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 UimpliesTryInto<U> for Ttry_fromis reflexive, which means thatTryFrom<T> for Tis implemented and cannot fail – the associatedErrortype for callingT::try_from()on a value of typeTisInfallible. When the!type is stabilizedInfallibleand!will be equivalent.
Prefer using TryInto over TryFrom when specifying trait bounds on a generic function
to ensure that types that only implement TryInto can be used as well.
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§
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
Source§impl TryFrom<&str> for PresentationLayout
impl TryFrom<&str> for PresentationLayout
type Error = ParseError
Source§impl TryFrom<&str> for LogSpecification
impl TryFrom<&str> for LogSpecification
type Error = FlexiLoggerError
Source§impl TryFrom<&String> for PathAndQuery
impl TryFrom<&String> for PathAndQuery
type Error = InvalidUri
Source§impl TryFrom<&String> for LogSpecification
impl TryFrom<&String> for LogSpecification
type Error = FlexiLoggerError
Source§impl TryFrom<&Value> for CalendarAlgorithm
impl TryFrom<&Value> for CalendarAlgorithm
Source§impl TryFrom<&Value> for CollationCaseFirst
impl TryFrom<&Value> for CollationCaseFirst
Source§impl TryFrom<&Value> for CollationNumericOrdering
impl TryFrom<&Value> for CollationNumericOrdering
Source§impl TryFrom<&Value> for CollationType
impl TryFrom<&Value> for CollationType
Source§impl TryFrom<&Value> for CurrencyFormatStyle
impl TryFrom<&Value> for CurrencyFormatStyle
Source§impl TryFrom<&Value> for EmojiPresentationStyle
impl TryFrom<&Value> for EmojiPresentationStyle
Source§impl TryFrom<&Value> for LineBreakStyle
impl TryFrom<&Value> for LineBreakStyle
Source§impl TryFrom<&Value> for LineBreakWordHandling
impl TryFrom<&Value> for LineBreakWordHandling
Source§impl TryFrom<&Value> for MeasurementSystem
impl TryFrom<&Value> for MeasurementSystem
Source§impl TryFrom<&Value> for MeasurementUnitOverride
impl TryFrom<&Value> for MeasurementUnitOverride
Source§impl TryFrom<&Value> for SentenceBreakSupressions
impl TryFrom<&Value> for SentenceBreakSupressions
Source§impl TryFrom<&Value> for CommonVariantType
impl TryFrom<&Value> for CommonVariantType
Source§impl TryFrom<&Value> for CurrencyType
impl TryFrom<&Value> for CurrencyType
Source§impl TryFrom<&Value> for NumberingSystem
impl TryFrom<&Value> for NumberingSystem
Source§impl TryFrom<&Value> for RegionOverride
impl TryFrom<&Value> for RegionOverride
Source§impl TryFrom<&Value> for RegionalSubdivision
impl TryFrom<&Value> for RegionalSubdivision
Source§impl TryFrom<&Value> for TimeZoneShortId
impl TryFrom<&Value> for TimeZoneShortId
Source§impl TryFrom<&ColourSpec> for Html
impl TryFrom<&ColourSpec> for Html
Source§impl TryFrom<Error> for InvalidFormatDescription
impl TryFrom<Error> for InvalidFormatDescription
type Error = DifferentVariant
Source§impl TryFrom<Error> for ParseFromDescription
impl TryFrom<Error> for ParseFromDescription
type Error = DifferentVariant
Source§impl TryFrom<Error> for TryFromParsed
impl TryFrom<Error> for TryFromParsed
type Error = DifferentVariant
Source§impl TryFrom<Error> for ComponentRange
impl TryFrom<Error> for ComponentRange
type Error = DifferentVariant
Source§impl TryFrom<Error> for ConversionRange
impl TryFrom<Error> for ConversionRange
type Error = DifferentVariant
Source§impl TryFrom<Error> for DifferentVariant
impl TryFrom<Error> for DifferentVariant
type Error = DifferentVariant
Source§impl TryFrom<Error> for IndeterminateOffset
impl TryFrom<Error> for IndeterminateOffset
type Error = DifferentVariant
Source§impl TryFrom<Error> for InvalidVariant
impl TryFrom<Error> for InvalidVariant
type Error = DifferentVariant
Source§impl TryFrom<Parse> for ParseFromDescription
impl TryFrom<Parse> for ParseFromDescription
type Error = DifferentVariant
Source§impl TryFrom<Parse> for TryFromParsed
impl TryFrom<Parse> for TryFromParsed
type Error = DifferentVariant
Source§impl TryFrom<TryFromParsed> for ComponentRange
impl TryFrom<TryFromParsed> for ComponentRange
type Error = DifferentVariant
Source§impl TryFrom<FormatItem<'_>> for Component
impl TryFrom<FormatItem<'_>> for Component
type Error = DifferentVariant
1.59.0 (const: unstable) · Source§impl TryFrom<char> for u8
Maps a char with a code point from U+0000 to U+00FF (inclusive) to a byte in 0x00..=0xFF with
the same value, failing if the code point is greater than U+00FF.
impl TryFrom<char> for u8
Maps a char with a code point from U+0000 to U+00FF (inclusive) to a byte in 0x00..=0xFF with
the same value, failing if the code point is greater than U+00FF.
See impl From<u8> for char for details on the encoding.
type Error = TryFromCharError
1.74.0 (const: unstable) · Source§impl TryFrom<char> for u16
Maps a char with a code point from U+0000 to U+FFFF (inclusive) to a u16 in 0x0000..=0xFFFF
with the same value, failing if the code point is greater than U+FFFF.
impl TryFrom<char> for u16
Maps a char with a code point from U+0000 to U+FFFF (inclusive) to a u16 in 0x0000..=0xFFFF
with the 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.
type Error = TryFromCharError
1.94.0 (const: unstable) · Source§impl TryFrom<char> for usize
Maps a char with a code point from U+0000 to U+10FFFF (inclusive) to a usize in
0x0000..=0x10FFFF with the same value, failing if the final value is unrepresentable by
usize.
impl TryFrom<char> for usize
Maps a char with a code point from U+0000 to U+10FFFF (inclusive) to a usize in
0x0000..=0x10FFFF with the same value, failing if the final value is unrepresentable by
usize.
Generally speaking, this conversion can be seen as obtaining the character’s corresponding UTF-32 code point to the extent representable by pointer addresses.
type Error = TryFromCharError
1.46.0 (const: unstable) · Source§impl TryFrom<i8> for NonZero<i8>
impl TryFrom<i8> for NonZero<i8>
type Error = TryFromIntError
1.46.0 (const: unstable) · Source§impl TryFrom<i16> for NonZero<i16>
impl TryFrom<i16> for NonZero<i16>
type Error = TryFromIntError
1.46.0 (const: unstable) · Source§impl TryFrom<i32> for NonZero<i32>
impl TryFrom<i32> for NonZero<i32>
type Error = TryFromIntError
1.46.0 (const: unstable) · Source§impl TryFrom<i64> for NonZero<i64>
impl TryFrom<i64> for NonZero<i64>
type Error = TryFromIntError
1.46.0 (const: unstable) · Source§impl TryFrom<i128> for NonZero<i128>
impl TryFrom<i128> for NonZero<i128>
type Error = TryFromIntError
1.46.0 (const: unstable) · Source§impl TryFrom<isize> for NonZero<isize>
impl TryFrom<isize> for NonZero<isize>
type Error = TryFromIntError
Source§impl TryFrom<u8> for Weekday
Any weekday can be represented as an integer from 0 to 6, which equals to
Weekday::num_days_from_monday in this implementation.
Do not heavily depend on this though; use explicit methods whenever possible.
impl TryFrom<u8> for Weekday
Any weekday can be represented as an integer from 0 to 6, which equals to
Weekday::num_days_from_monday in this implementation.
Do not heavily depend on this though; use explicit methods whenever possible.
type Error = OutOfRange
Source§impl TryFrom<u8> for GeneralCategory
impl TryFrom<u8> for GeneralCategory
1.46.0 (const: unstable) · Source§impl TryFrom<u8> for NonZero<u8>
impl TryFrom<u8> for NonZero<u8>
type Error = TryFromIntError
Source§impl TryFrom<u16> for aho_corasick::util::primitives::PatternID
impl TryFrom<u16> for aho_corasick::util::primitives::PatternID
type Error = PatternIDError
Source§impl TryFrom<u16> for aho_corasick::util::primitives::StateID
impl TryFrom<u16> for aho_corasick::util::primitives::StateID
type Error = StateIDError
Source§impl TryFrom<u16> for StatusCode
impl TryFrom<u16> for StatusCode
type Error = InvalidStatusCode
Source§impl TryFrom<u16> for regex_automata::util::primitives::PatternID
impl TryFrom<u16> for regex_automata::util::primitives::PatternID
type Error = PatternIDError
Source§impl TryFrom<u16> for SmallIndex
impl TryFrom<u16> for SmallIndex
type Error = SmallIndexError
Source§impl TryFrom<u16> for regex_automata::util::primitives::StateID
impl TryFrom<u16> for regex_automata::util::primitives::StateID
type Error = StateIDError
1.46.0 (const: unstable) · Source§impl TryFrom<u16> for NonZero<u16>
impl TryFrom<u16> for NonZero<u16>
type Error = TryFromIntError
Source§impl TryFrom<u32> for aho_corasick::util::primitives::PatternID
impl TryFrom<u32> for aho_corasick::util::primitives::PatternID
type Error = PatternIDError
Source§impl TryFrom<u32> for aho_corasick::util::primitives::StateID
impl TryFrom<u32> for aho_corasick::util::primitives::StateID
type Error = StateIDError
Source§impl TryFrom<u32> for regex_automata::util::primitives::PatternID
impl TryFrom<u32> for regex_automata::util::primitives::PatternID
type Error = PatternIDError
Source§impl TryFrom<u32> for SmallIndex
impl TryFrom<u32> for SmallIndex
type Error = SmallIndexError
Source§impl TryFrom<u32> for regex_automata::util::primitives::StateID
impl TryFrom<u32> for regex_automata::util::primitives::StateID
type Error = StateIDError
1.46.0 (const: unstable) · Source§impl TryFrom<u32> for NonZero<u32>
impl TryFrom<u32> for NonZero<u32>
type Error = TryFromIntError
Source§impl TryFrom<u64> for aho_corasick::util::primitives::PatternID
impl TryFrom<u64> for aho_corasick::util::primitives::PatternID
type Error = PatternIDError
Source§impl TryFrom<u64> for aho_corasick::util::primitives::StateID
impl TryFrom<u64> for aho_corasick::util::primitives::StateID
type Error = StateIDError
Source§impl TryFrom<u64> for regex_automata::util::primitives::PatternID
impl TryFrom<u64> for regex_automata::util::primitives::PatternID
type Error = PatternIDError
Source§impl TryFrom<u64> for SmallIndex
impl TryFrom<u64> for SmallIndex
type Error = SmallIndexError
Source§impl TryFrom<u64> for regex_automata::util::primitives::StateID
impl TryFrom<u64> for regex_automata::util::primitives::StateID
type Error = StateIDError
1.46.0 (const: unstable) · Source§impl TryFrom<u64> for NonZero<u64>
impl TryFrom<u64> for NonZero<u64>
type Error = TryFromIntError
1.46.0 (const: unstable) · Source§impl TryFrom<u128> for NonZero<u128>
impl TryFrom<u128> for NonZero<u128>
type Error = TryFromIntError
Source§impl TryFrom<usize> for aho_corasick::util::primitives::PatternID
impl TryFrom<usize> for aho_corasick::util::primitives::PatternID
type Error = PatternIDError
Source§impl TryFrom<usize> for aho_corasick::util::primitives::StateID
impl TryFrom<usize> for aho_corasick::util::primitives::StateID
type Error = StateIDError
Source§impl TryFrom<usize> for regex_automata::util::primitives::PatternID
impl TryFrom<usize> for regex_automata::util::primitives::PatternID
type Error = PatternIDError
Source§impl TryFrom<usize> for SmallIndex
impl TryFrom<usize> for SmallIndex
type Error = SmallIndexError
Source§impl TryFrom<usize> for regex_automata::util::primitives::StateID
impl TryFrom<usize> for regex_automata::util::primitives::StateID
type Error = StateIDError
1.46.0 (const: unstable) · Source§impl TryFrom<usize> for NonZero<usize>
impl TryFrom<usize> for NonZero<usize>
type Error = TryFromIntError
Source§impl TryFrom<ByteString> for String
impl TryFrom<ByteString> for String
type Error = FromUtf8Error
Source§impl TryFrom<String> for HeaderName
impl TryFrom<String> for HeaderName
type Error = InvalidHeaderName
Source§impl TryFrom<String> for HeaderValue
impl TryFrom<String> for HeaderValue
type Error = InvalidHeaderValue
Source§impl TryFrom<String> for PathAndQuery
impl TryFrom<String> for PathAndQuery
type Error = InvalidUri
Source§impl TryFrom<String> for GoodItemName
impl TryFrom<String> for GoodItemName
type Error = LibraryLoadError
Source§impl TryFrom<Vec<u8>> for HeaderName
impl TryFrom<Vec<u8>> for HeaderName
type Error = InvalidHeaderName
Source§impl TryFrom<Vec<u8>> for HeaderValue
impl TryFrom<Vec<u8>> for HeaderValue
type Error = InvalidHeaderValue
Source§impl TryFrom<Vec<u32>> for FakeTimeSpec
impl TryFrom<Vec<u32>> for FakeTimeSpec
type Error = InvalidFakeTime
Source§impl TryFrom<TcpListener> for TcpListener
impl TryFrom<TcpListener> for TcpListener
Source§impl TryFrom<Value> for CurrencyType
impl TryFrom<Value> for CurrencyType
Source§impl TryFrom<Value> for NumberingSystem
impl TryFrom<Value> for NumberingSystem
Source§impl TryFrom<Value> for RegionOverride
impl TryFrom<Value> for RegionOverride
Source§impl TryFrom<Value> for RegionalSubdivision
impl TryFrom<Value> for RegionalSubdivision
Source§impl TryFrom<Value> for TimeZoneShortId
impl TryFrom<Value> for TimeZoneShortId
Source§impl TryFrom<PotentialCodePoint> for char
impl TryFrom<PotentialCodePoint> for char
type Error = CharTryFromError
Source§impl TryFrom<OffsetDateTime> for DateTime
Available on crate feature time only.
impl TryFrom<OffsetDateTime> for DateTime
time only.type Error = DateTimeRangeError
Source§impl TryFrom<Parsed> for OffsetDateTime
impl TryFrom<Parsed> for OffsetDateTime
type Error = TryFromParsed
Source§impl TryFrom<Parsed> for PrimitiveDateTime
impl TryFrom<Parsed> for PrimitiveDateTime
type Error = TryFromParsed
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i8>> for NonZero<u8>
impl TryFrom<NonZero<i8>> for NonZero<u8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i8>> for NonZero<u16>
impl TryFrom<NonZero<i8>> for NonZero<u16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i8>> for NonZero<u32>
impl TryFrom<NonZero<i8>> for NonZero<u32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i8>> for NonZero<u64>
impl TryFrom<NonZero<i8>> for NonZero<u64>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i8>> for NonZero<u128>
impl TryFrom<NonZero<i8>> for NonZero<u128>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i8>> for NonZero<usize>
impl TryFrom<NonZero<i8>> for NonZero<usize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i16>> for NonZero<i8>
impl TryFrom<NonZero<i16>> for NonZero<i8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i16>> for NonZero<u8>
impl TryFrom<NonZero<i16>> for NonZero<u8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i16>> for NonZero<u16>
impl TryFrom<NonZero<i16>> for NonZero<u16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i16>> for NonZero<u32>
impl TryFrom<NonZero<i16>> for NonZero<u32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i16>> for NonZero<u64>
impl TryFrom<NonZero<i16>> for NonZero<u64>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i16>> for NonZero<u128>
impl TryFrom<NonZero<i16>> for NonZero<u128>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i16>> for NonZero<usize>
impl TryFrom<NonZero<i16>> for NonZero<usize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i32>> for NonZero<i8>
impl TryFrom<NonZero<i32>> for NonZero<i8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i32>> for NonZero<i16>
impl TryFrom<NonZero<i32>> for NonZero<i16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i32>> for NonZero<isize>
impl TryFrom<NonZero<i32>> for NonZero<isize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i32>> for NonZero<u8>
impl TryFrom<NonZero<i32>> for NonZero<u8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i32>> for NonZero<u16>
impl TryFrom<NonZero<i32>> for NonZero<u16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i32>> for NonZero<u32>
impl TryFrom<NonZero<i32>> for NonZero<u32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i32>> for NonZero<u64>
impl TryFrom<NonZero<i32>> for NonZero<u64>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i32>> for NonZero<u128>
impl TryFrom<NonZero<i32>> for NonZero<u128>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i32>> for NonZero<usize>
impl TryFrom<NonZero<i32>> for NonZero<usize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i64>> for NonZero<i8>
impl TryFrom<NonZero<i64>> for NonZero<i8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i64>> for NonZero<i16>
impl TryFrom<NonZero<i64>> for NonZero<i16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i64>> for NonZero<i32>
impl TryFrom<NonZero<i64>> for NonZero<i32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i64>> for NonZero<isize>
impl TryFrom<NonZero<i64>> for NonZero<isize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i64>> for NonZero<u8>
impl TryFrom<NonZero<i64>> for NonZero<u8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i64>> for NonZero<u16>
impl TryFrom<NonZero<i64>> for NonZero<u16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i64>> for NonZero<u32>
impl TryFrom<NonZero<i64>> for NonZero<u32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i64>> for NonZero<u64>
impl TryFrom<NonZero<i64>> for NonZero<u64>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i64>> for NonZero<u128>
impl TryFrom<NonZero<i64>> for NonZero<u128>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i64>> for NonZero<usize>
impl TryFrom<NonZero<i64>> for NonZero<usize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i128>> for NonZero<i8>
impl TryFrom<NonZero<i128>> for NonZero<i8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i128>> for NonZero<i16>
impl TryFrom<NonZero<i128>> for NonZero<i16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i128>> for NonZero<i32>
impl TryFrom<NonZero<i128>> for NonZero<i32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i128>> for NonZero<i64>
impl TryFrom<NonZero<i128>> for NonZero<i64>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i128>> for NonZero<isize>
impl TryFrom<NonZero<i128>> for NonZero<isize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i128>> for NonZero<u8>
impl TryFrom<NonZero<i128>> for NonZero<u8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i128>> for NonZero<u16>
impl TryFrom<NonZero<i128>> for NonZero<u16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i128>> for NonZero<u32>
impl TryFrom<NonZero<i128>> for NonZero<u32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i128>> for NonZero<u64>
impl TryFrom<NonZero<i128>> for NonZero<u64>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i128>> for NonZero<u128>
impl TryFrom<NonZero<i128>> for NonZero<u128>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<i128>> for NonZero<usize>
impl TryFrom<NonZero<i128>> for NonZero<usize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<isize>> for NonZero<i8>
impl TryFrom<NonZero<isize>> for NonZero<i8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<isize>> for NonZero<i16>
impl TryFrom<NonZero<isize>> for NonZero<i16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<isize>> for NonZero<i32>
impl TryFrom<NonZero<isize>> for NonZero<i32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<isize>> for NonZero<i64>
impl TryFrom<NonZero<isize>> for NonZero<i64>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<isize>> for NonZero<i128>
impl TryFrom<NonZero<isize>> for NonZero<i128>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<isize>> for NonZero<u8>
impl TryFrom<NonZero<isize>> for NonZero<u8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<isize>> for NonZero<u16>
impl TryFrom<NonZero<isize>> for NonZero<u16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<isize>> for NonZero<u32>
impl TryFrom<NonZero<isize>> for NonZero<u32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<isize>> for NonZero<u64>
impl TryFrom<NonZero<isize>> for NonZero<u64>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<isize>> for NonZero<u128>
impl TryFrom<NonZero<isize>> for NonZero<u128>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<isize>> for NonZero<usize>
impl TryFrom<NonZero<isize>> for NonZero<usize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u8>> for NonZero<i8>
impl TryFrom<NonZero<u8>> for NonZero<i8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u16>> for NonZero<i8>
impl TryFrom<NonZero<u16>> for NonZero<i8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u16>> for NonZero<i16>
impl TryFrom<NonZero<u16>> for NonZero<i16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u16>> for NonZero<isize>
impl TryFrom<NonZero<u16>> for NonZero<isize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u16>> for NonZero<u8>
impl TryFrom<NonZero<u16>> for NonZero<u8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u32>> for NonZero<i8>
impl TryFrom<NonZero<u32>> for NonZero<i8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u32>> for NonZero<i16>
impl TryFrom<NonZero<u32>> for NonZero<i16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u32>> for NonZero<i32>
impl TryFrom<NonZero<u32>> for NonZero<i32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u32>> for NonZero<isize>
impl TryFrom<NonZero<u32>> for NonZero<isize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u32>> for NonZero<u8>
impl TryFrom<NonZero<u32>> for NonZero<u8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u32>> for NonZero<u16>
impl TryFrom<NonZero<u32>> for NonZero<u16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u32>> for NonZero<usize>
impl TryFrom<NonZero<u32>> for NonZero<usize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u64>> for NonZero<i8>
impl TryFrom<NonZero<u64>> for NonZero<i8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u64>> for NonZero<i16>
impl TryFrom<NonZero<u64>> for NonZero<i16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u64>> for NonZero<i32>
impl TryFrom<NonZero<u64>> for NonZero<i32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u64>> for NonZero<i64>
impl TryFrom<NonZero<u64>> for NonZero<i64>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u64>> for NonZero<isize>
impl TryFrom<NonZero<u64>> for NonZero<isize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u64>> for NonZero<u8>
impl TryFrom<NonZero<u64>> for NonZero<u8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u64>> for NonZero<u16>
impl TryFrom<NonZero<u64>> for NonZero<u16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u64>> for NonZero<u32>
impl TryFrom<NonZero<u64>> for NonZero<u32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u64>> for NonZero<usize>
impl TryFrom<NonZero<u64>> for NonZero<usize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u128>> for NonZero<i8>
impl TryFrom<NonZero<u128>> for NonZero<i8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u128>> for NonZero<i16>
impl TryFrom<NonZero<u128>> for NonZero<i16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u128>> for NonZero<i32>
impl TryFrom<NonZero<u128>> for NonZero<i32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u128>> for NonZero<i64>
impl TryFrom<NonZero<u128>> for NonZero<i64>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u128>> for NonZero<i128>
impl TryFrom<NonZero<u128>> for NonZero<i128>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u128>> for NonZero<isize>
impl TryFrom<NonZero<u128>> for NonZero<isize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u128>> for NonZero<u8>
impl TryFrom<NonZero<u128>> for NonZero<u8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u128>> for NonZero<u16>
impl TryFrom<NonZero<u128>> for NonZero<u16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u128>> for NonZero<u32>
impl TryFrom<NonZero<u128>> for NonZero<u32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u128>> for NonZero<u64>
impl TryFrom<NonZero<u128>> for NonZero<u64>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<u128>> for NonZero<usize>
impl TryFrom<NonZero<u128>> for NonZero<usize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<usize>> for NonZero<i8>
impl TryFrom<NonZero<usize>> for NonZero<i8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<usize>> for NonZero<i16>
impl TryFrom<NonZero<usize>> for NonZero<i16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<usize>> for NonZero<i32>
impl TryFrom<NonZero<usize>> for NonZero<i32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<usize>> for NonZero<i64>
impl TryFrom<NonZero<usize>> for NonZero<i64>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<usize>> for NonZero<i128>
impl TryFrom<NonZero<usize>> for NonZero<i128>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<usize>> for NonZero<isize>
impl TryFrom<NonZero<usize>> for NonZero<isize>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<usize>> for NonZero<u8>
impl TryFrom<NonZero<usize>> for NonZero<u8>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<usize>> for NonZero<u16>
impl TryFrom<NonZero<usize>> for NonZero<u16>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<usize>> for NonZero<u32>
impl TryFrom<NonZero<usize>> for NonZero<u32>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<usize>> for NonZero<u64>
impl TryFrom<NonZero<usize>> for NonZero<u64>
type Error = TryFromIntError
1.49.0 (const: unstable) · Source§impl TryFrom<NonZero<usize>> for NonZero<u128>
impl TryFrom<NonZero<usize>> for NonZero<u128>
type Error = TryFromIntError
Source§impl TryFrom<Duration> for FutureInstant
impl TryFrom<Duration> for FutureInstant
Source§impl TryFrom<UnixStream> for UnixStream
impl TryFrom<UnixStream> for UnixStream
Source§impl TryFrom<UnixDatagram> for UnixDatagram
impl TryFrom<UnixDatagram> for UnixDatagram
Source§impl TryFrom<UnixListener> for UnixListener
impl TryFrom<UnixListener> for UnixListener
Source§impl TryFrom<IOccultIlk_Compat> for IOccultIlk
impl TryFrom<IOccultIlk_Compat> for IOccultIlk
type Error = Infallible
Source§impl<'a> TryFrom<&'a str> for HeaderName
impl<'a> TryFrom<&'a str> for HeaderName
type Error = InvalidHeaderName
Source§impl<'a> TryFrom<&'a str> for HeaderValue
impl<'a> TryFrom<&'a str> for HeaderValue
type Error = InvalidHeaderValue
Source§impl<'a> TryFrom<&'a str> for StatusCode
impl<'a> TryFrom<&'a str> for StatusCode
type Error = InvalidStatusCode
Source§impl<'a> TryFrom<&'a str> for PathAndQuery
impl<'a> TryFrom<&'a str> for PathAndQuery
type Error = InvalidUri
Source§impl<'a> TryFrom<&'a String> for HeaderName
impl<'a> TryFrom<&'a String> for HeaderName
type Error = InvalidHeaderName
Source§impl<'a> TryFrom<&'a String> for HeaderValue
impl<'a> TryFrom<&'a String> for HeaderValue
type Error = InvalidHeaderValue
Source§impl<'a> TryFrom<&'a [u8]> for HeaderName
impl<'a> TryFrom<&'a [u8]> for HeaderName
type Error = InvalidHeaderName
Source§impl<'a> TryFrom<&'a [u8]> for HeaderValue
impl<'a> TryFrom<&'a [u8]> for HeaderValue
type Error = InvalidHeaderValue
Source§impl<'a> TryFrom<&'a [u8]> for StatusCode
impl<'a> TryFrom<&'a [u8]> for StatusCode
type Error = InvalidStatusCode
Source§impl<'a> TryFrom<&'a [u8]> for PathAndQuery
impl<'a> TryFrom<&'a [u8]> for PathAndQuery
type Error = InvalidUri
Source§impl<'a> TryFrom<FormatItem<'a>> for &[FormatItem<'a>]
impl<'a> TryFrom<FormatItem<'a>> for &[FormatItem<'a>]
type Error = DifferentVariant
Source§impl<'a> TryFrom<Vec<u8>> for PathAndQuery
impl<'a> TryFrom<Vec<u8>> for PathAndQuery
type Error = InvalidUri
Source§impl<'a, K, V, T> TryFrom<&'a HashMap<K, V>> for HeaderMap<T>
Try to convert a HashMap into a HeaderMap.
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");1.34.0 (const: unstable) · 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.
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));type Error = TryFromSliceError
1.34.0 (const: unstable) · 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.
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));type Error = TryFromSliceError
Source§impl<'a, const CAP: usize> TryFrom<&'a str> for ArrayString<CAP>
impl<'a, const CAP: usize> TryFrom<&'a str> for ArrayString<CAP>
type Error = CapacityError<&'a str>
Source§impl<'a, const CAP: usize> TryFrom<Arguments<'a>> for ArrayString<CAP>
impl<'a, const CAP: usize> TryFrom<Arguments<'a>> for ArrayString<CAP>
type Error = CapacityError<Error>
Source§impl<'trie, T> TryFrom<&'trie CodePointTrie<'trie, T>> for &'trie FastCodePointTrie<'trie, T>where
T: TrieValue,
impl<'trie, T> TryFrom<&'trie CodePointTrie<'trie, T>> for &'trie FastCodePointTrie<'trie, T>where
T: TrieValue,
Source§impl<'trie, T> TryFrom<&'trie CodePointTrie<'trie, T>> for &'trie SmallCodePointTrie<'trie, T>where
T: TrieValue,
impl<'trie, T> TryFrom<&'trie CodePointTrie<'trie, T>> for &'trie SmallCodePointTrie<'trie, T>where
T: TrieValue,
Source§impl<'trie, T> TryFrom<CodePointTrie<'trie, T>> for FastCodePointTrie<'trie, T>where
T: TrieValue,
impl<'trie, T> TryFrom<CodePointTrie<'trie, T>> for FastCodePointTrie<'trie, T>where
T: TrieValue,
Source§impl<'trie, T> TryFrom<CodePointTrie<'trie, T>> for SmallCodePointTrie<'trie, T>where
T: TrieValue,
impl<'trie, T> TryFrom<CodePointTrie<'trie, T>> for SmallCodePointTrie<'trie, T>where
T: TrieValue,
Source§impl<T> TryFrom<Dh<T>> for PKey<T>
Available on non-boringssl only.
impl<T> TryFrom<Dh<T>> for PKey<T>
boringssl only.type Error = ErrorStack
1.43.0 · Source§impl<T, A, const N: usize> TryFrom<Arc<[T], A>> for Arc<[T; N], A>where
A: Allocator,
impl<T, A, const N: usize> TryFrom<Arc<[T], A>> for Arc<[T; N], A>where
A: Allocator,
1.34.0 (const: unstable) · Source§impl<T, U> TryFrom<U> for Twhere
U: Into<T>,
impl<T, U> TryFrom<U> for Twhere
U: Into<T>,
type Error = Infallible
Source§impl<T, const CAP: usize> TryFrom<&[T]> for 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.
impl<T, const CAP: usize> TryFrom<&[T]> for 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);type Error = CapacityError
1.34.0 (const: unstable) · 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.
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));type Error = TryFromSliceError
Source§impl<T, const N: usize> TryFrom<&[T]> for Simd<T, N>where
T: SimdElement,
impl<T, const N: usize> TryFrom<&[T]> for Simd<T, N>where
T: SimdElement,
type Error = TryFromSliceError
1.59.0 (const: unstable) · 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.
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));type Error = TryFromSliceError
Source§impl<T, const N: usize> TryFrom<&mut [T]> for Simd<T, N>where
T: SimdElement,
impl<T, const N: usize> TryFrom<&mut [T]> for Simd<T, N>where
T: SimdElement,
type Error = TryFromSliceError
1.66.0 · Source§impl<T, const N: usize> TryFrom<Vec<T>> for Box<[T; N]>
Available on non-no_global_oom_handling only.
impl<T, const N: usize> TryFrom<Vec<T>> for Box<[T; N]>
no_global_oom_handling only.