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 poly16x8x3_timpl From for i128impl<T> From for vector_unsigned_longimpl<T> From for Referenceimpl From for u128impl<T> From for Option<T>impl<T, N: usize> From for [bool; N]impl From for NonZero<i64>impl<T> From for SocketAddrimpl<T> From for SearchStepimpl From for u32impl<T> From for Pending<T>impl<N: usize> From for Mask<i64, N>impl<T> From for CharTryFromErrorimpl From for u16x8impl From for NonZero<i16>impl From for __m128iimpl<T> From for ChunksMut<'a, T>impl<T> From for u32impl<T> From for ArrayChunks<I, N>impl<T> From for vector_unsigned_charimpl<T> From for Source<'a>impl<T> From for poly16x8x4_timpl From for usizeimpl<T> From for float32x2x3_timpl<N: usize> From for Mask<i64, N>impl<T> From for float64x2_timpl From for NonZero<i128>impl<T> From for ToLowercaseimpl<T> From for FromCoroutine<G>impl<T> From for int64x2_timpl<T> From for Option<T>impl From for u128impl<T> From for vector_doubleimpl<T> From for Pointerimpl<T> From for u8impl<N: usize> From for Mask<i64, N>impl<T> From for RawWakerVTableimpl From for NonZero<i64>impl From for u64x8impl<T> From for RangeInclusiveIter<A>impl<T> From for Reverse<T>impl<T> From for int8x16x2_timpl<T> From for Enumimpl From for u128impl<T> From for MapWindows<I, F, N>impl<T> From for float32x2x4_timpl<N: usize> From for Mask<i16, N>impl<T> From for DecodeUtf16<I>impl<T> From for poly64x2x3_timpl From for __m256iimpl From for NonZero<i128>impl<T> From for RSplitN<'a, T, P>impl<T> From for u16impl<T> From for __m128iimpl<T> From for Chars<'a>impl<T> From for objc_selectorimpl<T> From for vector_signed_shortimpl From for i64impl<'data> From for BorrowedBuf<'data>impl<N: usize> From for Mask<i16, N>impl<T> From for Ipv6MulticastScopeimpl<T> From for poly64x2_timpl<T> From for Cloned<I>impl<T> From for uint16x4x2_timpl From for i32impl From for AtomicU8impl<N: usize> From for Mask<i16, N>impl<T> From for poly64x2x4_timpl From for u32x4impl From for __m128dimpl<T> From for ChunksExactMut<'a, T>impl<T> From for Map<I, F>impl From for i64impl<T> From for Cell<T>impl<T> From for SkipWhile<I, P>impl From for AtomicU16impl<T, N: usize> From for Simd<T, N>impl<T> From for Simd<T, N>impl<T> From for RangeTo<Idx>impl<T> From for int8x8_timpl<T> From for __m128dimpl<T> From for SplitN<'a, P>impl<T> From for vector_bool_shortimpl<T> From for Atomic<T>impl<T> From for uint32x4x2_timpl<T> From for DebugStruct<'a, 'b>impl From for i16impl From for AtomicU32impl From for f64x8impl<T> From for FromBytesUntilNulErrorimpl<T> From for float16x8_timpl<T> From for i16impl<T> From for int16x4x3_timpl<T> From for HvxVectorPairimpl<T> From for StrSearcher<'a, 'b>impl From for i128impl<T> From for Peekable<I>impl<T> From for Scan<I, St, F>impl From for AtomicU64impl From for u8x32impl<T> From for ContextBuilder<'a>impl From for __m256iimpl<T> From for i64impl From for i128impl<T> From for Abiimpl<T> From for PhantomCovariant<T>impl<T> From for uint64x1x2_timpl From for AtomicUsizeimpl<T: PointeeSized> From for NonNull<T>impl<T> From for poly8x8_timpl<T> From for __m256impl From for TryFromIntErrorimpl<T> From for vector_signed_charimpl<T> From for TraitImpl<T>impl<T> From for EscapeUnicode<'a>impl<T> From for int16x4x4_timpl<T> From for AsciiCharimpl<T> From for vector_unsigned_intimpl<T> From for Clamp<Idx>impl<T> From for int32x4x3_timpl<T> From for charimpl From for i128impl<T> From for i128impl<T> From for float64x2x3_timpl From for f32x4impl<T> From for Layoutimpl<T> From for MatchIndices<'a, P>impl<T> From for Fuse<I>impl From for isizeimpl<T> From for [MaybeUninit<T>; N]impl From for __m512iimpl<T> From for int32x4x4_timpl<T> From for BasicBlockimpl From for f64impl<T> From for RefCell<T>impl<T> From for int64x1x3_timpl<'a, T> From for Option<&'a mut T>impl<T> From for EscapeAscii<'a>impl<T> From for float64x2x4_timpl<T> From for UnsafePinned<T>impl<T> From for uint16x4_timpl<T> From for OnceWith<F>impl<T> From for __m512iimpl<T> From for vector_bool_charimpl<T> From for vector_floatimpl<T> From for Lifetimeimpl From for f64impl<T> From for RefCell<T>impl<T> From for PhantomContravariant<T>impl From for u16x16impl<T> From for EscapeUnicodeimpl From for __m256iimpl<T> From for ParseBoolErrorimpl<T> From for OneSidedRangeBoundimpl<T> From for uint8x16x2_timpl<T> From for objc_classimpl<T> From for BuildHasherDefault<H>impl From for f128impl<T> From for int64x1x4_timpl<T> From for RangeInclusive<T>impl<T> From for PollFn<F>impl<T> From for LocalWakerimpl<T> From for ToUppercaseimpl<T> From for VaList<'a>impl<T> From for SYimpl<T> From for Fieldimpl<T> From for Filter<I, P>impl From for f32impl From for u128impl<T> From for RangeFrom<T>impl From for i64x2impl<T> From for int32x2_timpl<T> From for __m512dimpl<T> From for vector_unsigned_shortimpl<T> From for poly16x4x2_timpl From for f32impl<T> From for BorrowMutErrorimpl From for AtomicBoolimpl<T> From for UnsafeCell<T>impl From for NonZero<usize>impl From for __m512iimpl<T> From for TryFromIntErrorimpl<T> From for SocketAddrV4impl<T> From for RSplitTerminator<'a, P>impl<T> From for int8x16x3_timpl<T> From for FpCategoryimpl From for f64impl<T> From for PhantomInvariantLifetime<'a>impl From for IpAddrimpl<T> From for PhantomInvariant<T>impl From for NonZero<u64>impl<T> From for Context<'a>impl<T> From for ByRefSized<'a, I>impl<T> From for TryFromSliceErrorimpl<T> From for Arrayimpl<T> From for TryFromFloatSecsErrorimpl<T> From for float16x8x2_timpl From for f64impl<T> From for Cell<T>impl From for NonZero<u32>impl<T> From for (T)impl From for u32x8impl From for __m256dimpl<T> From for float32x2_timpl<T> From for __m256bhimpl<T> From for vector_signed_intimpl<T> From for int8x16x4_timpl<T> From for IterMut<'a, A>impl<T> From for uint16x4x3_timpl<T> From for LazyCell<T, F>impl From for f128impl From for IpAddrimpl From for __m128iimpl From for NonZero<usize>impl<T> From for HvxVectorPairimpl<T> From for ArrayWindows<'a, T, N>impl<T> From for i16impl<T> From for FilterMap<I, F>impl<T> From for fn(_: T) -> Retimpl From for u8impl<T> From for FromFn<F>impl From for f32impl From for Ipv6Addrimpl<T> From for poly64x1x2_timpl From for NonZero<u128>impl<T> From for TypeKindimpl<T> From for Location<'a>impl<T> From for Enumerate<I>impl<T> From for i32impl<T> From for uint16x4x4_timpl<T> From for Structimpl From for u64impl<T> From for uint32x4x3_timpl<T> From for Timpl From for IpAddrimpl From for u8x64impl From for NonZero<i64>impl From for __m512iimpl<T> From for RChunks<'a, T>impl<T> From for uint64x1_timpl<T> From for __m128himpl<T, N: usize> From for [MaybeUninit<T>; N]impl<T> From for vector_bool_intimpl<T> From for Infallibleimpl From for i8impl<T> From for DebugTuple<'a, 'b>impl<T> From for i128impl From for u8impl<T> From for AtomicOrderingimpl<T> From for Poll<T>impl<T> From for Poll<T>impl From for NonZero<i32>impl<T> From for EscapeDebugimpl<T> From for Orderingimpl<T> From for m128iimpl From for i64impl<T> From for uint32x4x4_timpl From for u64impl<I: ~const Into<crate::net::IpAddr>> From for SocketAddrimpl<T> From for uint64x1x3_timpl<T, N: usize> From for Mask<T, N>impl<T> From for TakeWhile<I, P>impl From for NonZero<isize>impl<T> From for Wakerimpl From for f32x8impl<T> From for RChunksMut<'a, T>impl<T> From for ParseFloatErrorimpl<T> From for Tupleimpl<T> From for Unionimpl<T> From for Localityimpl From for u16impl<T> From for Charimpl<T, F> From for LazyCell<T, F>impl<T> From for RefCell<T>impl<T> From for m256impl<T> From for Skip<I>impl<N: usize> From for Mask<i32, N>impl<T> From for IterMut<'a, T>impl<T> From for RawWakerimpl From for __m128iimpl From for NonZero<i128>impl<T> From for RSplitMut<'a, T, P>impl<T> From for UnsafePinned<T>impl<T> From for RangeIter<A>impl<T> From for int8x16_timpl<T> From for __m512himpl<T> From for RMatchIndices<'a, P>impl<T> From for vector_unsigned_long_longimpl<T> From for poly8x16x2_timpl<T> From for PanicInfo<'a>impl From for u128impl<T> From for PhantomContravariantLifetime<'a>impl<T> From for UnsafePinned<T>impl<T> From for uint64x1x4_timpl<N: usize> From for Mask<i32, N>impl From for NonZero<i64>impl<T> From for DropGuard<T, F>impl<T> From for m128dimpl<T> From for CharArraySearcher<'a, N>impl From for u64impl<T> From for SyncUnsafeCell<T>impl<T> From for BorrowErrorimpl<N: usize> From for Mask<i8, N>impl From for u16x32impl From for NonZero<i32>impl From for __m512iimpl<T> From for SplitTerminator<'a, P>impl<T> From for bf16impl<T> From for SplitInclusive<'a, P>impl<T> From for int32x2x2_timpl<T> From for neverimpl From for u128impl<T> From for Intimpl<T> From for UnwindTerminateReasonimpl<T> From for DebugList<'a, 'b>impl<N: usize> From for Mask<i8, N>impl<T> From for float64x1x2_timpl From for NonZero<i64>impl<T> From for AssertUnwindSafe<T>impl<T> From for Bound<T>impl<T> From for poly8x16_timpl<T> From for u128impl<T> From for vector_floatimpl<T> From for uint8x16x3_timpl<T> From for GenericTypeimpl From for i32impl<'data> From for BorrowedBuf<'data>impl<T> From for UnsafeCell<T>impl<N: usize> From for Mask<i8, N>impl From for i64x4impl<T> From for RangeInclusive<Idx>impl<T> From for Iter<'a, A>impl<T> From for EncodeUtf16<'a>impl<T> From for CharSliceSearcher<'a, 'b>impl From for isizeimpl<T> From for float32x4x2_timpl<N: usize> From for Mask<i8, N>impl From for __m128iimpl<T> From for SplitNMut<'a, T, P>impl<T> From for RangeToInclusive<Idx>impl<T> From for BorrowedBuf<'data>impl<T> From for uint8x16x4_timpl<T> From for usizeimpl<T> From for poly16x4x3_timpl<T> From for Flatten<I>impl From for i128impl<T> From for FnPtrimpl From for u32impl<N: usize> From for Mask<i64, N>impl<T> From for uint16x8_timpl<T> From for IntErrorKindimpl<T> From for Typeimpl From for i128impl<T> From for LazyCell<T, F>impl<T> From for *const Timpl From for u32x16impl From for __m512dimpl<T> From for ManuallyDrop<T>impl<T> From for AddrParseErrorimpl<T> From for Assumeimpl<T> From for poly16x4x4_timpl From for i64impl<T> From for float16x8x3_timpl From for __m256iimpl<T> From for Once<T>impl<T> From for Sliceimpl<T> From for i32impl From for i64impl<T> From for ReturnToArgimpl<T> From for Timpl<T> From for Empty<T>impl<T> From for int32x4_timpl<T> From for int8x8x2_timpl<T> From for BorrowedCursor<'a>impl<T> From for Infallibleimpl<T> From for vector_signed_longimpl From for i128impl<T> From for float16x8x4_timpl<T> From for Errorimpl From for SocketAddrimpl<T> From for ParseCharErrorimpl<T> From for Poll<T>impl<T> From for poly64x1x3_timpl From for i8x16impl From for __m128impl<T> From for Bytes<'a>impl<T> From for SocketAddrV6impl<T> From for Intersperse<I>impl From for isizeimpl<T> From for ControlFlow<B, C>impl<T> From for Alignmentimpl<T> From for int16x8x2_timpl<T> From for DynTraitimpl<T> From for vector_signed_charimpl From for f32impl<'a, T> From for Option<&'a T>impl<T> From for float64x1_timpl<T> From for poly64x1x4_timpl From for f32x16impl<T> From for f32impl<T> From for RSplit<'a, P>impl<T> From for float32x4_timpl<T> From for SplitAsciiWhitespace<'a>impl<T> From for Exclusive<T>impl<T> From for vector_bool_longimpl From for f32impl<T> From for Cell<T>impl From for __m256iimpl<T> From for ParseIntErrorimpl<T> From for uint32x2x2_timpl From for f64impl<T> From for Rev<T>impl<T> From for Range<T>impl<T> From for AllocErrorimpl<T> From for u64impl<T> From for Matches<'a, P>impl<T> From for poly8x16x3_timpl<T> From for DynTraitPredicateimpl<T> From for vector_bool_charimpl From for f16impl From for u64impl<T> From for RangeFrom<T>impl From for i16x8impl<T> From for AssertUnwindSafe<T>impl From for __m128iimpl<T> From for ChunksExact<'a, T>impl<T> From for RepeatWith<F>impl<T> From for uint64x2_timpl<T> From for u128impl<T> From for PanicMessage<'a>impl From for f128impl<T> From for CoroutineState<Y, R>impl<T> From for int64x2x2_timpl<T> From for RangeToInclusive<T>impl<T> From for RChunksExactMut<'a, T>impl<T> From for Ipv4Addrimpl<T> From for TryFromIntErrorimpl<T> From for isizeimpl<T> From for poly8x16x4_timpl<T> From for Saturating<T>impl<T> From for int32x2x3_timpl From for f128impl<T> From for NonZero<T>impl<'data> From for BorrowedBuf<'data>impl From for AtomicI8impl From for NonZero<u32>impl<T> From for float64x1x3_timpl From for i64x8impl<T> From for __m128impl<T> From for FromBytesWithNulErrorimpl<T> From for RangeFromIter<A>impl<T> From for Repeat<A>impl<T> From for Iter<'a, T>impl<T> From for Traitimpl<T> From for vector_unsigned_shortimpl<T> From for usizeimpl<T> From for Floatimpl<T> From for UnwindActionArgimpl From for f128impl From for AtomicI16impl<T> From for RangeFullimpl From for NonZero<usize>impl From for __m256iimpl<T> From for ChunkBy<'a, T, P>impl<T> From for f128impl<T> From for CharIndices<'a>impl<T> From for MaybeUninit<T>impl<T> From for float16x4_timpl<T> From for Lines<'a>impl<T> From for EscapeDebug<'a>impl<T> From for HvxVectorimpl<T> From for int32x2x4_timpl<T> From for Constimpl From for f64impl<T> From for float32x4x3_timpl<T> From for Alignmentimpl From for Ipv4Addrimpl From for AtomicI32impl From for NonZero<u128>impl<T> From for float64x1x4_timpl<T> From for DecodeUtf16Errorimpl<T> From for TryFromCharErrorimpl<T> From for Successors<T, F>impl From for f16impl<T> From for Ref<'b, T>impl From for AtomicI64impl From for NonZero<u128>impl From for i32x4impl<T> From for ToTitlecaseimpl<T> From for uint8x8_timpl<T> From for __m256iimpl<T> From for uint8x8x2_timpl<T> From for vector_signed_intimpl From for u32impl<T> From for PhantomCovariantLifetime<'a>impl From for f128impl<T> From for PhantomPinnedimpl<T> From for float32x4x4_timpl From for Ipv6Addrimpl From for AtomicIsizeimpl From for __m512iimpl From for NonZero<i32>impl<T> From for HvxVectorPredimpl From for usizeimpl From for TryFromSliceErrorimpl<T> From for FormattingOptionsimpl From for NonZero<isize>impl<T> From for CharCaseimpl<T> From for Split<'a, P>impl<T> From for SplitWhitespace<'a>impl<T> From for uint16x8x2_timpl From for i32impl From for u32impl<T> From for [T; 1]impl From for i8x32impl From for NonZero<i128>impl From for __m256impl<T> From for int16x4_timpl<T> From for __m256dimpl<T> From for vector_unsigned_charimpl<T> From for int8x8x3_timpl<T> From for OptionFlatten<A>impl<T> From for vector_bool_intimpl From for isizeimpl<T> From for OnceCell<T>impl From for charimpl<T> From for RefMut<'b, T>impl<N: usize> From for Mask<i16, N>impl From for NonZero<i128>impl<T> From for LayoutErrorimpl<T> From for Utf8Errorimpl<T> From for FlatMap<I, U, F>impl<T> From for Exclusive<T>impl From for u64impl<T> From for float16x4x2_timpl<N: usize> From for Mask<isize, N>impl From for NonZero<i32>impl From for u64x2impl<T> From for c_voidimpl<T> From for int8x8x4_timpl<T> From for int16x8x3_timpl<T> From for boolimpl From for u32impl<N: usize> From for Mask<isize, N>impl From for __m512iimpl From for NonZero<isize>impl<T> From for SplitN<'a, T, P>impl<T> From for poly16x4_timpl From for usizeimpl<T> From for u64impl<T> From for __m512impl<T> From for vector_signed_shortimpl<T> From for IntersperseWith<I, G>impl From for u64impl<T> From for uint64x2x2_timpl<N: usize> From for Mask<isize, N>impl From for NonZero<i128>impl<T> From for RangeToInclusive<Idx>impl<T> From for Result<T, E>impl<T> From for Wrapping<T>impl<T> From for int16x8x4_timpl<T> From for FromIter<I>impl<T> From for uint32x2x3_timpl From for i16impl<T> From for NumBuffer<T>impl<T> From for Discriminant<T>impl<N: usize> From for Mask<isize, N>impl From for i16x16impl From for NonZero<i128>impl From for __m256iimpl<T> From for RangeInclusive<Idx>impl<T> From for RMatches<'a, P>impl<T> From for isizeimpl<T> From for Cycle<I>impl From for i128impl<T> From for Durationimpl<T> From for Arguments<'a>impl<N: usize> From for Mask<i32, N>impl<T> From for SplitInclusive<'a, T, P>impl<T> From for uint32x2_timpl<T> From for __m128bhimpl<T> From for vector_bool_shortimpl<T> From for uint32x2x4_timpl From for i64impl<T> From for charimpl<T> From for int64x2x3_timpl<N: usize> From for Mask<i32, N>impl<T> From for HvxVectorimpl<T> From for EscapeDefaultimpl<T> From for f16impl From for f64x2impl<T> From for TypeIdimpl From for i128impl<T> From for DebugMap<'a, 'b>impl<T, N: usize> From for [T; N]impl<T> From for Range<Idx>impl<T> From for SplitMut<'a, T, P>impl From for __m512iimpl<T> From for RSplitNMut<'a, T, P>impl<T> From for Pin<Ptr>impl<T> From for GetDisjointMutErrorimpl<T> From for i8impl<T> From for IterMut<'a, T>impl<T> From for poly8x8x2_timpl<T> From for Timpl From for i32impl From for u128impl<T> From for int64x2x4_timpl<T> From for SyncUnsafeCell<T>impl<T> From for ChunkByMut<'a, T, P>impl<T> From for int64x1_timpl<T> From for Bytes<'a>impl<T> From for __m512bhimpl<T> From for vector_unsigned_intimpl<T> From for LinesAny<'a>impl<T> From for Orderingimpl From for i32impl<T> From for HvxVectorPredimpl<T> From for SplitInclusiveMut<'a, T, P>impl From for i32x8impl<T> From for IntoIter<T>impl<T> From for Utf8Pattern<'a>impl<T> From for poly16x8x2_timpl From for i64impl<T> From for Exclusive<T>impl From for __m128iimpl<T: PointeeSized> From for NonNull<T>impl<T> From for IpAddrimpl From for TryFromIntErrorimpl<T> From for RepeatN<A>impl<T> From for RangeFrom<Idx>impl<T> From for uint8x8x3_timpl<T> From for Genericimpl<T> From for Utf8Chunk<'a>impl From for usizeimpl<T> From for m256iimpl<T> From for DynMetadata<Dyn>impl<T> From for Ipv6Addrimpl<T> From for poly64x1_timpl<T> From for __m256himpl<T> From for vector_signed_long_longimpl<T> From for IntoIter<T, N>impl<T> From for MapWhile<I, P>impl<T> From for ()impl From for f16impl<T> From for OnceCell<T>impl<T> From for float32x2x2_timpl From for i8x64impl From for __m512impl<T> From for Yeet<T>impl<T> From for uint8x8x4_timpl<T> From for m128impl<T> From for uint16x8x3_timpl<T> From for CharSearcher<'a>impl<T> From for Utf8Chunks<'a>impl<T> From for DebugSet<'a, 'b>impl From for f128impl<T> From for OnceCell<T>impl<T> From for AssertUnwindSafe<T>impl<T> From for CpuidResultimpl<T> From for u32impl<T> From for MaybeDangling<P>impl From for f128impl<T> From for UnsafeCell<T>impl<T> From for m256dimpl<T> From for Range<T>impl<T> From for poly64x2x2_timpl From for u64x4impl<T> From for v128impl<T> From for RChunksExact<'a, T>impl<T> From for uint8x16_timpl<T> From for vector_bool_long_longimpl<T> From for Option<T>impl<T> From for uint16x8x4_timpl<T> From for EscapeDefaultimpl<T> From for float16x4x3_timpl From for f128impl<T> From for PhantomData<T>impl From for u32impl<T> From for Signimpl<T> From for RangeInclusive<T>impl<T> From for u8impl<T> From for Formatter<'a>impl<T> From for Split<'a, T, P>impl From for __m128iimpl<T> From for CharArrayRefSearcher<'a, 'b, N>impl<T> From for Lastimpl From for f64impl From for charimpl<T> From for RangeToInclusive<T>impl<T> From for Take<I>impl<T> From for Zip<A, B>impl<T> From for u16impl<T> From for SipHasherimpl<T> From for float16x4x4_timpl From for f64impl<T> From for DebugAsHeximpl<T> From for AtomicPtr<T>impl<T> From for Ready<T>impl<T> From for uint64x2x3_timpl From for NonZero<u16>impl<T> From for NonNull<T>impl From for i16x32impl From for __m512iimpl<T> From for FromFn<F>impl<T> From for int16x8_timpl<T> From for vector_doubleimpl<T> From for Inspect<I, F>impl From for f128impl From for IpAddrimpl From for NonZero<u128>impl<T> From for int16x4x2_timpl<T> From for Variantimpl<T> From for FieldRepresentingType<T, VARIANT, FIELD>impl<T> From for CharPredicateSearcher<'a, F>impl From for f128impl From for Ipv4Addrimpl<T> From for uint64x2x4_timpl From for NonZero<u64>impl From for f64x4impl<T> From for f64impl<T> From for i8impl<T> From for f16x2impl From for f128impl<T> From for SyncUnsafeCell<T>impl From for u8x16impl From for NonZero<u64>impl From for __m128iimpl<T> From for poly16x8_timpl<T, N: usize> From for MaybeUninit<[T; N]>impl<T> From for EscapeDefault<'a>impl<T> From for Mask<T, N>impl<T> From for int32x4x2_timpl From for u16impl<T> From for Strimpl From for f64impl From for Ipv6Addrimpl From for NonZero<i16>impl<T> From for float64x2x2_timpl<T> From for RangeFrom<Idx>impl<T> From for Windows<'a, T>impl<T> From for RSplitN<'a, P>impl<T> From for IntoIter<A>impl<T> From for poly8x8x3_timpl<T> From for i64impl From for u128impl<T> From for Boolimpl From for Infallibleimpl From for IpAddrimpl<T> From for Iter<'a, T>impl From for NonZero<i128>impl From for i32x16impl<T> From for Range<Idx>impl<T> From for Copied<I>impl From for i16impl From for u16impl<T> From for int64x1x2_timpl<T> From for SimdAlignimpl From for SocketAddrimpl<T> From for StepBy<I>impl<T> From for (T)impl From for __m256iimpl From for NonZero<i64>impl<T> From for RSplit<'a, T, P>impl<T> From for Chunks<'a, T>impl<T> From for uint32x4_timpl<T> From for Chain<A, B>impl<T> From for poly8x8x4_t