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
impliesTryInto
<U> for T
try_from
is reflexive, which means thatTryFrom<T> for T
is implemented and cannot fail โ the associatedError
type for callingT::try_from()
on a value of typeT
isInfallible
. When the!
type is stabilizedInfallible
and!
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", so this trait is not object safe.
Implementorsยง
ยงimpl TryFrom<&String> for PathAndQuery
impl TryFrom<&String> for PathAndQuery
type Error = InvalidUri
ยงimpl TryFrom<&[u8]> for SqliteOwnedBuf
ยงErrors
Returns [Error::InvalidArgument
] if the slice is empty.
impl TryFrom<&[u8]> for SqliteOwnedBuf
ยงErrors
Returns [Error::InvalidArgument
] if the slice is empty.
Sourceยงimpl TryFrom<(Option<URI>, Option<String>, Option<ArchiveId>, Option<String>, Option<Language>, Option<String>, Option<String>, Option<String>, Option<String>)> for URIComponents
impl TryFrom<(Option<URI>, Option<String>, Option<ArchiveId>, Option<String>, Option<Language>, Option<String>, Option<String>, Option<String>, Option<String>)> for URIComponents
Sourceยงimpl TryFrom<(Option<SymbolURI>, Option<ArchiveId>, Option<String>, Option<String>, Option<String>)> for SymURIComponents
impl TryFrom<(Option<SymbolURI>, Option<ArchiveId>, Option<String>, Option<String>, Option<String>)> for SymURIComponents
Sourceยงimpl TryFrom<(Option<DocumentURI>, Option<String>, Option<ArchiveId>, Option<String>, Option<Language>, Option<String>)> for DocURIComponents
impl TryFrom<(Option<DocumentURI>, Option<String>, Option<ArchiveId>, Option<String>, Option<Language>, Option<String>)> for DocURIComponents
Sourceยงimpl TryFrom<ParagraphKind> for SearchResultKind
impl TryFrom<ParagraphKind> for SearchResultKind
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.
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.
type Error = TryFromCharError
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.
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.
type Error = TryFromCharError
1.34.0 (const: unstable) ยท Sourceยงimpl TryFrom<i128> for isize
impl TryFrom<i128> for isize
type Error = TryFromIntError
1.34.0 (const: unstable) ยท Sourceยงimpl TryFrom<i128> for usize
impl TryFrom<i128> for usize
type Error = TryFromIntError
1.34.0 (const: unstable) ยท Sourceยงimpl TryFrom<isize> for i128
impl TryFrom<isize> for i128
type Error = TryFromIntError
1.34.0 (const: unstable) ยท Sourceยงimpl TryFrom<isize> for u128
impl TryFrom<isize> for u128
type Error = TryFromIntError
1.34.0 (const: unstable) ยท Sourceยงimpl TryFrom<isize> for usize
impl TryFrom<isize> for usize
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
ยงimpl TryFrom<u16> for StatusCode
impl TryFrom<u16> for StatusCode
type Error = InvalidStatusCode
1.34.0 (const: unstable) ยท Sourceยงimpl TryFrom<u128> for isize
impl TryFrom<u128> for isize
type Error = TryFromIntError
1.34.0 (const: unstable) ยท Sourceยงimpl TryFrom<u128> for usize
impl TryFrom<u128> for usize
type Error = TryFromIntError
1.34.0 (const: unstable) ยท Sourceยงimpl TryFrom<usize> for i128
impl TryFrom<usize> for i128
type Error = TryFromIntError
1.34.0 (const: unstable) ยท Sourceยงimpl TryFrom<usize> for isize
impl TryFrom<usize> for isize
type Error = TryFromIntError
1.34.0 (const: unstable) ยท Sourceยงimpl TryFrom<usize> for u128
impl TryFrom<usize> for u128
type Error = TryFromIntError
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<ByteString> for String
impl TryFrom<ByteString> for String
type Error = FromUtf8Error
ยงimpl TryFrom<String> for ReloadWSProtocol
impl TryFrom<String> for ReloadWSProtocol
type Error = LeptosConfigError
ยงimpl TryFrom<String> for HeaderName
impl TryFrom<String> for HeaderName
type Error = InvalidHeaderName
ยงimpl TryFrom<String> for HeaderValue
impl TryFrom<String> for HeaderValue
type Error = InvalidHeaderValue
ยงimpl TryFrom<String> for PathAndQuery
impl TryFrom<String> for PathAndQuery
type Error = InvalidUri
ยงimpl TryFrom<Vec<u8>> for HeaderName
impl TryFrom<Vec<u8>> for HeaderName
type Error = InvalidHeaderName
ยงimpl TryFrom<Vec<u8>> for HeaderValue
impl TryFrom<Vec<u8>> for HeaderValue
type Error = InvalidHeaderValue
ยงimpl TryFrom<Vec<u8>> for PathAndQuery
impl TryFrom<Vec<u8>> for PathAndQuery
type Error = InvalidUri
ยงimpl TryFrom<Date> for DateTime
Conversion according to XPath cast rules.
impl TryFrom<Date> for DateTime
Conversion according to XPath cast rules.
ยงimpl TryFrom<Date> for GYear
Conversion according to XPath cast rules.
impl TryFrom<Date> for GYear
Conversion according to XPath cast rules.
ยงimpl TryFrom<DateTime> for Date
Conversion according to XPath cast rules.
impl TryFrom<DateTime> for Date
Conversion according to XPath cast rules.
ยงimpl TryFrom<DateTime> for GYear
Conversion according to XPath cast rules.
impl TryFrom<DateTime> for GYear
Conversion according to XPath cast rules.
ยงimpl TryFrom<DateTime> for GYearMonth
Conversion according to XPath cast rules.
impl TryFrom<DateTime> for GYearMonth
Conversion according to XPath cast rules.
ยงimpl TryFrom<SocketAddrAny> for SocketAddr
impl TryFrom<SocketAddrAny> for SocketAddr
ยงimpl TryFrom<SocketAddrAny> for SocketAddrV4
impl TryFrom<SocketAddrAny> for SocketAddrV4
ยงimpl TryFrom<SocketAddrAny> for SocketAddrV6
impl TryFrom<SocketAddrAny> for SocketAddrV6
ยงimpl TryFrom<Timespec> for flams_router_vscode::server_fn::inventory::core::time::Duration
impl TryFrom<Timespec> for flams_router_vscode::server_fn::inventory::core::time::Duration
type Error = TryFromIntError
ยงimpl<'a> TryFrom<&'a str> for HeaderName
impl<'a> TryFrom<&'a str> for HeaderName
type Error = InvalidHeaderName
ยงimpl<'a> TryFrom<&'a str> for HeaderValue
impl<'a> TryFrom<&'a str> for HeaderValue
type Error = InvalidHeaderValue
ยงimpl<'a> TryFrom<&'a str> for StatusCode
impl<'a> TryFrom<&'a str> for StatusCode
type Error = InvalidStatusCode
ยงimpl<'a> TryFrom<&'a str> for PathAndQuery
impl<'a> TryFrom<&'a str> for PathAndQuery
type Error = InvalidUri
ยงimpl<'a> TryFrom<&'a str> for flams_router_vscode::server_fn::axum_export::http::uri::Scheme
impl<'a> TryFrom<&'a str> for flams_router_vscode::server_fn::axum_export::http::uri::Scheme
type Error = InvalidUri
ยง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.
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.
ยงimpl<'a> TryFrom<&'a String> for HeaderName
impl<'a> TryFrom<&'a String> for HeaderName
type Error = InvalidHeaderName
ยงimpl<'a> TryFrom<&'a String> for HeaderValue
impl<'a> TryFrom<&'a String> for HeaderValue
type Error = InvalidHeaderValue
ยงimpl<'a> TryFrom<&'a Path> for &'a Utf8Path
Converts a Path
to a [Utf8Path
].
impl<'a> TryFrom<&'a Path> for &'a Utf8Path
Converts a Path
to a [Utf8Path
].
Returns [FromPathError
] if the path is not valid UTF-8.
ยงExamples
use camino::Utf8Path;
use std::convert::TryFrom;
use std::ffi::OsStr;
use std::os::unix::ffi::OsStrExt;
use std::path::Path;
let unicode_path = Path::new("/valid/unicode");
<&Utf8Path>::try_from(unicode_path).expect("valid Unicode path succeeded");
// Paths on Unix can be non-UTF-8.
let non_unicode_str = OsStr::from_bytes(b"\xFF\xFF\xFF");
let non_unicode_path = Path::new(non_unicode_str);
assert!(<&Utf8Path>::try_from(non_unicode_path).is_err(), "non-Unicode path failed");
ยงimpl<'a> TryFrom<&'a [u8]> for HeaderName
impl<'a> TryFrom<&'a [u8]> for HeaderName
type Error = InvalidHeaderName
ยงimpl<'a> TryFrom<&'a [u8]> for HeaderValue
impl<'a> TryFrom<&'a [u8]> for HeaderValue
type Error = InvalidHeaderValue
ยงimpl<'a> TryFrom<&'a [u8]> for StatusCode
impl<'a> TryFrom<&'a [u8]> for StatusCode
type Error = InvalidStatusCode
ยงimpl<'a> TryFrom<&'a [u8]> for PathAndQuery
impl<'a> TryFrom<&'a [u8]> for PathAndQuery
type Error = InvalidUri
ยงimpl<'a> TryFrom<&'a [u8]> for flams_router_vscode::server_fn::axum_export::http::uri::Scheme
impl<'a> TryFrom<&'a [u8]> for flams_router_vscode::server_fn::axum_export::http::uri::Scheme
type Error = InvalidUri
Sourceยงimpl<'a, C, const N: usize> TryFrom<&'a [<C as Premultiply>::Scalar]> for &'a PreAlpha<C>
impl<'a, C, const N: usize> TryFrom<&'a [<C as Premultiply>::Scalar]> for &'a PreAlpha<C>
type Error = <&'a [<C as Premultiply>::Scalar; N] as TryFrom<&'a [<C as Premultiply>::Scalar]>>::Error
Sourceยงimpl<'a, C, const N: usize> TryFrom<&'a mut [<C as Premultiply>::Scalar]> for &'a mut PreAlpha<C>
impl<'a, C, const N: usize> TryFrom<&'a mut [<C as Premultiply>::Scalar]> for &'a mut PreAlpha<C>
type Error = <&'a mut [<C as Premultiply>::Scalar; N] as TryFrom<&'a mut [<C as Premultiply>::Scalar]>>::Error
ยงimpl<'a, K, V, S, T> TryFrom<&'a HashMap<K, V, S>> for HeaderMap<T>
Try to convert a HashMap
into a HeaderMap
.
impl<'a, K, V, S, T> TryFrom<&'a HashMap<K, V, S>> 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");
Sourceยงimpl<'a, T> TryFrom<&'a [T]> for &'a Cam16UcsJab<T>
impl<'a, T> TryFrom<&'a [T]> for &'a Cam16UcsJab<T>
Sourceยงimpl<'a, T> TryFrom<&'a [T]> for &'a Cam16UcsJmh<T>
impl<'a, T> TryFrom<&'a [T]> for &'a Cam16UcsJmh<T>
Sourceยงimpl<'a, T> TryFrom<&'a mut [T]> for &'a mut Cam16UcsJab<T>
impl<'a, T> TryFrom<&'a mut [T]> for &'a mut Cam16UcsJab<T>
Sourceยงimpl<'a, T> TryFrom<&'a mut [T]> for &'a mut Cam16UcsJmh<T>
impl<'a, T> TryFrom<&'a mut [T]> for &'a mut Cam16UcsJmh<T>
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
.
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 ยท 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
ยงimpl<O, P> TryFrom<I32<P>> for I16<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<I32<P>> for I16<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
ยงimpl<O, P> TryFrom<I64<P>> for I16<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<I64<P>> for I16<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
ยงimpl<O, P> TryFrom<I64<P>> for I32<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<I64<P>> for I32<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
ยงimpl<O, P> TryFrom<I128<P>> for I16<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<I128<P>> for I16<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
ยงimpl<O, P> TryFrom<I128<P>> for I32<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<I128<P>> for I32<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
ยงimpl<O, P> TryFrom<I128<P>> for I64<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<I128<P>> for I64<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
ยงimpl<O, P> TryFrom<Isize<P>> for I16<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<Isize<P>> for I16<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
ยงimpl<O, P> TryFrom<U32<P>> for U16<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<U32<P>> for U16<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
ยงimpl<O, P> TryFrom<U64<P>> for U16<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<U64<P>> for U16<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
ยงimpl<O, P> TryFrom<U64<P>> for U32<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<U64<P>> for U32<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
ยงimpl<O, P> TryFrom<U128<P>> for U16<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<U128<P>> for U16<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
ยงimpl<O, P> TryFrom<U128<P>> for U32<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<U128<P>> for U32<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
ยงimpl<O, P> TryFrom<U128<P>> for U64<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<U128<P>> for U64<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
ยงimpl<O, P> TryFrom<Usize<P>> for U16<O>where
O: ByteOrder,
P: ByteOrder,
impl<O, P> TryFrom<Usize<P>> for U16<O>where
O: ByteOrder,
P: ByteOrder,
type Error = TryFromIntError
1.43.0 ยท Sourceยงimpl<T, A, const N: usize> TryFrom<Rc<[T], A>> for Rc<[T; N], A>where
A: Allocator,
impl<T, A, const N: usize> TryFrom<Rc<[T], A>> for Rc<[T; N], A>where
A: Allocator,
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
1.34.0 ยท 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
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
.
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));