wasmtime_environ::__core::prelude::rust_2024

Trait TryFrom

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

    // Required method
    fn try_from(value: T) -> Result<Self, Self::Error>;
}
๐Ÿ”ฌThis is a nightly-only experimental API. (prelude_2024)
Expand description

Simple and safe type conversions that may fail in a controlled way under some circumstances. It is the reciprocal of TryInto.

This is useful when you are doing a type conversion that may trivially succeed but may also need special handling. For example, there is no way to convert an i64 into an i32 using the From trait, because an i64 may contain a value that an i32 cannot represent and so the conversion would lose data. This might be handled by truncating the i64 to an i32 or by simply returning i32::MAX, or by some other method. The From trait is intended for perfect conversions, so the TryFrom trait informs the programmer when a type conversion could go bad and lets them decide how to handle it.

ยงGeneric Implementations

  • TryFrom<T> for U implies TryInto<U> for T
  • try_from is reflexive, which means that TryFrom<T> for T is implemented and cannot fail โ€“ the associated Error type for calling T::try_from() on a value of type T is Infallible. When the ! type is stabilized Infallible and ! will be equivalent.

TryFrom<T> can be implemented as follows:

struct GreaterThanZero(i32);

impl TryFrom<i32> for GreaterThanZero {
    type Error = &'static str;

    fn try_from(value: i32) -> Result<Self, Self::Error> {
        if value <= 0 {
            Err("GreaterThanZero only accepts values greater than zero!")
        } else {
            Ok(GreaterThanZero(value))
        }
    }
}

ยงExamples

As described, i32 implements TryFrom<i64>:

let big_number = 1_000_000_000_000i64;
// Silently truncates `big_number`, requires detecting
// and handling the truncation after the fact.
let smaller_number = big_number as i32;
assert_eq!(smaller_number, -727379968);

// Returns an error because `big_number` is too big to
// fit in an `i32`.
let try_smaller_number = i32::try_from(big_number);
assert!(try_smaller_number.is_err());

// Returns `Ok(3)`.
let try_successful_smaller_number = i32::try_from(3);
assert!(try_successful_smaller_number.is_ok());

Required Associated Typesยง

source

type Error

๐Ÿ”ฌThis is a nightly-only experimental API. (prelude_2024)

The type returned in the event of a conversion error.

Required Methodsยง

source

fn try_from(value: T) -> Result<Self, Self::Error>

๐Ÿ”ฌThis is a nightly-only experimental API. (prelude_2024)

Performs the conversion.

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ยง

1.59.0 ยท sourceยง

impl TryFrom<char> for u8

Maps a char with code point in U+0000..=U+00FF to a byte in 0x00..=0xFF with same value, failing if the code point is greater than U+00FF.

See impl From<u8> for char for details on the encoding.

1.74.0 ยท sourceยง

impl TryFrom<char> for u16

Maps a char with code point in U+0000..=U+FFFF to a u16 in 0x0000..=0xFFFF with same value, failing if the code point is greater than U+FFFF.

This corresponds to the UCS-2 encoding, as specified in ISO/IEC 10646:2003.

1.34.0 ยท sourceยง

impl TryFrom<i8> for u8

1.34.0 ยท sourceยง

impl TryFrom<i8> for u16

1.34.0 ยท sourceยง

impl TryFrom<i8> for u32

1.34.0 ยท sourceยง

impl TryFrom<i8> for u64

1.34.0 ยท sourceยง

impl TryFrom<i8> for u128

1.34.0 ยท sourceยง

impl TryFrom<i8> for usize

1.46.0 ยท sourceยง

impl TryFrom<i8> for NonZero<i8>

1.34.0 ยท sourceยง

impl TryFrom<i16> for i8

1.34.0 ยท sourceยง

impl TryFrom<i16> for u8

1.34.0 ยท sourceยง

impl TryFrom<i16> for u16

1.34.0 ยท sourceยง

impl TryFrom<i16> for u32

1.34.0 ยท sourceยง

impl TryFrom<i16> for u64

1.34.0 ยท sourceยง

impl TryFrom<i16> for u128

1.34.0 ยท sourceยง

impl TryFrom<i16> for usize

1.46.0 ยท sourceยง

impl TryFrom<i16> for NonZero<i16>

1.34.0 ยท sourceยง

impl TryFrom<i32> for i8

1.34.0 ยท sourceยง

impl TryFrom<i32> for i16

