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", so this trait is not object safe.
Implementors§
Source§impl TryFrom<&MaybeRelocatable> for Relocatable
impl TryFrom<&MaybeRelocatable> for Relocatable
Source§impl TryFrom<&str> for Decimal
Try to convert a &str into a Decimal.
impl TryFrom<&str> for Decimal
Try to convert a &str into a Decimal.
Can fail if the value is out of range for Decimal.
Source§impl TryFrom<&str> for ShortString
impl TryFrom<&str> for ShortString
Source§impl TryFrom<&Felt> for NonZeroFelt
impl TryFrom<&Felt> for NonZeroFelt
type Error = FeltIsZeroError
1.59.0 (const: unstable) · 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 (const: unstable) · 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
Source§impl TryFrom<f32> for Decimal
Try to convert a f32 into a Decimal.
impl TryFrom<f32> for Decimal
Try to convert a f32 into a Decimal.
Can fail if the value is out of range for Decimal.
Source§impl TryFrom<f64> for Decimal
Try to convert a f64 into a Decimal.
impl TryFrom<f64> for Decimal
Try to convert a f64 into a Decimal.
Can fail if the value is out of range for Decimal.
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
1.46.0 (const: unstable) · Source§impl TryFrom<u8> for NonZero<u8>
impl TryFrom<u8> for NonZero<u8>
type Error = TryFromIntError
1.46.0 (const: unstable) · Source§impl TryFrom<u16> for NonZero<u16>
impl TryFrom<u16> for NonZero<u16>
type Error = TryFromIntError
1.46.0 (const: unstable) · Source§impl TryFrom<u32> for NonZero<u32>
impl TryFrom<u32> for NonZero<u32>
type Error = TryFromIntError
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
1.46.0 (const: unstable) · Source§impl TryFrom<usize> for NonZero<usize>
impl TryFrom<usize> for NonZero<usize>
type Error = TryFromIntError
Source§impl TryFrom<Felt> for NonZeroFelt
impl TryFrom<Felt> for NonZeroFelt
type Error = FeltIsZeroError
Source§impl TryFrom<RawCairoLayoutParams> for CairoLayoutParams
impl TryFrom<RawCairoLayoutParams> for CairoLayoutParams
type Error = RunnerError
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<String> for ShortString
impl TryFrom<String> for ShortString
Source§impl TryFrom<ByteString> for String
impl TryFrom<ByteString> for String
type Error = FromUtf8Error
Source§impl TryFrom<Decimal> for f32
Try to convert a Decimal to f32.
impl TryFrom<Decimal> for f32
Try to convert a Decimal to f32.
Can fail if the Decimal is out of range for f32.
Source§impl TryFrom<Decimal> for f64
Try to convert a Decimal to f64.
impl TryFrom<Decimal> for f64
Try to convert a Decimal to f64.
Can fail if the Decimal is out of range for f64.
Source§impl TryFrom<Decimal> for i8
Try to convert a Decimal to i8 by truncating and returning the integer component.
impl TryFrom<Decimal> for i8
Try to convert a Decimal to i8 by truncating and returning the integer component.
Can fail if the Decimal is out of range for i8.
Source§impl TryFrom<Decimal> for i16
Try to convert a Decimal to i16 by truncating and returning the integer component.
impl TryFrom<Decimal> for i16
Try to convert a Decimal to i16 by truncating and returning the integer component.
Can fail if the Decimal is out of range for i16.
Source§impl TryFrom<Decimal> for i32
Try to convert a Decimal to i32 by truncating and returning the integer component.
impl TryFrom<Decimal> for i32
Try to convert a Decimal to i32 by truncating and returning the integer component.
Can fail if the Decimal is out of range for i32.
Source§impl TryFrom<Decimal> for i64
Try to convert a Decimal to i64 by truncating and returning the integer component.
impl TryFrom<Decimal> for i64
Try to convert a Decimal to i64 by truncating and returning the integer component.
Can fail if the Decimal is out of range for i64.
Source§impl TryFrom<Decimal> for i128
Try to convert a Decimal to i128 by truncating and returning the integer component.
impl TryFrom<Decimal> for i128
Try to convert a Decimal to i128 by truncating and returning the integer component.
Can fail if the Decimal is out of range for i128.
Source§impl TryFrom<Decimal> for isize
Try to convert a Decimal to isize by truncating and returning the integer component.
impl TryFrom<Decimal> for isize
Try to convert a Decimal to isize by truncating and returning the integer component.
Can fail if the Decimal is out of range for isize.
Source§impl TryFrom<Decimal> for u8
Try to convert a Decimal to u8 by truncating and returning the integer component.
impl TryFrom<Decimal> for u8
Try to convert a Decimal to u8 by truncating and returning the integer component.
Can fail if the Decimal is out of range for u8.
Source§impl TryFrom<Decimal> for u16
Try to convert a Decimal to u16 by truncating and returning the integer component.
impl TryFrom<Decimal> for u16
Try to convert a Decimal to u16 by truncating and returning the integer component.
Can fail if the Decimal is out of range for u16.
Source§impl TryFrom<Decimal> for u32
Try to convert a Decimal to u32 by truncating and returning the integer component.
impl TryFrom<Decimal> for u32
Try to convert a Decimal to u32 by truncating and returning the integer component.
Can fail if the Decimal is out of range for u32.
Source§impl TryFrom<Decimal> for u64
Try to convert a Decimal to u64 by truncating and returning the integer component.
impl TryFrom<Decimal> for u64
Try to convert a Decimal to u64 by truncating and returning the integer component.
Can fail if the Decimal is out of range for u64.
Source§impl TryFrom<Decimal> for u128
Try to convert a Decimal to u128 by truncating and returning the integer component.
impl TryFrom<Decimal> for u128
Try to convert a Decimal to u128 by truncating and returning the integer component.
Can fail if the Decimal is out of range for u128.
Source§impl TryFrom<Decimal> for usize
Try to convert a Decimal to usize by truncating and returning the integer component.
impl TryFrom<Decimal> for usize
Try to convert a Decimal to usize by truncating and returning the integer component.
Can fail if the Decimal is out of range for usize.
Source§impl TryFrom<AffinePoint> for ProjectivePoint
impl TryFrom<AffinePoint> for ProjectivePoint
type Error = CurveError
Source§impl<'a, T, O> TryFrom<&'a [T]> for &'a BitSlice<T, O>
Calls BitSlice::try_from_slice, but returns the original Rust slice on
error instead of the failure event.
impl<'a, T, O> TryFrom<&'a [T]> for &'a BitSlice<T, O>
Calls BitSlice::try_from_slice, but returns the original Rust slice on
error instead of the failure event.
This only fails if slice.len() exceeds BitSlice::MAX_ELTS.
Source§impl<'a, T, O> TryFrom<&'a mut [T]> for &'a mut BitSlice<T, O>
Calls BitSlice::try_from_slice_mut, but returns the original Rust slice
on error instead of the failure event.
impl<'a, T, O> TryFrom<&'a mut [T]> for &'a mut BitSlice<T, O>
Calls BitSlice::try_from_slice_mut, but returns the original Rust slice
on error instead of the failure event.
This only fails if slice.len() exceeds BitSlice::MAX_ELTS.
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<A, O> TryFrom<&BitSlice<<A as BitView>::Store, O>> for &BitArray<A, O>where
A: BitViewSized,
O: BitOrder,
impl<A, O> TryFrom<&BitSlice<<A as BitView>::Store, O>> for &BitArray<A, O>where
A: BitViewSized,
O: BitOrder,
Source§impl<A, O> TryFrom<&BitSlice<<A as BitView>::Store, O>> for BitArray<A, O>where
A: BitViewSized,
O: BitOrder,
impl<A, O> TryFrom<&BitSlice<<A as BitView>::Store, O>> for BitArray<A, O>where
A: BitViewSized,
O: BitOrder,
Source§impl<A, O> TryFrom<&mut BitSlice<<A as BitView>::Store, O>> for &mut BitArray<A, O>where
A: BitViewSized,
O: BitOrder,
impl<A, O> TryFrom<&mut BitSlice<<A as BitView>::Store, O>> for &mut BitArray<A, O>where
A: BitViewSized,
O: BitOrder,
Source§impl<T> TryFrom<*const T> for Address<Const, T>where
T: ?Sized,
impl<T> TryFrom<*const T> for Address<Const, T>where
T: ?Sized,
type Error = NullPtrError
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,
Source§impl<T, A, const N: usize> TryFrom<Box<[T], A>> for allocator_api2::stable::boxed::Box<[T; N], A>where
A: Allocator,
impl<T, A, const N: usize> TryFrom<Box<[T], A>> for allocator_api2::stable::boxed::Box<[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
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));