Movatterモバイル変換


[0]ホーム

URL:


TryFrom

core::convert

TraitTryFrom 

1.34.0 (const:unstable) ·Source
pub trait TryFrom<T>:Sized {    typeError;    // Required method    fntry_from(value: T) ->Result<Self, Self::Error>;}
Expand description

Simple and safe type conversions that may fail in a controlledway under some circumstances. It is the reciprocal ofTryInto.

This is useful when you are doing a type conversion that maytrivially succeed but may also need special handling.For example, there is no way to convert ani64 into ani32using theFrom trait, because ani64 may contain a valuethat ani32 cannot represent and so the conversion would lose data.This might be handled by truncating thei64 to ani32 or bysimply returningi32::MAX, or by some other method. TheFromtrait is intended for perfect conversions, so theTryFrom traitinforms the programmer when a type conversion could go bad and letsthem decide how to handle it.

§Generic Implementations

  • TryFrom<T> for U impliesTryInto<U> for T
  • try_from is reflexive, which means thatTryFrom<T> for Tis implemented and cannot fail – the associatedError type forcallingT::try_from() on a value of typeT isInfallible.When the! type is stabilizedInfallible and! will beequivalent.

Prefer usingTryInto overTryFrom when specifying trait bounds on a generic functionto ensure that types that only implementTryInto can be used as well.

TryFrom<T> can be implemented as follows:

structGreaterThanZero(i32);implTryFrom<i32>forGreaterThanZero {typeError =&'staticstr;fntry_from(value: i32) ->Result<Self,Self::Error> {ifvalue <=0{Err("GreaterThanZero only accepts values greater than zero!")        }else{Ok(GreaterThanZero(value))        }    }}

§Examples

As described,i32 implementsTryFrom<i64>:

letbig_number =1_000_000_000_000i64;// Silently truncates `big_number`, requires detecting// and handling the truncation after the fact.letsmaller_number = big_numberasi32;assert_eq!(smaller_number, -727379968);// Returns an error because `big_number` is too big to// fit in an `i32`.lettry_smaller_number = i32::try_from(big_number);assert!(try_smaller_number.is_err());// Returns `Ok(3)`.lettry_successful_smaller_number = i32::try_from(3);assert!(try_successful_smaller_number.is_ok());

Required Associated Types§

1.34.0 ·Source

typeError

The type returned in the event of a conversion error.

Required Methods§

1.34.0 ·Source

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

Performs the conversion.

Dyn Compatibility§

This trait isnotdyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

1.59.0 (const:unstable) ·Source§

implTryFrom<char> foru8

Maps achar 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.

Seeimpl From<u8> for char for details on the encoding.

1.74.0 (const:unstable) ·Source§

implTryFrom<char> foru16

Maps achar with code point in U+0000..=U+FFFF to au16 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 (const:unstable) ·Source§

implTryFrom<i8> foru8

1.34.0 (const:unstable) ·Source§

implTryFrom<i8> foru16

1.34.0 (const:unstable) ·Source§

implTryFrom<i8> foru32

1.34.0 (const:unstable) ·Source§

implTryFrom<i8> foru64

1.34.0 (const:unstable) ·Source§

implTryFrom<i8> foru128

1.34.0 (const:unstable) ·Source§

implTryFrom<i8> forusize

1.46.0 (const:unstable) ·Source§

implTryFrom<i8> forNonZero<i8>

1.34.0 (const:unstable) ·Source§

implTryFrom<i16> fori8

1.34.0 (const:unstable) ·Source§

implTryFrom<i16> foru8

1.34.0 (const:unstable) ·Source§

implTryFrom<i16> foru16

1.34.0 (const:unstable) ·Source§

implTryFrom<i16> foru32

1.34.0 (const:unstable) ·Source§

implTryFrom<i16> foru64

1.34.0 (const:unstable) ·Source§

implTryFrom<i16> foru128

1.34.0 (const:unstable) ·Source§

implTryFrom<i16> forusize

1.46.0 (const:unstable) ·Source§

implTryFrom<i16> forNonZero<i16>

1.34.0 (const:unstable) ·Source§

implTryFrom<i32> fori8

1.34.0 (const:unstable) ·Source§

implTryFrom<i32> fori16

1.34.0 (const:unstable) ·Source§

implTryFrom<i32> forisize

1.34.0 (const:unstable) ·Source§

implTryFrom<i32> foru8

1.34.0 (const:unstable) ·Source§

implTryFrom<i32> foru16

1.34.0 (const:unstable) ·Source§

implTryFrom<i32> foru32

1.34.0 (const:unstable) ·Source§

implTryFrom<i32> foru64

1.34.0 (const:unstable) ·Source§

implTryFrom<i32> foru128

1.34.0 (const:unstable) ·Source§

implTryFrom<i32> forusize

1.46.0 (const:unstable) ·Source§

implTryFrom<i32> forNonZero<i32>

1.34.0 (const:unstable) ·Source§

implTryFrom<i64> fori8

1.34.0 (const:unstable) ·Source§

implTryFrom<i64> fori16

1.34.0 (const:unstable) ·Source§

implTryFrom<i64> fori32

1.34.0 (const:unstable) ·Source§

implTryFrom<i64> forisize

1.34.0 (const:unstable) ·Source§

implTryFrom<i64> foru8

1.34.0 (const:unstable) ·Source§

implTryFrom<i64> foru16

1.34.0 (const:unstable) ·Source§

implTryFrom<i64> foru32

1.34.0 (const:unstable) ·Source§

implTryFrom<i64> foru64

1.34.0 (const:unstable) ·Source§

implTryFrom<i64> foru128

1.34.0 (const:unstable) ·Source§

implTryFrom<i64> forusize

1.46.0 (const:unstable) ·Source§

implTryFrom<i64> forNonZero<i64>

1.34.0 (const:unstable) ·Source§

implTryFrom<i128> fori8

1.34.0 (const:unstable) ·Source§

implTryFrom<i128> fori16

1.34.0 (const:unstable) ·Source§

implTryFrom<i128> fori32

1.34.0 (const:unstable) ·Source§

implTryFrom<i128> fori64

1.34.0 (const:unstable) ·Source§

implTryFrom<i128> forisize

1.34.0 (const:unstable) ·Source§

implTryFrom<i128> foru8

1.34.0 (const:unstable) ·Source§

implTryFrom<i128> foru16

1.34.0 (const:unstable) ·Source§

implTryFrom<i128> foru32

1.34.0 (const:unstable) ·Source§

implTryFrom<i128> foru64

1.34.0 (const:unstable) ·Source§

implTryFrom<i128> foru128

1.34.0 (const:unstable) ·Source§

implTryFrom<i128> forusize

1.46.0 (const:unstable) ·Source§

implTryFrom<i128> forNonZero<i128>

1.34.0 (const:unstable) ·Source§

implTryFrom<isize> fori8

1.34.0 (const:unstable) ·Source§

implTryFrom<isize> fori16

1.34.0 (const:unstable) ·Source§

implTryFrom<isize> fori32

1.34.0 (const:unstable) ·Source§

implTryFrom<isize> fori64

1.34.0 (const:unstable) ·Source§

implTryFrom<isize> fori128

1.34.0 (const:unstable) ·Source§

implTryFrom<isize> foru8

1.34.0 (const:unstable) ·Source§

implTryFrom<isize> foru16

1.34.0 (const:unstable) ·Source§

implTryFrom<isize> foru32

1.34.0 (const:unstable) ·Source§

implTryFrom<isize> foru64

1.34.0 (const:unstable) ·Source§

implTryFrom<isize> foru128

1.34.0 (const:unstable) ·Source§

implTryFrom<isize> forusize

1.46.0 (const:unstable) ·Source§

implTryFrom<isize> forNonZero<isize>

1.34.0 (const:unstable) ·Source§

implTryFrom<u8> fori8

1.46.0 (const:unstable) ·Source§

implTryFrom<u8> forNonZero<u8>

1.34.0 (const:unstable) ·Source§

implTryFrom<u16> fori8

1.34.0 (const:unstable) ·Source§

implTryFrom<u16> fori16

1.34.0 (const:unstable) ·Source§

implTryFrom<u16> forisize

1.34.0 (const:unstable) ·Source§

implTryFrom<u16> foru8

1.46.0 (const:unstable) ·Source§

implTryFrom<u16> forNonZero<u16>

1.34.0 (const:unstable) ·Source§

implTryFrom<u32> forchar

1.34.0 (const:unstable) ·Source§

implTryFrom<u32> fori8

1.34.0 (const:unstable) ·Source§

implTryFrom<u32> fori16

1.34.0 (const:unstable) ·Source§

implTryFrom<u32> fori32

1.34.0 (const:unstable) ·Source§

implTryFrom<u32> forisize

1.34.0 (const:unstable) ·Source§

implTryFrom<u32> foru8

1.34.0 (const:unstable) ·Source§

implTryFrom<u32> foru16

1.34.0 (const:unstable) ·Source§

implTryFrom<u32> forusize

1.46.0 (const:unstable) ·Source§

implTryFrom<u32> forNonZero<u32>

1.34.0 (const:unstable) ·Source§

implTryFrom<u64> fori8

1.34.0 (const:unstable) ·Source§

implTryFrom<u64> fori16

1.34.0 (const:unstable) ·Source§

implTryFrom<u64> fori32

1.34.0 (const:unstable) ·Source§

implTryFrom<u64> fori64

1.34.0 (const:unstable) ·Source§

implTryFrom<u64> forisize

1.34.0 (const:unstable) ·Source§

implTryFrom<u64> foru8

1.34.0 (const:unstable) ·Source§

implTryFrom<u64> foru16

1.34.0 (const:unstable) ·Source§

implTryFrom<u64> foru32

1.34.0 (const:unstable) ·Source§

implTryFrom<u64> forusize

1.46.0 (const:unstable) ·Source§

implTryFrom<u64> forNonZero<u64>

1.34.0 (const:unstable) ·Source§

implTryFrom<u128> fori8

1.34.0 (const:unstable) ·Source§

implTryFrom<u128> fori16

1.34.0 (const:unstable) ·Source§

implTryFrom<u128> fori32

1.34.0 (const:unstable) ·Source§

implTryFrom<u128> fori64

1.34.0 (const:unstable) ·Source§

implTryFrom<u128> fori128

1.34.0 (const:unstable) ·Source§

implTryFrom<u128> forisize

1.34.0 (const:unstable) ·Source§

implTryFrom<u128> foru8

1.34.0 (const:unstable) ·Source§

implTryFrom<u128> foru16

1.34.0 (const:unstable) ·Source§

implTryFrom<u128> foru32

1.34.0 (const:unstable) ·Source§

implTryFrom<u128> foru64

1.34.0 (const:unstable) ·Source§

implTryFrom<u128> forusize

1.46.0 (const:unstable) ·Source§

implTryFrom<u128> forNonZero<u128>

1.34.0 (const:unstable) ·Source§

implTryFrom<usize> fori8

1.34.0 (const:unstable) ·Source§

implTryFrom<usize> fori16

1.34.0 (const:unstable) ·Source§

implTryFrom<usize> fori32

1.34.0 (const:unstable) ·Source§

implTryFrom<usize> fori64

1.34.0 (const:unstable) ·Source§

implTryFrom<usize> fori128

1.34.0 (const:unstable) ·Source§

implTryFrom<usize> forisize

1.34.0 (const:unstable) ·Source§

implTryFrom<usize> foru8

1.34.0 (const:unstable) ·Source§

implTryFrom<usize> foru16

1.34.0 (const:unstable) ·Source§

implTryFrom<usize> foru32

1.34.0 (const:unstable) ·Source§

implTryFrom<usize> foru64

1.34.0 (const:unstable) ·Source§

implTryFrom<usize> foru128

1.46.0 (const:unstable) ·Source§

implTryFrom<usize> forNonZero<usize>

Source§

implTryFrom<usize> forAlignment

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i8>> forNonZero<u8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i8>> forNonZero<u16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i8>> forNonZero<u32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i8>> forNonZero<u64>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i8>> forNonZero<u128>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i8>> forNonZero<usize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i16>> forNonZero<i8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i16>> forNonZero<u8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i16>> forNonZero<u16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i16>> forNonZero<u32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i16>> forNonZero<u64>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i16>> forNonZero<u128>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i16>> forNonZero<usize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i32>> forNonZero<i8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i32>> forNonZero<i16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i32>> forNonZero<isize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i32>> forNonZero<u8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i32>> forNonZero<u16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i32>> forNonZero<u32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i32>> forNonZero<u64>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i32>> forNonZero<u128>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i32>> forNonZero<usize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i64>> forNonZero<i8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i64>> forNonZero<i16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i64>> forNonZero<i32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i64>> forNonZero<isize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i64>> forNonZero<u8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i64>> forNonZero<u16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i64>> forNonZero<u32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i64>> forNonZero<u64>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i64>> forNonZero<u128>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i64>> forNonZero<usize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i128>> forNonZero<i8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i128>> forNonZero<i16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i128>> forNonZero<i32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i128>> forNonZero<i64>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i128>> forNonZero<isize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i128>> forNonZero<u8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i128>> forNonZero<u16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i128>> forNonZero<u32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i128>> forNonZero<u64>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i128>> forNonZero<u128>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<i128>> forNonZero<usize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<isize>> forNonZero<i8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<isize>> forNonZero<i16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<isize>> forNonZero<i32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<isize>> forNonZero<i64>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<isize>> forNonZero<i128>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<isize>> forNonZero<u8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<isize>> forNonZero<u16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<isize>> forNonZero<u32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<isize>> forNonZero<u64>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<isize>> forNonZero<u128>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<isize>> forNonZero<usize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u8>> forNonZero<i8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u16>> forNonZero<i8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u16>> forNonZero<i16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u16>> forNonZero<isize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u16>> forNonZero<u8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u32>> forNonZero<i8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u32>> forNonZero<i16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u32>> forNonZero<i32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u32>> forNonZero<isize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u32>> forNonZero<u8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u32>> forNonZero<u16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u32>> forNonZero<usize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u64>> forNonZero<i8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u64>> forNonZero<i16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u64>> forNonZero<i32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u64>> forNonZero<i64>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u64>> forNonZero<isize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u64>> forNonZero<u8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u64>> forNonZero<u16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u64>> forNonZero<u32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u64>> forNonZero<usize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u128>> forNonZero<i8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u128>> forNonZero<i16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u128>> forNonZero<i32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u128>> forNonZero<i64>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u128>> forNonZero<i128>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u128>> forNonZero<isize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u128>> forNonZero<u8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u128>> forNonZero<u16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u128>> forNonZero<u32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u128>> forNonZero<u64>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<u128>> forNonZero<usize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<usize>> forNonZero<i8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<usize>> forNonZero<i16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<usize>> forNonZero<i32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<usize>> forNonZero<i64>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<usize>> forNonZero<i128>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<usize>> forNonZero<isize>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<usize>> forNonZero<u8>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<usize>> forNonZero<u16>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<usize>> forNonZero<u32>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<usize>> forNonZero<u64>

1.49.0 (const:unstable) ·Source§

implTryFrom<NonZero<usize>> forNonZero<u128>

Source§

implTryFrom<NonZero<usize>> forAlignment

Source§

impl<'a>TryFrom<&'aByteStr> for &'astr

Source§

impl<'a>TryFrom<&'a mutByteStr> for &'a mutstr

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 ifslice.len() == N.

letbytes: [u8;3] = [1,0,2];letbytes_head:&[u8;2] = <&[u8;2]>::try_from(&bytes[0..2]).unwrap();assert_eq!(1, u16::from_le_bytes(*bytes_head));letbytes_tail:&[u8;2] = bytes[1..3].try_into().unwrap();assert_eq!(512, u16::from_le_bytes(*bytes_tail));
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 ifslice.len() == N.

letmutbytes: [u8;3] = [1,0,2];letbytes_head:&mut[u8;2] = <&mut[u8;2]>::try_from(&mutbytes[0..2]).unwrap();assert_eq!(1, u16::from_le_bytes(*bytes_head));letbytes_tail:&mut[u8;2] = (&mutbytes[1..3]).try_into().unwrap();assert_eq!(512, u16::from_le_bytes(*bytes_tail));
1.34.0 (const:unstable) ·Source§

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

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 ifslice.len() == N.

letbytes: [u8;3] = [1,0,2];letbytes_head: [u8;2] = <[u8;2]>::try_from(&bytes[0..2]).unwrap();assert_eq!(1, u16::from_le_bytes(bytes_head));letbytes_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]> forSimd<T, N>

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 ifslice.len() == N.

letmutbytes: [u8;3] = [1,0,2];letbytes_head: [u8;2] = <[u8;2]>::try_from(&mutbytes[0..2]).unwrap();assert_eq!(1, u16::from_le_bytes(bytes_head));letbytes_tail: [u8;2] = (&mutbytes[1..3]).try_into().unwrap();assert_eq!(512, u16::from_le_bytes(bytes_tail));
Source§

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


[8]ページ先頭

©2009-2025 Movatter.jp