1.34.0 ยท sourceยง

impl TryFrom<i32> for isize

1.34.0 ยท sourceยง

impl TryFrom<i32> for u8

1.34.0 ยท sourceยง

impl TryFrom<i32> for u16

1.34.0 ยท sourceยง

impl TryFrom<i32> for u32

1.34.0 ยท sourceยง

impl TryFrom<i32> for u64

1.34.0 ยท sourceยง

impl TryFrom<i32> for u128

1.34.0 ยท sourceยง

impl TryFrom<i32> for usize

1.46.0 ยท sourceยง

impl TryFrom<i32> for NonZero<i32>

1.34.0 ยท sourceยง

impl TryFrom<i64> for i8

1.34.0 ยท sourceยง

impl TryFrom<i64> for i16

1.34.0 ยท sourceยง

impl TryFrom<i64> for i32

1.34.0 ยท sourceยง

impl TryFrom<i64> for isize

1.34.0 ยท sourceยง

impl TryFrom<i64> for u8

1.34.0 ยท sourceยง

impl TryFrom<i64> for u16

1.34.0 ยท sourceยง

impl TryFrom<i64> for u32

1.34.0 ยท sourceยง

impl TryFrom<i64> for u64

1.34.0 ยท sourceยง

impl TryFrom<i64> for u128

1.34.0 ยท sourceยง

impl TryFrom<i64> for usize

1.46.0 ยท sourceยง

impl TryFrom<i64> for NonZero<i64>

1.34.0 ยท sourceยง

impl TryFrom<i128> for i8

1.34.0 ยท sourceยง

impl TryFrom<i128> for i16

1.34.0 ยท sourceยง

impl TryFrom<i128> for i32

1.34.0 ยท sourceยง

impl TryFrom<i128> for i64

1.34.0 ยท sourceยง

impl TryFrom<i128> for isize

1.34.0 ยท sourceยง

impl TryFrom<i128> for u8

1.34.0 ยท sourceยง

impl TryFrom<i128> for u16

1.34.0 ยท sourceยง

impl TryFrom<i128> for u32

1.34.0 ยท sourceยง

impl TryFrom<i128> for u64

1.34.0 ยท sourceยง

impl TryFrom<i128> for u128

1.34.0 ยท sourceยง

impl TryFrom<i128> for usize

1.46.0 ยท sourceยง

impl TryFrom<i128> for NonZero<i128>

1.34.0 ยท sourceยง

impl TryFrom<isize> for i8

1.34.0 ยท sourceยง

impl TryFrom<isize> for i16

1.34.0 ยท sourceยง

impl TryFrom<isize> for i32

1.34.0 ยท sourceยง

impl TryFrom<isize> for i64

1.34.0 ยท sourceยง

impl TryFrom<isize> for i128

1.34.0 ยท sourceยง

impl TryFrom<isize> for u8

1.34.0 ยท sourceยง

impl TryFrom<isize> for u16

1.34.0 ยท sourceยง

impl TryFrom<isize> for u32

1.34.0 ยท sourceยง

impl TryFrom<isize> for u64

1.34.0 ยท sourceยง

impl TryFrom<isize> for u128

1.34.0 ยท sourceยง

impl TryFrom<isize> for usize

1.46.0 ยท sourceยง

impl TryFrom<isize> for NonZero<isize>

1.34.0 ยท sourceยง

impl TryFrom<u8> for i8

1.46.0 ยท sourceยง

impl TryFrom<u8> for NonZero<u8>

ยง

impl TryFrom<u8> for RelocationType

1.34.0 ยท sourceยง

impl TryFrom<u16> for i8

1.34.0 ยท sourceยง

impl TryFrom<u16> for i16

1.34.0 ยท sourceยง

impl TryFrom<u16> for isize

1.34.0 ยท sourceยง

impl TryFrom<u16> for u8

1.46.0 ยท sourceยง

impl TryFrom<u16> for NonZero<u16>

1.34.0 ยท sourceยง

impl TryFrom<u32> for char

1.34.0 ยท sourceยง

impl TryFrom<u32> for i8

1.34.0 ยท sourceยง

impl TryFrom<u32> for i16

1.34.0 ยท sourceยง

impl TryFrom<u32> for i32

1.34.0 ยท sourceยง

impl TryFrom<u32> for isize

1.34.0 ยท sourceยง

impl TryFrom<u32> for u8

