Trait From
trait From<T>: Sized
Used to do value-to-value conversions while consuming the input value. It is the reciprocal of
Into.
One should always prefer implementing From over Into
because implementing From automatically provides one with an implementation of Into
thanks to the blanket implementation in the standard library.
Only implement Into when targeting a version prior to Rust 1.41 and converting to a type
outside the current crate.
From was not able to do these types of conversions in earlier versions because of Rust's
orphaning rules.
See Into for more details.
Prefer using Into over From when specifying trait bounds on a generic function
to ensure that types that only implement Into can be used as well.
The From trait is also very useful when performing error handling. When constructing a function
that is capable of failing, the return type will generally be of the form Result<T, E>.
From simplifies error handling by allowing a function to return a single error type
that encapsulates multiple error types. See the "Examples" section and the book for more
details.
Note: This trait must not fail. The From trait is intended for perfect conversions.
If the conversion can fail or is not perfect, use TryFrom.
Generic Implementations
From<T> for UimpliesInto<U> for TFromis reflexive, which means thatFrom<T> for Tis implemented
When to implement From
While there's no technical restrictions on which conversions can be done using
a From implementation, the general expectation is that the conversions
should typically be restricted as follows:
-
The conversion is infallible: if the conversion can fail, use
TryFrominstead; don't provide aFromimpl that panics. -
The conversion is lossless: semantically, it should not lose or discard information. For example,
i32: From<u16>exists, where the original value can be recovered usingu16: TryFrom<i32>. AndString: From<&str>exists, where you can get something equivalent to the original value viaDeref. ButFromcannot be used to convert fromu32tou16, since that cannot succeed in a lossless way. (There's some wiggle room here for information not considered semantically relevant. For example,Box<[T]>: From<Vec<T>>exists even though it might not preserve capacity, like how two vectors can be equal despite differing capacities.) -
The conversion is value-preserving: the conceptual kind and meaning of the resulting value is the same, even though the Rust type and technical representation might be different. For example
-1_i8 as u8is lossless, sinceascasting back can recover the original value, but that conversion is not available viaFrombecause-1and255are different conceptual values (despite being identical bit patterns technically). Butf32: From<i16>is available because1_i16and1.0_f32are conceptually the same real number (despite having very different bit patterns technically).String: From<char>is available because they're both text, butString: From<u32>is not available, since1(a number) and"1"(text) are too different. (Converting values to text is instead covered by theDisplaytrait.) -
The conversion is obvious: it's the only reasonable conversion between the two types. Otherwise it's better to have it be a named method or constructor, like how
str::as_bytesis a method and how integers have methods likeu32::from_ne_bytes,u32::from_le_bytes, andu32::from_be_bytes, none of which areFromimplementations. Whereas there's only one reasonable way to wrap anIpv6Addrinto anIpAddr, thusIpAddr: From<Ipv6Addr>exists.
Examples
String implements From<&str>:
An explicit conversion from a &str to a String is done as follows:
let string = "hello".to_string;
let other_string = Stringfrom;
assert_eq!;
While performing error handling it is often useful to implement From for your own error type.
By converting underlying error types to our own custom error type that encapsulates the
underlying error type, we can return a single error type without losing information on the
underlying cause. The '?' operator automatically converts the underlying error type to our
custom error type with From::from.
use fs;
use io;
use num;
Required Methods
fn from(value: T) -> SelfConverts to this type from the input type.
Implementors
impl<T> From for Scan<I, St, F>impl From for i128impl From for AtomicUsizeimpl<T> From for Orderingimpl<N: usize> From for Mask<i64, N>impl<T> From for u8impl<T> From for charimpl<T> From for __m256bhimpl<T> From for IpAddrimpl<T> From for uint8x8x2_timpl<T> From for RefCell<T>impl<T> From for IterMut<'a, T>impl From for NonZero<i128>impl From for SocketAddrimpl<T> From for UnsafeCell<T>impl<T> From for Inspect<I, F>impl<T> From for Repeat<A>impl<T> From for int8x8x2_timpl From for f64impl From for NonZero<u16>impl<T> From for uint32x2_timpl<T> From for SocketAddrV6impl From for u128impl<T> From for Discriminant<T>impl<T> From for u16impl<T> From for RSplit<'a, T, P>impl<N: usize> From for Mask<isize, N>impl<T> From for CoroutineState<Y, R>impl From for f64impl From for __m256iimpl<T> From for RangeIter<A>impl From for NonZero<isize>impl<T> From for __m256himpl<T> From for EscapeDebug<'a>impl<T> From for Infallibleimpl<T> From for Context<'a>impl<T> From for Rev<T>impl<T> From for RangeFrom<T>impl From for i64impl<T> From for MatchIndices<'a, P>impl<T> From for TryFromIntErrorimpl<T> From for Map<I, F>impl<T> From for SplitNMut<'a, T, P>impl From for u8x32impl<T> From for DynMetadata<Dyn>impl<T> From for uint64x1_timpl From for charimpl From for __m128iimpl<T> From for Iter<'a, T>impl From for i8impl<'a, T> From for Option<&'a mut T>impl<T> From for f32impl<T, N: usize> From for MaybeUninit<[T; N]>impl<T> From for Arrayimpl<T> From for Wrapping<T>impl<T> From for float64x1x2_timpl<T> From for Localityimpl From for f128impl<T> From for DynTraitPredicateimpl<T> From for u8impl From for NonZero<u128>impl From for i16x8impl From for __m512impl<T> From for Abiimpl<T> From for Cycle<I>impl From for i128impl From for AtomicU32impl<T> From for f64impl<T> From for poly64x2x4_timpl<N: usize> From for Mask<i8, N>impl<T> From for HvxVectorimpl<T> From for DebugMap<'a, 'b>impl From for u32impl<T> From for RangeInclusiveIter<A>impl From for NonZero<i128>impl<T> From for vector_unsigned_longimpl<T> From for uint8x16_timpl From for i32x16impl<T> From for uint64x2x4_timpl<T> From for vector_signed_charimpl<T> From for BasicBlockimpl From for __m256dimpl<T> From for u16impl From for isizeimpl<T> From for ReturnToArgimpl<T> From for FromBytesWithNulErrorimpl<T> From for m256dimpl<T> From for int64x2x4_timpl<T> From for f16impl<T> From for Errorimpl From for u32impl<T> From for Option<T>impl From for i64x4impl<T> From for Enumerate<I>impl<N: usize> From for Mask<i16, N>impl<T> From for float32x4x4_timpl<T> From for Boolimpl From for f128impl<T> From for ParseIntErrorimpl From for NonZero<i64>impl<T> From for Fuse<I>impl<T> From for vector_bool_charimpl<T> From for uint16x8_timpl<T> From for charimpl<T> From for float16x8x4_timpl<T> From for vector_signed_shortimpl<T> From for Genericimpl<T> From for BorrowedBuf<'data>impl<T> From for DebugAsHeximpl<T> From for PhantomData<T>impl From for i128impl<T> From for AddrParseErrorimpl<T> From for Exclusive<T>impl<T, N: usize> From for Simd<T, N>impl<T> From for DropGuard<T, F>impl<T> From for Chain<A, B>impl<T> From for UnsafeCell<T>impl<T> From for uint32x4x4_timpl<T> From for Durationimpl<T> From for Ref<'b, T>impl From for NonZero<i128>impl From for u8impl<T> From for DebugTuple<'a, 'b>impl From for f128impl<T> From for int32x4x4_timpl<T> From for PollFn<F>impl<T> From for PhantomContravariant<T>impl<T> From for AtomicI8impl From for NonZero<u32>impl From for __m256iimpl<T> From for Yeet<T>impl<T> From for Iter<'a, T>impl<T> From for HvxVectorimpl From for Ipv6Addrimpl<T> From for c_voidimpl<T> From for vector_bool_shortimpl<T> From for uint32x4_timpl From for u64impl From for AtomicU8impl<T> From for poly16x8x4_timpl<T> From for poly64x2x3_timpl<T> From for vector_signed_intimpl<T> From for SocketAddrimpl<N: usize> From for Mask<i8, N>impl<T> From for FilterMap<I, F>impl<T> From for AtomicI64impl From for f128impl From for i8x32impl<T> From for Strimpl<T> From for Result<T, E>impl From for NonZero<i64>impl From for u32impl<T> From for uint16x8x4_timpl From for __m128iimpl<T> From for uint64x2x3_timpl<T> From for Lastimpl<T> From for AtomicUsizeimpl<T> From for m128iimpl<T> From for RangeFrom<T>impl<T> From for Option<T>impl<T> From for LocalWakerimpl<T> From for __m128iimpl<T> From for SplitInclusiveMut<'a, T, P>impl From for i128impl<T> From for TryFromIntErrorimpl<T> From for RepeatN<A>impl<T> From for int16x8x4_timpl<T> From for int64x2x3_timpl<T> From for MapWindows<I, F, N>impl<T> From for EncodeUtf16<'a>impl From for u32x4impl<T> From for Copied<I>impl From for i16impl<T> From for UnsafePinned<T>impl From for __m512iimpl<T> From for RangeInclusive<Idx>impl<T> From for vector_bool_intimpl<T> From for uint64x2_timpl<T> From for RSplitN<'a, P>impl<T> From for poly8x16x4_timpl<T> From for float32x4x3_timpl<T> From for vector_signed_long_longimpl<T> From for Orderingimpl From for f32impl<T> From for Ready<T>impl From for NonZero<usize>impl<T> From for SimdAlignimpl<T> From for RangeFromIter<A>impl<T> From for uint8x16x4_timpl From for SocketAddrimpl From for f32x16impl<T> From for CharSearcher<'a>impl<T> From for float16x8x3_timpl<T> From for Signimpl From for isizeimpl<T> From for SplitN<'a, P>impl<T> From for __m256iimpl<N: usize> From for Mask<i16, N>impl<T> From for FromBytesUntilNulErrorimpl<T> From for int8x16x4_timpl From for u64impl<T> From for uint32x4x3_timpl<T> From for FromIter<I>impl<T> From for u32impl<T> From for NumBuffer<T>impl From for NonZero<isize>impl<T> From for Variantimpl<T> From for RSplitTerminator<'a, P>impl<T> From for Bound<T>impl From for f64x4impl<T> From for int8x8_timpl<T> From for float16x8_timpl From for f16impl<T> From for int32x4x3_timpl<T> From for vector_floatimpl<T> From for Clamp<Idx>impl<T> From for SYimpl<T> From for Timpl<T> From for IterMut<'a, T>impl From for u64impl<T> From for SplitTerminator<'a, P>impl<T> From for poly16x8x3_timpl<T> From for CharSliceSearcher<'a, 'b>impl<T> From for Tupleimpl<N: usize> From for Mask<i32, N>impl<T> From for RangeToInclusive<Idx>impl<T> From for __m512iimpl From for f64impl From for __m512iimpl From for NonZero<i128>impl<'data> From for BorrowedBuf<'data>impl<T> From for uint16x8x3_timpl<T> From for RSplit<'a, P>impl<T> From for AtomicBoolimpl<T> From for NonNull<T>impl<T> From for SplitMut<'a, T, P>impl<T> From for ChunkByMut<'a, T, P>impl From for i16impl<T> From for DecodeUtf16<I>impl<T> From for DebugSet<'a, 'b>impl<T> From for RSplitN<'a, T, P>impl<T> From for int16x4_timpl<T> From for int16x8x3_timpl<T, N: usize> From for [T; N]impl<T> From for f128impl<T> From for float64x2x4_timpl<T> From for FlatMap<I, U, F>impl<T> From for Simd<T, N>impl<T> From for SplitInclusive<'a, P>impl From for __m256iimpl<T> From for Unionimpl<T> From for TakeWhile<I, P>impl From for u16impl<T> From for Split<'a, P>impl<T> From for MaybeUninit<T>impl<T> From for poly8x16x3_timpl From for AtomicI64impl<T> From for IterMut<'a, A>impl<T> From for AtomicPtr<T>impl<T> From for float64x2_timpl<T> From for IntersperseWith<I, G>impl From for f64impl From for NonZero<u64>impl<T> From for __m128bhimpl<T> From for SplitAsciiWhitespace<'a>impl From for u16x16impl<T> From for ManuallyDrop<T>impl<T> From for u32impl<T> From for Bytes<'a>impl<T> From for uint8x16x3_timpl From for Ipv6Addrimpl From for __m128impl<T> From for AtomicU16impl From for u128impl<T> From for Iter<'a, A>impl<T> From for i8impl<N: usize> From for Mask<i64, N>impl<T> From for Pending<T>impl<T> From for Charimpl<T> From for int32x2_timpl<T> From for int8x16x3_timpl<T> From for Timpl<T> From for SplitWhitespace<'a>impl From for NonZero<i128>impl From for i32x4impl<T> From for Range<Idx>impl<T> From for Zip<A, B>impl<T> From for FromFn<F>impl<T> From for RangeToInclusive<T>impl From for __m512iimpl<T> From for poly64x2x2_timpl<T> From for i64impl<T> From for Lifetimeimpl From for i64impl<T> From for Assumeimpl<T> From for Sliceimpl<T> From for PhantomCovariant<T>impl<T> From for Alignmentimpl<T> From for GetDisjointMutErrorimpl<T> From for LinesAny<'a>impl<T> From for Utf8Pattern<'a>impl<T> From for __m128himpl<T> From for boolimpl<T> From for Chars<'a>impl<T> From for uint64x2x2_timpl<T> From for i16impl<T> From for RChunksMut<'a, T>impl From for i32impl<T> From for PhantomPinnedimpl From for u64x8impl<T> From for ToUppercaseimpl<T> From for Poll<T>impl<T> From for IntoIter<A>impl<T> From for UnsafePinned<T>impl From for f64impl<T> From for SocketAddrV4impl<T> From for int64x2x2_timpl From for NonZero<u64>impl<T> From for int64x1_timpl<T> From for ParseBoolErrorimpl<T> From for SyncUnsafeCell<T>impl<T> From for SplitInclusive<'a, T, P>impl From for i32impl<T> From for UnwindTerminateReasonimpl<T> From for float32x4x2_timpl<N: usize> From for Mask<i32, N>impl<T> From for Pin<Ptr>impl<T> From for float64x2x3_timpl From for u128impl From for NonZero<i32>impl<T> From for BuildHasherDefault<H>impl<T> From for float16x8x2_timpl<T> From for Split<'a, T, P>impl From for AtomicI16impl<T> From for TypeIdimpl<T> From for i8impl<T> From for MaybeDangling<P>impl From for f32impl From for __m512iimpl<T> From for uint32x4x2_timpl<T> From for Typeimpl<T> From for VaList<'a>impl<T> From for vector_signed_longimpl<T> From for int8x16_timpl From for Ipv4Addrimpl From for u128impl<T> From for i64impl<T> From for SipHasherimpl<N: usize> From for Mask<i64, N>impl<T> From for OptionFlatten<A>impl<T> From for int32x4x2_timpl<T> From for u64impl<T> From for DebugList<'a, 'b>impl<T> From for m256impl From for f128impl From for u8x64impl<T> From for Traitimpl From for NonZero<isize>impl<T> From for Successors<T, F>impl<'data> From for BorrowedBuf<'data>impl From for __m256iimpl<T> From for i16impl<T> From for Range<T>impl<T> From for poly16x8x2_timpl From for i32impl<T> From for RangeTo<Idx>impl<T> From for UnsafePinned<T>impl<T> From for HvxVectorPredimpl<T> From for Bytes<'a>impl<T> From for ChunksMut<'a, T>impl<T> From for uint16x8x2_timpl From for i16x16impl<T> From for i128impl<T> From for vector_unsigned_charimpl<T> From for vector_doubleimpl<T> From for RChunks<'a, T>impl<T> From for int16x8_timpl From for u32impl From for __m128iimpl<T> From for vector_bool_charimpl<T> From for ChunkBy<'a, T, P>impl<T> From for PhantomInvariantLifetime<'a>impl<T> From for AtomicU32impl From for f128impl<T> From for int16x8x2_timpl<T> From for i32impl<T> From for MapWhile<I, P>impl From for NonZero<u128>impl<T> From for IntErrorKindimpl<T> From for AtomicIsizeimpl<T> From for Peekable<I>impl From for Ipv6Addrimpl From for f32x4impl<T> From for ContextBuilder<'a>impl From for u128impl<T> From for poly8x16x2_timpl From for __m512dimpl<N: usize> From for Mask<isize, N>impl<T> From for StepBy<I>impl From for Infallibleimpl<T> From for BorrowMutErrorimpl From for NonZero<i128>impl<T> From for CharIndices<'a>impl<T> From for uint8x16x2_timpl<T> From for vector_unsigned_shortimpl<T> From for RChunksExact<'a, T>impl<T> From for int32x4_timpl<T> From for RangeToInclusive<T>impl From for i64x8impl<T> From for vector_bool_shortimpl<T> From for Intersperse<I>impl From for i128impl<T> From for u64impl<T> From for int8x16x2_timpl<T> From for BorrowErrorimpl From for i64impl<T> From for (T)impl From for f128impl<T> From for Lines<'a>impl From for __m128iimpl<T> From for RefCell<T>impl From for NonZero<u128>impl<T> From for i128impl<T> From for HvxVectorPredimpl<I: ~const Into<crate::net::IpAddr>> From for SocketAddrimpl<T> From for u128impl<T> From for vector_unsigned_intimpl<T> From for int64x2_timpl From for i64impl From for AtomicU64impl<T> From for vector_bool_intimpl<T> From for ArrayChunks<I, N>impl<T> From for SplitN<'a, T, P>impl<T> From for RMatches<'a, P>impl<N: usize> From for Mask<i8, N>impl<T> From for objc_selectorimpl<T> From for i32impl From for TryFromIntErrorimpl<T> From for Chunks<'a, T>impl From for charimpl From for __m512iimpl<T> From for PanicInfo<'a>impl<T> From for Referenceimpl From for NonZero<i64>impl<T> From for ArrayWindows<'a, T, N>impl<T> From for m128dimpl<T> From for RChunksExactMut<'a, T>impl<T> From for FormattingOptionsimpl<T> From for __m128dimpl From for f64impl<T> From for objc_classimpl<T> From for AllocErrorimpl<T> From for float64x2x2_timpl From for i8x64impl From for Ipv4Addrimpl From for __m256iimpl<T> From for FnPtrimpl From for usizeimpl<T> From for PhantomContravariantLifetime<'a>impl<T> From for float16x4_timpl<N: usize> From for Mask<isize, N>impl<T> From for EscapeDefaultimpl<T> From for vector_bool_long_longimpl<T> From for LayoutErrorimpl From for f128impl From for NonZero<i32>impl<T> From for ChunksExact<'a, T>impl From for u32x8impl<T> From for Range<T>impl<T> From for AtomicOrderingimpl From for __m128iimpl<T> From for CharArrayRefSearcher<'a, 'b, N>impl<T> From for poly64x1x4_timpl<T> From for SyncUnsafeCell<T>impl From for i64impl<T> From for SkipWhile<I, P>impl<T> From for __m256dimpl<T> From for RefCell<T>impl From for u32impl<T> From for uint64x1x4_timpl<T> From for AtomicI16impl From for u64impl From for u64x2impl<T> From for PhantomCovariantLifetime<'a>impl<T> From for u128impl<T> From for AsciiCharimpl<T> From for poly8x8_timpl From for f16impl<T> From for int64x1x4_timpl<T> From for NonZero<T>impl From for NonZero<usize>impl<T> From for RepeatWith<F>impl<T> From for [MaybeUninit<T>; N]impl<T> From for bf16impl From for IpAddrimpl<T> From for EscapeUnicode<'a>impl From for i16impl From for AtomicU16impl From for f64x8impl<T> From for float32x2x4_timpl<T> From for GenericTypeimpl<T> From for float64x1_timpl<T: PointeeSized> From for NonNull<T>impl<N: usize> From for Mask<i8, N>impl From for usizeimpl<T> From for __m512dimpl<T> From for Windows<'a, T>impl<T> From for Range<Idx>impl From for TryFromSliceErrorimpl<T> From for SearchStepimpl<T> From for isizeimpl From for NonZero<i16>impl<T> From for Mask<T, N>impl<T> From for RangeToInclusive<Idx>impl<T> From for float16x4x4_timpl From for AtomicBoolimpl From for i128impl<T> From for poly16x4_timpl<T> From for *const Timpl From for __m128iimpl<T> From for uint32x2x4_timpl<'data> From for BorrowedBuf<'data>impl From for i128impl<T> From for LazyCell<T, F>impl<T> From for SyncUnsafeCell<T>impl<T> From for UnwindActionArgimpl<T> From for [T; 1]impl<T> From for int32x2x4_timpl<T> From for IntoIter<T, N>impl From for f64impl From for u8x16impl From for NonZero<u128>impl<T> From for __m512bhimpl From for __m512iimpl<T> From for Alignmentimpl<T> From for Option<T>impl<T> From for poly16x4x4_timpl<T> From for poly64x1x3_timpl From for i128impl<N: usize> From for Mask<i16, N>impl<T> From for TryFromSliceErrorimpl From for TryFromIntErrorimpl<T> From for Intimpl<T> From for float32x2_timpl<T> From for Utf8Errorimpl<T> From for OnceCell<T>impl<T> From for uint16x4x4_timpl From for u16x32impl<T> From for uint64x1x3_timpl<T> From for RawWakerimpl From for NonZero<i128>impl From for __m256impl<T> From for OnceCell<T>impl<T> From for Fieldimpl From for f128impl<T> From for Matches<'a, P>impl<T> From for int16x4x4_timpl<T> From for OneSidedRangeBoundimpl<T> From for int64x1x3_timpl<T> From for DynTraitimpl<T> From for Saturating<T>impl<T> From for Poll<T>impl<T> From for Flatten<I>impl<T> From for isizeimpl<T> From for __m512himpl<T> From for ChunksExactMut<'a, T>impl From for IpAddrimpl From for i32x8impl From for u32impl<T> From for poly8x8x4_timpl From for __m128dimpl<T> From for float32x2x3_timpl<T> From for Skip<I>impl<N: usize> From for Mask<i32, N>impl<T> From for Cell<T>impl<T> From for ByRefSized<'a, I>impl<T> From for Arguments<'a>impl From for f16impl<T> From for Location<'a>impl From for NonZero<i64>impl<T> From for poly64x1_timpl<T> From for uint8x8x4_timpl<T> From for float16x4x3_timpl<T> From for ()impl<T> From for RangeInclusive<T>impl From for i64x2impl<T> From for RangeFullimpl From for i128impl<T> From for Utf8Chunks<'a>impl<T> From for usizeimpl<T> From for Formatter<'a>impl<T> From for m256iimpl<T> From for int8x8x4_timpl<T> From for uint32x2x3_timpl From for u64impl<T> From for RawWakerVTableimpl From for u128impl<T> From for Wakerimpl From for AtomicIsizeimpl<T> From for int32x2x3_timpl<T> From for Source<'a>impl<T> From for ControlFlow<B, C>impl From for f32impl<T> From for HvxVectorPairimpl<T> From for FromFn<F>impl From for NonZero<u32>impl<T> From for AssertUnwindSafe<T>impl<T> From for vector_signed_charimpl<T> From for vector_bool_longimpl<T> From for poly8x16_timpl From for IpAddrimpl<T> From for poly16x4x3_timpl<T> From for vector_unsigned_charimpl From for i32impl<T> From for StrSearcher<'a, 'b>impl<T> From for OnceCell<T>impl<T: PointeeSized> From for NonNull<T>impl<T> From for RSplitMut<'a, T, P>impl<N: usize> From for Mask<i16, N>impl From for u8impl<T> From for uint16x4x3_timpl From for __m128iimpl<T> From for Poll<T>impl From for NonZero<i32>impl<T> From for EscapeDefault<'a>impl<T> From for ToLowercaseimpl<T> From for f16x2impl<T> From for AtomicPtr<T>impl<T> From for ParseCharErrorimpl From for usizeimpl<T> From for int16x4x3_timpl<T> From for Cell<T>impl<T> From for float64x1x4_timpl<T> From for fn(_: T) -> Retimpl<T> From for RSplitNMut<'a, T, P>impl From for i8x16impl From for IpAddrimpl From for __m512iimpl<T> From for Enumimpl<T> From for vector_signed_shortimpl<T> From for poly16x8_timpl From for isizeimpl<T> From for poly8x8x3_timpl<T> From for vector_unsigned_shortimpl<T, N: usize> From for [MaybeUninit<T>; N]impl<T, N: usize> From for Mask<T, N>impl<T> From for usizeimpl From for f128impl<T> From for (T)impl<T> From for EscapeUnicodeimpl From for NonZero<i16>impl<T> From for Take<I>impl<T> From for EscapeAscii<'a>impl<T> From for uint8x8x3_timpl From for i16x32impl<T> From for PanicMessage<'a>impl<T> From for TryFromFloatSecsErrorimpl From for __m256iimpl From for i64impl<T> From for Utf8Chunk<'a>impl<T> From for int8x8x3_timpl<N: usize> From for Mask<i32, N>impl<T> From for Cell<T>impl<T> From for HvxVectorPairimpl From for NonZero<i64>impl From for f32x8impl<T> From for poly64x1x2_timpl<T> From for Exclusive<T>impl<T> From for vector_signed_intimpl<T> From for float32x4_timpl From for AtomicI32impl<T> From for vector_unsigned_intimpl<T> From for TryFromCharErrorimpl<T> From for v128impl From for f32impl From for NonZero<usize>impl<T> From for uint64x1x2_timpl<T> From for EscapeDefaultimpl<T> From for Cloned<I>impl<T> From for Empty<T>impl<T> From for Ipv4Addrimpl<T> From for m128impl From for u64impl From for f64x2impl<T> From for DebugStruct<'a, 'b>impl<T> From for __m128impl<T> From for RMatchIndices<'a, P>impl<N: usize> From for Mask<i64, N>impl<T> From for int64x1x2_timpl<T> From for DecodeUtf16Errorimpl From for f32impl<T> From for AtomicU8impl From for NonZero<i128>impl<T> From for RangeInclusive<T>impl<T> From for float32x2x2_timpl<T> From for AtomicI32impl<T> From for vector_floatimpl<T> From for OnceWith<F>impl<T> From for poly64x2_timpl<T> From for FpCategoryimpl From for i32impl<T> From for vector_unsigned_long_longimpl<T> From for Layoutimpl<T> From for float64x1x3_timpl<T> From for RangeInclusive<Idx>impl From for __m256iimpl<T> From for AtomicU64impl From for u128impl<T> From for float16x4x2_timpl<T> From for EscapeDebugimpl<T> From for Pointerimpl<T> From for IntoIter<T>impl<T> From for FromCoroutine<G>impl From for usizeimpl<T> From for RangeFrom<Idx>impl<'a, T> From for Option<&'a T>impl<T> From for CharArraySearcher<'a, N>impl<T> From for TypeKindimpl<T> From for Constimpl<T> From for Filter<I, P>impl<T> From for __m256impl From for f64impl<T> From for uint32x2x2_timpl From for NonZero<u64>impl From for __m128iimpl<T> From for CpuidResultimpl<T> From for TraitImpl<T>impl<T> From for Timpl<T> From for UnsafeCell<T>impl<T> From for Exclusive<T>impl<T> From for Once<T>impl From for i64impl<T> From for Ipv6MulticastScopeimpl<T> From for int32x2x2_timpl<T> From for CharTryFromErrorimpl<T> From for RangeFrom<Idx>impl<T> From for uint8x8_timpl<N: usize> From for Mask<isize, N>impl<T> From for vector_doubleimpl From for u16impl From for u16x8impl<T> From for Structimpl From for NonZero<i64>impl From for u128impl<T> From for poly16x4x2_timpl From for __m512iimpl From for AtomicI8impl<T> From for CharPredicateSearcher<'a, F>impl<T> From for BorrowedCursor<'a>impl From for isizeimpl<T> From for Reverse<T>impl<T> From for __m512impl<T> From for uint16x4x2_timpl<T> From for neverimpl From for IpAddrimpl From for u32x16impl<T> From for Infallibleimpl<T> From for RefMut<'b, T>impl From for u16impl<T> From for Ipv6Addrimpl From for __m256iimpl<T> From for int16x4x2_timpl<T, N: usize> From for [bool; N]impl<T> From for uint16x4_timpl From for f64impl<T> From for Floatimpl<T> From for PhantomInvariant<T>impl From for NonZero<i32>impl<T> From for poly8x8x2_timpl From for u64x4