1.34.0 ยท sourceยง

impl TryFrom<u32> for u16

1.34.0 ยท sourceยง

impl TryFrom<u32> for usize

1.46.0 ยท sourceยง

impl TryFrom<u32> for NonZero<u32>

1.34.0 ยท sourceยง

impl TryFrom<u64> for i8

1.34.0 ยท sourceยง

impl TryFrom<u64> for i16

1.34.0 ยท sourceยง

impl TryFrom<u64> for i32

1.34.0 ยท sourceยง

impl TryFrom<u64> for i64

1.34.0 ยท sourceยง

impl TryFrom<u64> for isize

1.34.0 ยท sourceยง

impl TryFrom<u64> for u8

1.34.0 ยท sourceยง

impl TryFrom<u64> for u16

1.34.0 ยท sourceยง

impl TryFrom<u64> for u32

1.34.0 ยท sourceยง

impl TryFrom<u64> for usize

1.46.0 ยท sourceยง

impl TryFrom<u64> for NonZero<u64>

1.34.0 ยท sourceยง

impl TryFrom<u128> for i8

1.34.0 ยท sourceยง

impl TryFrom<u128> for i16

1.34.0 ยท sourceยง

impl TryFrom<u128> for i32

1.34.0 ยท sourceยง

impl TryFrom<u128> for i64

1.34.0 ยท sourceยง

impl TryFrom<u128> for i128

1.34.0 ยท sourceยง

impl TryFrom<u128> for isize

1.34.0 ยท sourceยง

impl TryFrom<u128> for u8

1.34.0 ยท sourceยง

impl TryFrom<u128> for u16

1.34.0 ยท sourceยง

impl TryFrom<u128> for u32

1.34.0 ยท sourceยง

impl TryFrom<u128> for u64

1.34.0 ยท sourceยง

impl TryFrom<u128> for usize

1.46.0 ยท sourceยง

impl TryFrom<u128> for NonZero<u128>

1.34.0 ยท sourceยง

impl TryFrom<usize> for i8

1.34.0 ยท sourceยง

impl TryFrom<usize> for i16

1.34.0 ยท sourceยง

impl TryFrom<usize> for i32

1.34.0 ยท sourceยง

impl TryFrom<usize> for i64

1.34.0 ยท sourceยง

impl TryFrom<usize> for i128

1.34.0 ยท sourceยง

impl TryFrom<usize> for isize

1.34.0 ยท sourceยง

impl TryFrom<usize> for u8

1.34.0 ยท sourceยง

impl TryFrom<usize> for u16

1.34.0 ยท sourceยง

impl TryFrom<usize> for u32

1.34.0 ยท sourceยง

impl TryFrom<usize> for u64

1.34.0 ยท sourceยง

impl TryFrom<usize> for u128

1.46.0 ยท sourceยง

impl TryFrom<usize> for NonZero<usize>

sourceยง

impl TryFrom<usize> for Alignment

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

1.49.0 ยท sourceยง

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

sourceยง

impl TryFrom<NonZero<usize>> for Alignment

sourceยง

impl TryFrom<CString> for String

ยง

impl TryFrom<AnyTypeId> for AliasableResourceId

ยง

impl TryFrom<AnyTypeId> for ComponentAnyTypeId

ยง

impl TryFrom<AnyTypeId> for ComponentCoreModuleTypeId

ยง

impl TryFrom<AnyTypeId> for ComponentCoreTypeId

ยง

impl TryFrom<AnyTypeId> for ComponentDefinedTypeId

ยง

impl TryFrom<AnyTypeId> for ComponentFuncTypeId

ยง

impl TryFrom<AnyTypeId> for ComponentInstanceTypeId

ยง

impl TryFrom<AnyTypeId> for ComponentTypeId

ยง

impl TryFrom<AnyTypeId> for CoreTypeId

ยง

impl TryFrom<ArrayType> for ArrayType

ยง

type Error = Error

ยง

impl TryFrom<BlockType> for BlockType

ยง

type Error = Error

ยง

impl TryFrom<ComponentAnyTypeId> for AliasableResourceId

ยง

impl TryFrom<ComponentAnyTypeId> for ComponentDefinedTypeId

ยง

impl TryFrom<ComponentAnyTypeId> for ComponentFuncTypeId

ยง

impl TryFrom<ComponentAnyTypeId> for ComponentInstanceTypeId

ยง

impl TryFrom<ComponentAnyTypeId> for ComponentTypeId

ยง

impl TryFrom<ComponentCoreTypeId> for ComponentCoreModuleTypeId

ยง

impl TryFrom<ComponentCoreTypeId> for CoreTypeId

ยง

impl TryFrom<CompositeType> for CompositeType

ยง

type Error = Error

ยง

impl TryFrom<FieldType> for FieldType

ยง

type Error = Error

ยง

impl TryFrom<FuncType> for FuncType

ยง

type Error = Error

ยง

impl TryFrom<GlobalType> for GlobalType

ยง

type Error = Error

ยง

impl TryFrom<HeapType> for HeapType

ยง

type Error = Error

ยง

impl TryFrom<RefType> for RefType

ยง

type Error = Error

ยง

impl TryFrom<StorageType> for StorageType

ยง

type Error = Error

ยง

impl TryFrom<StructType> for StructType

ยง

type Error = Error

ยง

impl TryFrom<SubType> for SubType

ยง

type Error = Error

ยง

impl TryFrom<TableType> for TableType

ยง

type Error = Error

ยง

impl TryFrom<TypeRef> for EntityType

ยง

type Error = Error

ยง

impl TryFrom<ValType> for ValType

ยง

type Error = Error

1.72.0 ยท sourceยง

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

ยง

impl<'a> TryFrom<ConstExpr<'a>> for ConstExpr

ยง

type Error = Error

ยง

impl<'a> TryFrom<Operator<'a>> for Instruction<'a>

ยง

type Error = Error

1.34.0 ยท sourceยง

impl<'a, T, const N: usize> TryFrom<&'a [T]> for &'a [T; N]

Tries to create an array ref &[T; N] from a slice ref &[T]. Succeeds if slice.len() == N.

let bytes: [u8; 3] = [1, 0, 2];

let bytes_head: &[u8; 2] = <&[u8; 2]>::try_from(&bytes[0..2]).unwrap();
assert_eq!(1, u16::from_le_bytes(*bytes_head));

let bytes_tail: &[u8; 2] = bytes[1..3].try_into().unwrap();
assert_eq!(512, u16::from_le_bytes(*bytes_tail));
1.34.0 ยท sourceยง

impl<'a, T, const N: usize> TryFrom<&'a mut [T]> for &'a mut [T; N]

Tries to create a mutable array ref &mut [T; N] from a mutable slice ref &mut [T]. Succeeds if slice.len() == N.

let mut bytes: [u8; 3] = [1, 0, 2];

let bytes_head: &mut [u8; 2] = <&mut [u8; 2]>::try_from(&mut bytes[0..2]).unwrap();
assert_eq!(1, u16::from_le_bytes(*bytes_head));

let bytes_tail: &mut [u8; 2] = (&mut bytes[1..3]).try_into().unwrap();
assert_eq!(512, u16::from_le_bytes(*bytes_tail));
1.48.0 ยท sourceยง

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

sourceยง

type Error = Vec<T, A>

1.43.0 ยท sourceยง

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,

1.34.0 ยท sourceยง

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

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.

let bytes: [u8; 3] = [1, 0, 2];

let bytes_head: [u8; 2] = <[u8; 2]>::try_from(&bytes[0..2]).unwrap();
assert_eq!(1, u16::from_le_bytes(bytes_head));

let bytes_tail: [u8; 2] = bytes[1..3].try_into().unwrap();
assert_eq!(512, u16::from_le_bytes(bytes_tail));
sourceยง

impl<T, const N: usize> TryFrom<&[T]> for Simd<T, N>

1.59.0 ยท sourceยง

impl<T, const N: usize> TryFrom<&mut [T]> for [T; N]
where T: Copy,

Tries to create an array [T; N] by copying from a mutable slice &mut [T]. Succeeds if slice.len() == N.

let mut bytes: [u8; 3] = [1, 0, 2];

let bytes_head: [u8; 2] = <[u8; 2]>::try_from(&mut bytes[0..2]).unwrap();
assert_eq!(1, u16::from_le_bytes(bytes_head));

let bytes_tail: [u8; 2] = (&mut bytes[1..3]).try_into().unwrap();
assert_eq!(512, u16::from_le_bytes(bytes_tail));
sourceยง

impl<T, const N: usize> TryFrom<&mut [T]> for Simd<T, N>

1.43.0 ยท sourceยง

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

1.66.0 ยท sourceยง

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