Trait Borrow
pub trait Borrow<Borrowed: ?Sized>
A trait for borrowing data.
In Rust, it is common to provide different representations of a type for
different use cases. For instance, storage location and management for a
value can be specifically chosen as appropriate for a particular use via
pointer types such as Box<T> or Rc<T>. Beyond these generic
wrappers that can be used with any type, some types provide optional
facets providing potentially costly functionality. An example for such a
type is String which adds the ability to extend a string to the basic
str. This requires keeping additional information unnecessary for a
simple, immutable string.
These types provide access to the underlying data through references
to the type of that data. They are said to be ‘borrowed as’ that type.
For instance, a Box<T> can be borrowed as T while a String
can be borrowed as str.
Types express that they can be borrowed as some type T by implementing
Borrow<T>, providing a reference to a T in the trait’s
borrow method. A type is free to borrow as several different types.
If it wishes to mutably borrow as the type, allowing the underlying data
to be modified, it can additionally implement [BorrowMut<T>].
Further, when providing implementations for additional traits, it needs
to be considered whether they should behave identically to those of the
underlying type as a consequence of acting as a representation of that
underlying type. Generic code typically uses Borrow<T> when it relies
on the identical behavior of these additional trait implementations.
These traits will likely appear as additional trait bounds.
In particular Eq, Ord and Hash must be equivalent for
borrowed and owned values: x.borrow() == y.borrow() should give the
same result as x == y.
If generic code merely needs to work for all types that can
provide a reference to related type T, it is often better to use
[AsRef<T>] as more types can safely implement it.
Examples
As a data collection, HashMap<K, V> owns both keys and values. If
the key’s actual data is wrapped in a managing type of some kind, it
should, however, still be possible to search for a value using a
reference to the key’s data. For instance, if the key is a string, then
it is likely stored with the hash map as a String, while it should
be possible to search using a [&str]str. Thus, insert needs to
operate on a String while get needs to be able to use a &str.
Slightly simplified, the relevant parts of HashMap<K, V> look like
this:
use Borrow;
use Hash;
The entire hash map is generic over a key type K. Because these keys
are stored with the hash map, this type has to own the key’s data.
When inserting a key-value pair, the map is given such a K and needs
to find the correct hash bucket and check if the key is already present
based on that K. It therefore requires K: Hash + Eq.
When searching for a value in the map, however, having to provide a
reference to a K as the key to search for would require to always
create such an owned value. For string keys, this would mean a String
value needs to be created just for the search for cases where only a
str is available.
Instead, the get method is generic over the type of the underlying key
data, called Q in the method signature above. It states that K
borrows as a Q by requiring that K: Borrow<Q>. By additionally
requiring Q: Hash + Eq, it signals the requirement that K and Q
have implementations of the Hash and Eq traits that produce identical
results.
The implementation of get relies in particular on identical
implementations of Hash by determining the key’s hash bucket by calling
Hash::hash on the Q value even though it inserted the key based on
the hash value calculated from the K value.
As a consequence, the hash map breaks if a K wrapping a Q value
produces a different hash than Q. For instance, imagine you have a
type that wraps a string but compares ASCII letters ignoring their case:
;
Because two equal values need to produce the same hash value, the
implementation of Hash needs to ignore ASCII case, too:
# use ;
# ;
Can CaseInsensitiveString implement Borrow<str>? It certainly can
provide a reference to a string slice via its contained owned string.
But because its Hash implementation differs, it behaves differently
from str and therefore must not, in fact, implement Borrow<str>.
If it wants to allow others access to the underlying str, it can do
that via AsRef<str> which doesn’t carry any extra requirements.
Required Methods
fn borrow(&self) -> &BorrowedImmutably borrows from an owned value.
Examples
use Borrow; let s = "Hello".to_string; check; let s = "Hello"; check;
Implementors
impl Borrow<[u8]> for ByteStrimpl<T> Borrow<T> for () where T: ?Sized,impl<T> Borrow<T> for (T,) where T: ?Sized,impl<T> Borrow<T> for *const T where T: ?Sized,impl<T> Borrow<T> for Abi where T: ?Sized,impl<T> Borrow<T> for AddrKind where T: ?Sized,impl<T> Borrow<T> for AddrParseError where T: ?Sized,impl<T> Borrow<T> for AesOutput where T: ?Sized,impl<T> Borrow<T> for Align1<T> where T: ?Sized,impl<T> Borrow<T> for Align16<T> where T: ?Sized,impl<T> Borrow<T> for Align2<T> where T: ?Sized,impl<T> Borrow<T> for Align4<T> where T: ?Sized,impl<T> Borrow<T> for Align8<T> where T: ?Sized,impl<T> Borrow<T> for AlignedStorage<T, N> where T: ?Sized,impl<T> Borrow<T> for Alignment where T: ?Sized,impl<T> Borrow<T> for Alignment where T: ?Sized,impl<T> Borrow<T> for AlignmentEnum where T: ?Sized,impl<T> Borrow<T> for AllocError where T: ?Sized,impl<T> Borrow<T> for AlwaysEscaped where T: ?Sized,impl<T> Borrow<T> for Argument<'a> where T: ?Sized,impl<T> Borrow<T> for ArgumentType<'a> where T: ?Sized,impl<T> Borrow<T> for Arguments<'a> where T: ?Sized,impl<T> Borrow<T> for ArrayChunks<I, N> where T: ?Sized,impl<T> Borrow<T> for ArrayWindows<'a, T, N> where T: ?Sized,impl<T> Borrow<T> for AsciiChar where T: ?Sized,impl<T> Borrow<T> for AssertUnwindSafe<T> where T: ?Sized,impl<T> Borrow<T> for Assume where T: ?Sized,impl<T> Borrow<T> for Atomic<T> where T: ?Sized,impl<T> Borrow<T> for AtomicOrdering where T: ?Sized,impl<T> Borrow<T> for BasicBlock where T: ?Sized,impl<T> Borrow<T> for BiasedFp where T: ?Sized,impl<T> Borrow<T> for Big64x20 where T: ?Sized,impl<T> Borrow<T> for Big8x3 where T: ?Sized,impl<T> Borrow<T> for BorrowError where T: ?Sized,impl<T> Borrow<T> for BorrowMutError where T: ?Sized,impl<T> Borrow<T> for BorrowRef<'b> where T: ?Sized,impl<T> Borrow<T> for BorrowRefMut<'b> where T: ?Sized,impl<T> Borrow<T> for BorrowedBuf<'data, T> where T: ?Sized,impl<T> Borrow<T> for BorrowedBufDebug where T: ?Sized,impl<T> Borrow<T> for BorrowedCursor<'a, T> where T: ?Sized,impl<T> Borrow<T> for Bound<T> where T: ?Sized,impl<T> Borrow<T> for Buffer<T, N> where T: ?Sized,impl<T> Borrow<T> for BuildHasherDefault<H> where T: ?Sized,impl<T> Borrow<T> for ByRefSized<'a, I> where T: ?Sized,impl<T> Borrow<T> for ByteNeedle where T: ?Sized,impl<T> Borrow<T> for ByteStr where T: ?Sized,impl<T> Borrow<T> for Bytes<'a> where T: ?Sized,impl<T> Borrow<T> for Bytes<'a> where T: ?Sized,impl<T> Borrow<T> for BytesIsNotEmpty where T: ?Sized,impl<T> Borrow<T> for CStr where T: ?Sized,impl<T> Borrow<T> for Capture<E, M> where T: ?Sized,impl<T> Borrow<T> for CaseMappingIter where T: ?Sized,impl<T> Borrow<T> for CastKind where T: ?Sized,impl<T> Borrow<T> for Cell<T> where T: ?Sized,impl<T> Borrow<T> for Chain<A, B> where T: ?Sized,impl<T> Borrow<T> for Chain<T, U> where T: ?Sized,impl<T> Borrow<T> for CharArrayRefSearcher<'a, 'b, N> where T: ?Sized,impl<T> Borrow<T> for CharArraySearcher<'a, N> where T: ?Sized,impl<T> Borrow<T> for CharCase where T: ?Sized,impl<T> Borrow<T> for CharErrorKind where T: ?Sized,impl<T> Borrow<T> for CharEscapeDebug where T: ?Sized,impl<T> Borrow<T> for CharEscapeDefault where T: ?Sized,impl<T> Borrow<T> for CharEscapeUnicode where T: ?Sized,impl<T> Borrow<T> for CharIndices<'a> where T: ?Sized,impl<T> Borrow<T> for CharPredicateSearcher<'a, F> where T: ?Sized,impl<T> Borrow<T> for CharSearcher<'a> where T: ?Sized,impl<T> Borrow<T> for CharSliceSearcher<'a, 'b> where T: ?Sized,impl<T> Borrow<T> for CharTryFromError where T: ?Sized,impl<T> Borrow<T> for Chars<'a> where T: ?Sized,impl<T> Borrow<T> for ChunkBy<'a, T, P> where T: ?Sized,impl<T> Borrow<T> for ChunkByMut<'a, T, P> where T: ?Sized,impl<T> Borrow<T> for Chunks<'a, T> where T: ?Sized,impl<T> Borrow<T> for ChunksExact<'a, T> where T: ?Sized,impl<T> Borrow<T> for ChunksExactMut<'a, T> where T: ?Sized,impl<T> Borrow<T> for ChunksMut<'a, T> where T: ?Sized,impl<T> Borrow<T> for Clamp<Idx> where T: ?Sized,impl<T> Borrow<T> for Cloned<I> where T: ?Sized,impl<T> Borrow<T> for CodePointInner where T: ?Sized,impl<T> Borrow<T> for Complex<T> where T: ?Sized,impl<T> Borrow<T> for Const where T: ?Sized,impl<T> Borrow<T> for Context<'a> where T: ?Sized,impl<T> Borrow<T> for ContextBuilder<'a> where T: ?Sized,impl<T> Borrow<T> for ControlFlow<B, C> where T: ?Sized,impl<T> Borrow<T> for Copied<I> where T: ?Sized,impl<T> Borrow<T> for CopyOnDrop<T> where T: ?Sized,impl<T> Borrow<T> for CoroutineState<Y, R> where T: ?Sized,impl<T> Borrow<T> for CovariantUnsafeCell<T> where T: ?Sized,impl<T> Borrow<T> for CpuidResult where T: ?Sized,impl<T> Borrow<T> for Cursor<T> where T: ?Sized,impl<T> Borrow<T> for Cycle<I> where T: ?Sized,impl<T> Borrow<T> for Debug<'a> where T: ?Sized,impl<T> Borrow<T> for DebugAsHex where T: ?Sized,impl<T> Borrow<T> for DebugInner<'a, 'b> where T: ?Sized,impl<T> Borrow<T> for DebugList<'a, 'b> where T: ?Sized,impl<T> Borrow<T> for DebugMap<'a, 'b> where T: ?Sized,impl<T> Borrow<T> for DebugOnce<F> where T: ?Sized,impl<T> Borrow<T> for DebugSet<'a, 'b> where T: ?Sized,impl<T> Borrow<T> for DebugStruct<'a, 'b> where T: ?Sized,impl<T> Borrow<T> for DebugTuple<'a, 'b> where T: ?Sized,impl<T> Borrow<T> for Decimal where T: ?Sized,impl<T> Borrow<T> for DecimalSeq where T: ?Sized,impl<T> Borrow<T> for DecodeUtf16<I> where T: ?Sized,impl<T> Borrow<T> for DecodeUtf16Error where T: ?Sized,impl<T> Borrow<T> for Decoded where T: ?Sized,impl<T> Borrow<T> for Direction where T: ?Sized,impl<T> Borrow<T> for Discriminant<T> where T: ?Sized,impl<T> Borrow<T> for Display<'a> where T: ?Sized,impl<T> Borrow<T> for DisplayBuffer<'a> where T: ?Sized,impl<T> Borrow<T> for Drain<'l, 'f, T, F> where T: ?Sized,impl<T> Borrow<T> for DriftsortRun where T: ?Sized,impl<T> Borrow<T> for DropGuard<T, F> where T: ?Sized,impl<T> Borrow<T> for Duration where T: ?Sized,impl<T> Borrow<T> for DynMetadata<Dyn> where T: ?Sized,impl<T> Borrow<T> for DynTrait where T: ?Sized,impl<T> Borrow<T> for DynTraitPredicate where T: ?Sized,impl<T> Borrow<T> for Empty where T: ?Sized,impl<T> Borrow<T> for Empty<T> where T: ?Sized,impl<T> Borrow<T> for EmptyNeedle where T: ?Sized,impl<T> Borrow<T> for EncodeKey128Output where T: ?Sized,impl<T> Borrow<T> for EncodeKey256Output where T: ?Sized,impl<T> Borrow<T> for EncodeUtf16<'a> where T: ?Sized,impl<T> Borrow<T> for Enumerate<I> where T: ?Sized,impl<T> Borrow<T> for Error where T: ?Sized,impl<T> Borrow<T> for Error where T: ?Sized,impl<T> Borrow<T> for ErrorData<C> where T: ?Sized,impl<T> Borrow<T> for ErrorKind where T: ?Sized,impl<T> Borrow<T> for EscapeAscii<'a> where T: ?Sized,impl<T> Borrow<T> for EscapeByte where T: ?Sized,impl<T> Borrow<T> for EscapeDebug where T: ?Sized,impl<T> Borrow<T> for EscapeDebug<'a> where T: ?Sized,impl<T> Borrow<T> for EscapeDebugExtArgs where T: ?Sized,impl<T> Borrow<T> for EscapeDefault where T: ?Sized,impl<T> Borrow<T> for EscapeDefault where T: ?Sized,impl<T> Borrow<T> for EscapeDefault<'a> where T: ?Sized,impl<T> Borrow<T> for EscapeIterInner<N, ESCAPING> where T: ?Sized,impl<T> Borrow<T> for EscapeUnicode where T: ?Sized,impl<T> Borrow<T> for EscapeUnicode<'a> where T: ?Sized,impl<T> Borrow<T> for ExtData<'a> where T: ?Sized,impl<T> Borrow<T> for FieldId where T: ?Sized,impl<T> Borrow<T> for FieldRepresentingType<T, VARIANT, FIELD> where T: ?Sized,impl<T> Borrow<T> for Filter<I, P> where T: ?Sized,impl<T> Borrow<T> for FilterMap<I, F> where T: ?Sized,impl<T> Borrow<T> for FindImm where T: ?Sized,impl<T> Borrow<T> for FlatMap<I, U, F> where T: ?Sized,impl<T> Borrow<T> for Flatten<I> where T: ?Sized,impl<T> Borrow<T> for FlattenCompat<I, U> where T: ?Sized,impl<T> Borrow<T> for FloatErrorKind where T: ?Sized,impl<T> Borrow<T> for FnPtr where T: ?Sized,impl<T> Borrow<T> for Formatted<'a> where T: ?Sized,impl<T> Borrow<T> for Formatter<'a> where T: ?Sized,impl<T> Borrow<T> for FormattingOptions where T: ?Sized,impl<T> Borrow<T> for FpCategory where T: ?Sized,impl<T> Borrow<T> for FromBytesUntilNulError where T: ?Sized,impl<T> Borrow<T> for FromBytesWithNulError where T: ?Sized,impl<T> Borrow<T> for FromCoroutine<G> where T: ?Sized,impl<T> Borrow<T> for FromFn<F> where T: ?Sized,impl<T> Borrow<T> for FromFn<F> where T: ?Sized,impl<T> Borrow<T> for FromIter<I> where T: ?Sized,impl<T> Borrow<T> for FullDecoded where T: ?Sized,impl<T> Borrow<T> for Fuse<I> where T: ?Sized,impl<T> Borrow<T> for GapGuard<T> where T: ?Sized,impl<T> Borrow<T> for GapGuardRaw<T> where T: ?Sized,impl<T> Borrow<T> for Generic where T: ?Sized,impl<T> Borrow<T> for GenericShunt<'a, I, R> where T: ?Sized,impl<T> Borrow<T> for GenericSplitN<I> where T: ?Sized,impl<T> Borrow<T> for GenericType where T: ?Sized,impl<T> Borrow<T> for GetDisjointMutError where T: ?Sized,impl<T> Borrow<T> for Guard<'a, T> where T: ?Sized,impl<T> Borrow<T> for Guard<'a, T> where T: ?Sized,impl<T> Borrow<T> for GuardBack<'a, T> where T: ?Sized,impl<T> Borrow<T> for HackGcaAdtsFeature where T: ?Sized,impl<T> Borrow<T> for Hasher<S> where T: ?Sized,impl<T> Borrow<T> for HvxVector where T: ?Sized,impl<T> Borrow<T> for HvxVector where T: ?Sized,impl<T> Borrow<T> for HvxVectorPair where T: ?Sized,impl<T> Borrow<T> for HvxVectorPair where T: ?Sized,impl<T> Borrow<T> for HvxVectorPred where T: ?Sized,impl<T> Borrow<T> for HvxVectorPred where T: ?Sized,impl<T> Borrow<T> for I32NotAllOnes where T: ?Sized,impl<T> Borrow<T> for I64NotAllOnes where T: ?Sized,impl<T> Borrow<T> for IndexRange where T: ?Sized,impl<T> Borrow<T> for InitializingSlice<'a, T> where T: ?Sized,impl<T> Borrow<T> for Inspect<I, F> where T: ?Sized,impl<T> Borrow<T> for IntErrorKind where T: ?Sized,impl<T> Borrow<T> for Internal where T: ?Sized,impl<T> Borrow<T> for Intersperse<I> where T: ?Sized,impl<T> Borrow<T> for IntersperseWith<I, G> where T: ?Sized,impl<T> Borrow<T> for IntoIter<A> where T: ?Sized,impl<T> Borrow<T> for IntoIter<T> where T: ?Sized,impl<T> Borrow<T> for IntoIter<T, N> where T: ?Sized,impl<T> Borrow<T> for IoSlice<'a> where T: ?Sized,impl<T> Borrow<T> for IoSlice<'a> where T: ?Sized,impl<T> Borrow<T> for IoSliceMut<'a> where T: ?Sized,impl<T> Borrow<T> for IoSliceMut<'a> where T: ?Sized,impl<T> Borrow<T> for IpAddr where T: ?Sized,impl<T> Borrow<T> for Ipv4Addr where T: ?Sized,impl<T> Borrow<T> for Ipv6Addr where T: ?Sized,impl<T> Borrow<T> for Ipv6MulticastScope where T: ?Sized,impl<T> Borrow<T> for IsAsciiWhitespace where T: ?Sized,impl<T> Borrow<T> for IsNotEmpty where T: ?Sized,impl<T> Borrow<T> for IsWhitespace where T: ?Sized,impl<T> Borrow<T> for Item<A> where T: ?Sized,impl<T> Borrow<T> for Iter<'a, A> where T: ?Sized,impl<T> Borrow<T> for Iter<'a, T> where T: ?Sized,impl<T> Borrow<T> for Iter<'a, T> where T: ?Sized,impl<T> Borrow<T> for IterMut<'a, A> where T: ?Sized,impl<T> Borrow<T> for IterMut<'a, T> where T: ?Sized,impl<T> Borrow<T> for IterMut<'a, T> where T: ?Sized,impl<T> Borrow<T> for KeyAndValue<K, V> where T: ?Sized,impl<T> Borrow<T> for L1Lut where T: ?Sized,impl<T> Borrow<T> for L2Lut where T: ?Sized,impl<T> Borrow<T> for Last where T: ?Sized,impl<T> Borrow<T> for Layout where T: ?Sized,impl<T> Borrow<T> for LayoutError where T: ?Sized,impl<T> Borrow<T> for LazyCell<T, F> where T: ?Sized,impl<T> Borrow<T> for Lifetime where T: ?Sized,impl<T> Borrow<T> for Lines<'a> where T: ?Sized,impl<T> Borrow<T> for LinesAny<'a> where T: ?Sized,impl<T> Borrow<T> for LinesMap where T: ?Sized,impl<T> Borrow<T> for LocalWaker where T: ?Sized,impl<T> Borrow<T> for Locality where T: ?Sized,impl<T> Borrow<T> for Location<'a> where T: ?Sized,impl<T> Borrow<T> for ManuallyDrop<T> where T: ?Sized,impl<T> Borrow<T> for Map<I, F> where T: ?Sized,impl<T> Borrow<T> for MapWhile<I, P> where T: ?Sized,impl<T> Borrow<T> for MapWindows<I, F, N> where T: ?Sized,impl<T> Borrow<T> for MapWindowsInner<I, N> where T: ?Sized,impl<T> Borrow<T> for Mask<T, N> where T: ?Sized,impl<T> Borrow<T> for MatchIndices<'a, P> where T: ?Sized,impl<T> Borrow<T> for MatchIndicesInternal<'a, P> where T: ?Sized,impl<T> Borrow<T> for MatchOnly where T: ?Sized,impl<T> Borrow<T> for Matches<'a, P> where T: ?Sized,impl<T> Borrow<T> for MatchesInternal<'a, P> where T: ?Sized,impl<T> Borrow<T> for MaybeDangling<P> where T: ?Sized,impl<T> Borrow<T> for MaybeDone<F> where T: ?Sized,impl<T> Borrow<T> for MaybeEscaped where T: ?Sized,impl<T> Borrow<T> for MaybeEscapedCharacter<N> where T: ?Sized,impl<T> Borrow<T> for MaybeSizedValue<T> where T: ?Sized,impl<T> Borrow<T> for MaybeUninit<T> where T: ?Sized,impl<T> Borrow<T> for MergeState<T> where T: ?Sized,impl<T> Borrow<T> for MultiCharEqPattern<C> where T: ?Sized,impl<T> Borrow<T> for MultiCharEqSearcher<'a, C> where T: ?Sized,impl<T> Borrow<T> for Nanoseconds where T: ?Sized,impl<T> Borrow<T> for NeverShortCircuit<T> where T: ?Sized,impl<T> Borrow<T> for NeverShortCircuitResidual where T: ?Sized,impl<T> Borrow<T> for NonNull<T> where T: ?Sized,impl<T> Borrow<T> for NonZero<T> where T: ?Sized,impl<T> Borrow<T> for NonZeroCharInner where T: ?Sized,impl<T> Borrow<T> for NonZeroI128Inner where T: ?Sized,impl<T> Borrow<T> for NonZeroI16Inner where T: ?Sized,impl<T> Borrow<T> for NonZeroI32Inner where T: ?Sized,impl<T> Borrow<T> for NonZeroI64Inner where T: ?Sized,impl<T> Borrow<T> for NonZeroI8Inner where T: ?Sized,impl<T> Borrow<T> for NonZeroIsizeInner where T: ?Sized,impl<T> Borrow<T> for NonZeroU128Inner where T: ?Sized,impl<T> Borrow<T> for NonZeroU16Inner where T: ?Sized,impl<T> Borrow<T> for NonZeroU32Inner where T: ?Sized,impl<T> Borrow<T> for NonZeroU64Inner where T: ?Sized,impl<T> Borrow<T> for NonZeroU8Inner where T: ?Sized,impl<T> Borrow<T> for NonZeroUsizeInner where T: ?Sized,impl<T> Borrow<T> for NumBuffer<T> where T: ?Sized,impl<T> Borrow<T> for Once<T> where T: ?Sized,impl<T> Borrow<T> for OnceCell<T> where T: ?Sized,impl<T> Borrow<T> for OnceWith<F> where T: ?Sized,impl<T> Borrow<T> for OneSidedRangeBound where T: ?Sized,impl<T> Borrow<T> for Option<T> where T: ?Sized,impl<T> Borrow<T> for OptionFlatten<A> where T: ?Sized,impl<T> Borrow<T> for Ordering where T: ?Sized,impl<T> Borrow<T> for Ordering where T: ?Sized,impl<T> Borrow<T> for PackedTuple<T, U> where T: ?Sized,impl<T> Borrow<T> for PadAdapter<'buf, 'state> where T: ?Sized,impl<T> Borrow<T> for PadAdapterState where T: ?Sized,impl<T> Borrow<T> for PanicInfo<'a> where T: ?Sized,impl<T> Borrow<T> for PanicMessage<'a> where T: ?Sized,impl<T> Borrow<T> for ParseBoolError where T: ?Sized,impl<T> Borrow<T> for ParseCharError where T: ?Sized,impl<T> Borrow<T> for ParseFloatError where T: ?Sized,impl<T> Borrow<T> for ParseIntError where T: ?Sized,impl<T> Borrow<T> for Parser<'a> where T: ?Sized,impl<T> Borrow<T> for Part<'a> where T: ?Sized,impl<T> Borrow<T> for PartitionState<T> where T: ?Sized,impl<T> Borrow<T> for PartitionState<T> where T: ?Sized,impl<T> Borrow<T> for Peekable<I> where T: ?Sized,impl<T> Borrow<T> for Pending<T> where T: ?Sized,impl<T> Borrow<T> for PhantomContravariant<T> where T: ?Sized,impl<T> Borrow<T> for PhantomContravariantLifetime<'a> where T: ?Sized,impl<T> Borrow<T> for PhantomCovariant<T> where T: ?Sized,impl<T> Borrow<T> for PhantomCovariantLifetime<'a> where T: ?Sized,impl<T> Borrow<T> for PhantomData<T> where T: ?Sized,impl<T> Borrow<T> for PhantomInvariant<T> where T: ?Sized,impl<T> Borrow<T> for PhantomInvariantLifetime<'a> where T: ?Sized,impl<T> Borrow<T> for PhantomPinned where T: ?Sized,impl<T> Borrow<T> for Pin<Ptr> where T: ?Sized,impl<T> Borrow<T> for PinHelper<Ptr> where T: ?Sized,impl<T> Borrow<T> for PointerCoercion where T: ?Sized,impl<T> Borrow<T> for Poll<T> where T: ?Sized,impl<T> Borrow<T> for PollFn<F> where T: ?Sized,impl<T> Borrow<T> for PolymorphicIter<DATA> where T: ?Sized,impl<T> Borrow<T> for PostPadding where T: ?Sized,impl<T> Borrow<T> for RChunks<'a, T> where T: ?Sized,impl<T> Borrow<T> for RChunksExact<'a, T> where T: ?Sized,impl<T> Borrow<T> for RChunksExactMut<'a, T> where T: ?Sized,impl<T> Borrow<T> for RChunksMut<'a, T> where T: ?Sized,impl<T> Borrow<T> for RMatchIndices<'a, P> where T: ?Sized,impl<T> Borrow<T> for RMatches<'a, P> where T: ?Sized,impl<T> Borrow<T> for RSplit<'a, P> where T: ?Sized,impl<T> Borrow<T> for RSplit<'a, T, P> where T: ?Sized,impl<T> Borrow<T> for RSplitMut<'a, T, P> where T: ?Sized,impl<T> Borrow<T> for RSplitN<'a, P> where T: ?Sized,impl<T> Borrow<T> for RSplitN<'a, T, P> where T: ?Sized,impl<T> Borrow<T> for RSplitNMut<'a, T, P> where T: ?Sized,impl<T> Borrow<T> for RSplitTerminator<'a, P> where T: ?Sized,impl<T> Borrow<T> for Range where T: ?Sized,impl<T> Borrow<T> for Range<Idx> where T: ?Sized,impl<T> Borrow<T> for Range<Idx> where T: ?Sized,impl<T> Borrow<T> for RangeError where T: ?Sized,impl<T> Borrow<T> for RangeFrom<Idx> where T: ?Sized,impl<T> Borrow<T> for RangeFrom<Idx> where T: ?Sized,impl<T> Borrow<T> for RangeFromIter<A> where T: ?Sized,impl<T> Borrow<T> for RangeFull where T: ?Sized,impl<T> Borrow<T> for RangeInclusive<Idx> where T: ?Sized,impl<T> Borrow<T> for RangeInclusive<Idx> where T: ?Sized,impl<T> Borrow<T> for RangeInclusiveIter<A> where T: ?Sized,impl<T> Borrow<T> for RangeIter<A> where T: ?Sized,impl<T> Borrow<T> for RangeTo<Idx> where T: ?Sized,impl<T> Borrow<T> for RangeToInclusive<Idx> where T: ?Sized,impl<T> Borrow<T> for RangeToInclusive<Idx> where T: ?Sized,impl<T> Borrow<T> for RawWaker where T: ?Sized,impl<T> Borrow<T> for RawWakerVTable where T: ?Sized,impl<T> Borrow<T> for Ready<T> where T: ?Sized,impl<T> Borrow<T> for Ref<'b, T> where T: ?Sized,impl<T> Borrow<T> for Ref<I> where T: ?Sized,impl<T> Borrow<T> for RefCell<T> where T: ?Sized,impl<T> Borrow<T> for RefMut<'b, T> where T: ?Sized,impl<T> Borrow<T> for RejectAndMatch where T: ?Sized,impl<T> Borrow<T> for Repeat where T: ?Sized,impl<T> Borrow<T> for Repeat<A> where T: ?Sized,impl<T> Borrow<T> for RepeatN<A> where T: ?Sized,impl<T> Borrow<T> for RepeatNInner<T> where T: ?Sized,impl<T> Borrow<T> for RepeatWith<F> where T: ?Sized,impl<T> Borrow<T> for Repr where T: ?Sized,impl<T> Borrow<T> for Request<'a> where T: ?Sized,impl<T> Borrow<T> for Result<T, E> where T: ?Sized,impl<T> Borrow<T> for ReturnToArg where T: ?Sized,impl<T> Borrow<T> for Rev<T> where T: ?Sized,impl<T> Borrow<T> for Reverse<T> where T: ?Sized,impl<T> Borrow<T> for ReverseMask<N> where T: ?Sized,impl<T> Borrow<T> for SY where T: ?Sized,impl<T> Borrow<T> for Safety where T: ?Sized,impl<T> Borrow<T> for Saturating<T> where T: ?Sized,impl<T> Borrow<T> for Scan<I, St, F> where T: ?Sized,impl<T> Borrow<T> for SearchStep where T: ?Sized,impl<T> Borrow<T> for SeekFrom where T: ?Sized,impl<T> Borrow<T> for ShortOffsetRunHeader where T: ?Sized,impl<T> Borrow<T> for ShuffleMask<N> where T: ?Sized,impl<T> Borrow<T> for Sign where T: ?Sized,impl<T> Borrow<T> for Sign where T: ?Sized,impl<T> Borrow<T> for Simd<T, N> where T: ?Sized,impl<T> Borrow<T> for Simd<T, N> where T: ?Sized,impl<T> Borrow<T> for SimdAlign where T: ?Sized,impl<T> Borrow<T> for SimdM<T, N> where T: ?Sized,impl<T> Borrow<T> for SimdShuffleIdx<LEN> where T: ?Sized,impl<T> Borrow<T> for Sink where T: ?Sized,impl<T> Borrow<T> for Sip13Rounds where T: ?Sized,impl<T> Borrow<T> for Sip24Rounds where T: ?Sized,impl<T> Borrow<T> for SipHasher where T: ?Sized,impl<T> Borrow<T> for SipHasher24 where T: ?Sized,impl<T> Borrow<T> for Skip<I> where T: ?Sized,impl<T> Borrow<T> for SkipWhile<I, P> where T: ?Sized,impl<T> Borrow<T> for SocketAddr where T: ?Sized,impl<T> Borrow<T> for SocketAddrV4 where T: ?Sized,impl<T> Borrow<T> for SocketAddrV6 where T: ?Sized,impl<T> Borrow<T> for Source<'a> where T: ?Sized,impl<T> Borrow<T> for Split<'a, P> where T: ?Sized,impl<T> Borrow<T> for Split<'a, T, P> where T: ?Sized,impl<T> Borrow<T> for SplitAsciiWhitespace<'a> where T: ?Sized,impl<T> Borrow<T> for SplitAsciiWhitespace<'a> where T: ?Sized,impl<T> Borrow<T> for SplitInclusive<'a, P> where T: ?Sized,impl<T> Borrow<T> for SplitInclusive<'a, T, P> where T: ?Sized,impl<T> Borrow<T> for SplitInclusiveMut<'a, T, P> where T: ?Sized,impl<T> Borrow<T> for SplitInternal<'a, P> where T: ?Sized,impl<T> Borrow<T> for SplitMut<'a, T, P> where T: ?Sized,impl<T> Borrow<T> for SplitN<'a, P> where T: ?Sized,impl<T> Borrow<T> for SplitN<'a, T, P> where T: ?Sized,impl<T> Borrow<T> for SplitNInternal<'a, P> where T: ?Sized,impl<T> Borrow<T> for SplitNMut<'a, T, P> where T: ?Sized,impl<T> Borrow<T> for SplitTerminator<'a, P> where T: ?Sized,impl<T> Borrow<T> for SplitWhitespace<'a> where T: ?Sized,impl<T> Borrow<T> for State where T: ?Sized,impl<T> Borrow<T> for State<T, F> where T: ?Sized,impl<T> Borrow<T> for StepBy<I> where T: ?Sized,impl<T> Borrow<T> for Str where T: ?Sized,impl<T> Borrow<T> for StrSearcher<'a, 'b> where T: ?Sized,impl<T> Borrow<T> for StrSearcherImpl where T: ?Sized,impl<T> Borrow<T> for Successors<T, F> where T: ?Sized,impl<T> Borrow<T> for SyncUnsafeCell<T> where T: ?Sized,impl<T> Borrow<T> for SyncView<T> where T: ?Sized,impl<T> Borrow<T> for Tagged<E> where T: ?Sized,impl<T> Borrow<T> for TaggedOption<'a, I> where T: ?Sized,impl<T> Borrow<T> for Take<I> where T: ?Sized,impl<T> Borrow<T> for Take<T> where T: ?Sized,impl<T> Borrow<T> for TakeWhile<I, P> where T: ?Sized,impl<T> Borrow<T> for ToCasefold where T: ?Sized,impl<T> Borrow<T> for ToLowercase where T: ?Sized,impl<T> Borrow<T> for ToTitlecase where T: ?Sized,impl<T> Borrow<T> for ToUppercase where T: ?Sized,impl<T> Borrow<T> for Trait where T: ?Sized,impl<T> Borrow<T> for TraitImpl<T> where T: ?Sized,impl<T> Borrow<T> for TryCaptureWithDebug where T: ?Sized,impl<T> Borrow<T> for TryCaptureWithoutDebug where T: ?Sized,impl<T> Borrow<T> for TryFromCharError where T: ?Sized,impl<T> Borrow<T> for TryFromFloatSecsError where T: ?Sized,impl<T> Borrow<T> for TryFromFloatSecsErrorKind where T: ?Sized,impl<T> Borrow<T> for TryFromIntError where T: ?Sized,impl<T> Borrow<T> for TryFromSliceError where T: ?Sized,impl<T> Borrow<T> for Tuple where T: ?Sized,impl<T> Borrow<T> for TwoWaySearcher where T: ?Sized,impl<T> Borrow<T> for Type where T: ?Sized,impl<T> Borrow<T> for TypeId where T: ?Sized,impl<T> Borrow<T> for TypeKind where T: ?Sized,impl<T> Borrow<T> for U32NotAllOnes where T: ?Sized,impl<T> Borrow<T> for U64NotAllOnes where T: ?Sized,impl<T> Borrow<T> for Unaligned<T> where T: ?Sized,impl<T> Borrow<T> for UnsafeBytesToStr where T: ?Sized,impl<T> Borrow<T> for UnsafeCell<T> where T: ?Sized,impl<T> Borrow<T> for UnsafePinned<T> where T: ?Sized,impl<T> Borrow<T> for UnwindActionArg where T: ?Sized,impl<T> Borrow<T> for UnwindTerminateReason where T: ?Sized,impl<T> Borrow<T> for UsizeNoHighBit where T: ?Sized,impl<T> Borrow<T> for UsizeNoHighBitMinusOne where T: ?Sized,impl<T> Borrow<T> for Utf8BoundaryError where T: ?Sized,impl<T> Borrow<T> for Utf8Chunk<'a> where T: ?Sized,impl<T> Borrow<T> for Utf8Chunks<'a> where T: ?Sized,impl<T> Borrow<T> for Utf8Error where T: ?Sized,impl<T> Borrow<T> for Utf8Pattern<'a> where T: ?Sized,impl<T> Borrow<T> for VaList<'a> where T: ?Sized,impl<T> Borrow<T> for VaListInner where T: ?Sized,impl<T> Borrow<T> for Value<T> where T: ?Sized,impl<T> Borrow<T> for VariantId where T: ?Sized,impl<T> Borrow<T> for Waker where T: ?Sized,impl<T> Borrow<T> for WideAesOutput where T: ?Sized,impl<T> Borrow<T> for Windows<'a, T> where T: ?Sized,impl<T> Borrow<T> for Wrapper<T> where T: ?Sized,impl<T> Borrow<T> for Wrapping<T> where T: ?Sized,impl<T> Borrow<T> for Yeet<T> where T: ?Sized,impl<T> Borrow<T> for Zip<A, B> where T: ?Sized,impl<T> Borrow<T> for [NonZero<T>; N] where T: ?Sized,impl<T> Borrow<T> for [T] where T: ?Sized,impl<T> Borrow<T> for __m128 where T: ?Sized,impl<T> Borrow<T> for __m128bh where T: ?Sized,impl<T> Borrow<T> for __m128d where T: ?Sized,impl<T> Borrow<T> for __m128h where T: ?Sized,impl<T> Borrow<T> for __m128i where T: ?Sized,impl<T> Borrow<T> for __m256 where T: ?Sized,impl<T> Borrow<T> for __m256bh where T: ?Sized,impl<T> Borrow<T> for __m256d where T: ?Sized,impl<T> Borrow<T> for __m256h where T: ?Sized,impl<T> Borrow<T> for __m256i where T: ?Sized,impl<T> Borrow<T> for __m512 where T: ?Sized,impl<T> Borrow<T> for __m512bh where T: ?Sized,impl<T> Borrow<T> for __m512d where T: ?Sized,impl<T> Borrow<T> for __m512h where T: ?Sized,impl<T> Borrow<T> for __m512i where T: ?Sized,impl<T> Borrow<T> for __tile1024i where T: ?Sized,impl<T> Borrow<T> for __v16i16 where T: ?Sized,impl<T> Borrow<T> for __v16i8 where T: ?Sized,impl<T> Borrow<T> for __v16u16 where T: ?Sized,impl<T> Borrow<T> for __v16u8 where T: ?Sized,impl<T> Borrow<T> for __v2f64 where T: ?Sized,impl<T> Borrow<T> for __v2i64 where T: ?Sized,impl<T> Borrow<T> for __v2u64 where T: ?Sized,impl<T> Borrow<T> for __v32i8 where T: ?Sized,impl<T> Borrow<T> for __v32u8 where T: ?Sized,impl<T> Borrow<T> for __v4f32 where T: ?Sized,impl<T> Borrow<T> for __v4f64 where T: ?Sized,impl<T> Borrow<T> for __v4i32 where T: ?Sized,impl<T> Borrow<T> for __v4i64 where T: ?Sized,impl<T> Borrow<T> for __v4u32 where T: ?Sized,impl<T> Borrow<T> for __v4u64 where T: ?Sized,impl<T> Borrow<T> for __v8f32 where T: ?Sized,impl<T> Borrow<T> for __v8i16 where T: ?Sized,impl<T> Borrow<T> for __v8i32 where T: ?Sized,impl<T> Borrow<T> for __v8u16 where T: ?Sized,impl<T> Borrow<T> for __v8u32 where T: ?Sized,impl<T> Borrow<T> for bf16 where T: ?Sized,impl<T> Borrow<T> for bool where T: ?Sized,impl<T> Borrow<T> for c_void where T: ?Sized,impl<T> Borrow<T> for char where T: ?Sized,impl<T> Borrow<T> for f128 where T: ?Sized,impl<T> Borrow<T> for f16 where T: ?Sized,impl<T> Borrow<T> for f16b where T: ?Sized,impl<T> Borrow<T> for f16x2 where T: ?Sized,impl<T> Borrow<T> for f32 where T: ?Sized,impl<T> Borrow<T> for f64 where T: ?Sized,impl<T> Borrow<T> for float16x4_t where T: ?Sized,impl<T> Borrow<T> for float16x4x2_t where T: ?Sized,impl<T> Borrow<T> for float16x4x3_t where T: ?Sized,impl<T> Borrow<T> for float16x4x4_t where T: ?Sized,impl<T> Borrow<T> for float16x8_t where T: ?Sized,impl<T> Borrow<T> for float16x8x2_t where T: ?Sized,impl<T> Borrow<T> for float16x8x3_t where T: ?Sized,impl<T> Borrow<T> for float16x8x4_t where T: ?Sized,impl<T> Borrow<T> for float32x2_t where T: ?Sized,impl<T> Borrow<T> for float32x2x2_t where T: ?Sized,impl<T> Borrow<T> for float32x2x3_t where T: ?Sized,impl<T> Borrow<T> for float32x2x4_t where T: ?Sized,impl<T> Borrow<T> for float32x4_t where T: ?Sized,impl<T> Borrow<T> for float32x4x2_t where T: ?Sized,impl<T> Borrow<T> for float32x4x3_t where T: ?Sized,impl<T> Borrow<T> for float32x4x4_t where T: ?Sized,impl<T> Borrow<T> for float64x1_t where T: ?Sized,impl<T> Borrow<T> for float64x1x2_t where T: ?Sized,impl<T> Borrow<T> for float64x1x3_t where T: ?Sized,impl<T> Borrow<T> for float64x1x4_t where T: ?Sized,impl<T> Borrow<T> for float64x2_t where T: ?Sized,impl<T> Borrow<T> for float64x2x2_t where T: ?Sized,impl<T> Borrow<T> for float64x2x3_t where T: ?Sized,impl<T> Borrow<T> for float64x2x4_t where T: ?Sized,impl<T> Borrow<T> for fn(T) -> Ret where T: ?Sized,impl<T> Borrow<T> for i128 where T: ?Sized,impl<T> Borrow<T> for i16 where T: ?Sized,impl<T> Borrow<T> for i32 where T: ?Sized,impl<T> Borrow<T> for i64 where T: ?Sized,impl<T> Borrow<T> for i8 where T: ?Sized,impl<T> Borrow<T> for int16x4_t where T: ?Sized,impl<T> Borrow<T> for int16x4x2_t where T: ?Sized,impl<T> Borrow<T> for int16x4x3_t where T: ?Sized,impl<T> Borrow<T> for int16x4x4_t where T: ?Sized,impl<T> Borrow<T> for int16x8_t where T: ?Sized,impl<T> Borrow<T> for int16x8x2_t where T: ?Sized,impl<T> Borrow<T> for int16x8x3_t where T: ?Sized,impl<T> Borrow<T> for int16x8x4_t where T: ?Sized,impl<T> Borrow<T> for int32x2_t where T: ?Sized,impl<T> Borrow<T> for int32x2x2_t where T: ?Sized,impl<T> Borrow<T> for int32x2x3_t where T: ?Sized,impl<T> Borrow<T> for int32x2x4_t where T: ?Sized,impl<T> Borrow<T> for int32x4_t where T: ?Sized,impl<T> Borrow<T> for int32x4x2_t where T: ?Sized,impl<T> Borrow<T> for int32x4x3_t where T: ?Sized,impl<T> Borrow<T> for int32x4x4_t where T: ?Sized,impl<T> Borrow<T> for int64x1_t where T: ?Sized,impl<T> Borrow<T> for int64x1x2_t where T: ?Sized,impl<T> Borrow<T> for int64x1x3_t where T: ?Sized,impl<T> Borrow<T> for int64x1x4_t where T: ?Sized,impl<T> Borrow<T> for int64x2_t where T: ?Sized,impl<T> Borrow<T> for int64x2x2_t where T: ?Sized,impl<T> Borrow<T> for int64x2x3_t where T: ?Sized,impl<T> Borrow<T> for int64x2x4_t where T: ?Sized,impl<T> Borrow<T> for int8x16_t where T: ?Sized,impl<T> Borrow<T> for int8x16x2_t where T: ?Sized,impl<T> Borrow<T> for int8x16x3_t where T: ?Sized,impl<T> Borrow<T> for int8x16x4_t where T: ?Sized,impl<T> Borrow<T> for int8x8_t where T: ?Sized,impl<T> Borrow<T> for int8x8x2_t where T: ?Sized,impl<T> Borrow<T> for int8x8x3_t where T: ?Sized,impl<T> Borrow<T> for int8x8x4_t where T: ?Sized,impl<T> Borrow<T> for iovec where T: ?Sized,impl<T> Borrow<T> for isize where T: ?Sized,impl<T> Borrow<T> for m128 where T: ?Sized,impl<T> Borrow<T> for m128d where T: ?Sized,impl<T> Borrow<T> for m128i where T: ?Sized,impl<T> Borrow<T> for m256 where T: ?Sized,impl<T> Borrow<T> for m256d where T: ?Sized,impl<T> Borrow<T> for m256i where T: ?Sized,impl<T> Borrow<T> for never where T: ?Sized,impl<T> Borrow<T> for nxv2i16 where T: ?Sized,impl<T> Borrow<T> for nxv2i32 where T: ?Sized,impl<T> Borrow<T> for nxv2i8 where T: ?Sized,impl<T> Borrow<T> for nxv2u16 where T: ?Sized,impl<T> Borrow<T> for nxv2u32 where T: ?Sized,impl<T> Borrow<T> for nxv2u8 where T: ?Sized,impl<T> Borrow<T> for nxv4i16 where T: ?Sized,impl<T> Borrow<T> for nxv4i8 where T: ?Sized,impl<T> Borrow<T> for nxv4u16 where T: ?Sized,impl<T> Borrow<T> for nxv4u8 where T: ?Sized,impl<T> Borrow<T> for nxv8i8 where T: ?Sized,impl<T> Borrow<T> for nxv8u8 where T: ?Sized,impl<T> Borrow<T> for objc_class where T: ?Sized,impl<T> Borrow<T> for objc_selector where T: ?Sized,impl<T> Borrow<T> for poly16x4_t where T: ?Sized,impl<T> Borrow<T> for poly16x4x2_t where T: ?Sized,impl<T> Borrow<T> for poly16x4x3_t where T: ?Sized,impl<T> Borrow<T> for poly16x4x4_t where T: ?Sized,impl<T> Borrow<T> for poly16x8_t where T: ?Sized,impl<T> Borrow<T> for poly16x8x2_t where T: ?Sized,impl<T> Borrow<T> for poly16x8x3_t where T: ?Sized,impl<T> Borrow<T> for poly16x8x4_t where T: ?Sized,impl<T> Borrow<T> for poly64x1_t where T: ?Sized,impl<T> Borrow<T> for poly64x1x2_t where T: ?Sized,impl<T> Borrow<T> for poly64x1x3_t where T: ?Sized,impl<T> Borrow<T> for poly64x1x4_t where T: ?Sized,impl<T> Borrow<T> for poly64x2_t where T: ?Sized,impl<T> Borrow<T> for poly64x2x2_t where T: ?Sized,impl<T> Borrow<T> for poly64x2x3_t where T: ?Sized,impl<T> Borrow<T> for poly64x2x4_t where T: ?Sized,impl<T> Borrow<T> for poly8x16_t where T: ?Sized,impl<T> Borrow<T> for poly8x16x2_t where T: ?Sized,impl<T> Borrow<T> for poly8x16x3_t where T: ?Sized,impl<T> Borrow<T> for poly8x16x4_t where T: ?Sized,impl<T> Borrow<T> for poly8x8_t where T: ?Sized,impl<T> Borrow<T> for poly8x8x2_t where T: ?Sized,impl<T> Borrow<T> for poly8x8x3_t where T: ?Sized,impl<T> Borrow<T> for poly8x8x4_t where T: ?Sized,impl<T> Borrow<T> for ppcf128 where T: ?Sized,impl<T> Borrow<T> for str where T: ?Sized,impl<T> Borrow<T> for svbool2_t where T: ?Sized,impl<T> Borrow<T> for svbool4_t where T: ?Sized,impl<T> Borrow<T> for svbool8_t where T: ?Sized,impl<T> Borrow<T> for svbool_t where T: ?Sized,impl<T> Borrow<T> for svfloat32_t where T: ?Sized,impl<T> Borrow<T> for svfloat32x2_t where T: ?Sized,impl<T> Borrow<T> for svfloat32x3_t where T: ?Sized,impl<T> Borrow<T> for svfloat32x4_t where T: ?Sized,impl<T> Borrow<T> for svfloat64_t where T: ?Sized,impl<T> Borrow<T> for svfloat64x2_t where T: ?Sized,impl<T> Borrow<T> for svfloat64x3_t where T: ?Sized,impl<T> Borrow<T> for svfloat64x4_t where T: ?Sized,impl<T> Borrow<T> for svint16_t where T: ?Sized,impl<T> Borrow<T> for svint16x2_t where T: ?Sized,impl<T> Borrow<T> for svint16x3_t where T: ?Sized,impl<T> Borrow<T> for svint16x4_t where T: ?Sized,impl<T> Borrow<T> for svint32_t where T: ?Sized,impl<T> Borrow<T> for svint32x2_t where T: ?Sized,impl<T> Borrow<T> for svint32x3_t where T: ?Sized,impl<T> Borrow<T> for svint32x4_t where T: ?Sized,impl<T> Borrow<T> for svint64_t where T: ?Sized,impl<T> Borrow<T> for svint64x2_t where T: ?Sized,impl<T> Borrow<T> for svint64x3_t where T: ?Sized,impl<T> Borrow<T> for svint64x4_t where T: ?Sized,impl<T> Borrow<T> for svint8_t where T: ?Sized,impl<T> Borrow<T> for svint8x2_t where T: ?Sized,impl<T> Borrow<T> for svint8x3_t where T: ?Sized,impl<T> Borrow<T> for svint8x4_t where T: ?Sized,impl<T> Borrow<T> for svpattern where T: ?Sized,impl<T> Borrow<T> for svprfop where T: ?Sized,impl<T> Borrow<T> for svuint16_t where T: ?Sized,impl<T> Borrow<T> for svuint16x2_t where T: ?Sized,impl<T> Borrow<T> for svuint16x3_t where T: ?Sized,impl<T> Borrow<T> for svuint16x4_t where T: ?Sized,impl<T> Borrow<T> for svuint32_t where T: ?Sized,impl<T> Borrow<T> for svuint32x2_t where T: ?Sized,impl<T> Borrow<T> for svuint32x3_t where T: ?Sized,impl<T> Borrow<T> for svuint32x4_t where T: ?Sized,impl<T> Borrow<T> for svuint64_t where T: ?Sized,impl<T> Borrow<T> for svuint64x2_t where T: ?Sized,impl<T> Borrow<T> for svuint64x3_t where T: ?Sized,impl<T> Borrow<T> for svuint64x4_t where T: ?Sized,impl<T> Borrow<T> for svuint8_t where T: ?Sized,impl<T> Borrow<T> for svuint8x2_t where T: ?Sized,impl<T> Borrow<T> for svuint8x3_t where T: ?Sized,impl<T> Borrow<T> for svuint8x4_t where T: ?Sized,impl<T> Borrow<T> for u128 where T: ?Sized,impl<T> Borrow<T> for u16 where T: ?Sized,impl<T> Borrow<T> for u32 where T: ?Sized,impl<T> Borrow<T> for u64 where T: ?Sized,impl<T> Borrow<T> for u8 where T: ?Sized,impl<T> Borrow<T> for uint16x4_t where T: ?Sized,impl<T> Borrow<T> for uint16x4x2_t where T: ?Sized,impl<T> Borrow<T> for uint16x4x3_t where T: ?Sized,impl<T> Borrow<T> for uint16x4x4_t where T: ?Sized,impl<T> Borrow<T> for uint16x8_t where T: ?Sized,impl<T> Borrow<T> for uint16x8x2_t where T: ?Sized,impl<T> Borrow<T> for uint16x8x3_t where T: ?Sized,impl<T> Borrow<T> for uint16x8x4_t where T: ?Sized,impl<T> Borrow<T> for uint32x2_t where T: ?Sized,impl<T> Borrow<T> for uint32x2x2_t where T: ?Sized,impl<T> Borrow<T> for uint32x2x3_t where T: ?Sized,impl<T> Borrow<T> for uint32x2x4_t where T: ?Sized,impl<T> Borrow<T> for uint32x4_t where T: ?Sized,impl<T> Borrow<T> for uint32x4x2_t where T: ?Sized,impl<T> Borrow<T> for uint32x4x3_t where T: ?Sized,impl<T> Borrow<T> for uint32x4x4_t where T: ?Sized,impl<T> Borrow<T> for uint64x1_t where T: ?Sized,impl<T> Borrow<T> for uint64x1x2_t where T: ?Sized,impl<T> Borrow<T> for uint64x1x3_t where T: ?Sized,impl<T> Borrow<T> for uint64x1x4_t where T: ?Sized,impl<T> Borrow<T> for uint64x2_t where T: ?Sized,impl<T> Borrow<T> for uint64x2x2_t where T: ?Sized,impl<T> Borrow<T> for uint64x2x3_t where T: ?Sized,impl<T> Borrow<T> for uint64x2x4_t where T: ?Sized,impl<T> Borrow<T> for uint8x16_t where T: ?Sized,impl<T> Borrow<T> for uint8x16x2_t where T: ?Sized,impl<T> Borrow<T> for uint8x16x3_t where T: ?Sized,impl<T> Borrow<T> for uint8x16x4_t where T: ?Sized,impl<T> Borrow<T> for uint8x8_t where T: ?Sized,impl<T> Borrow<T> for uint8x8x2_t where T: ?Sized,impl<T> Borrow<T> for uint8x8x3_t where T: ?Sized,impl<T> Borrow<T> for uint8x8x4_t where T: ?Sized,impl<T> Borrow<T> for usize where T: ?Sized,impl<T> Borrow<T> for v128 where T: ?Sized,impl<T> Borrow<T> for vector_bool_char where T: ?Sized,impl<T> Borrow<T> for vector_bool_char where T: ?Sized,impl<T> Borrow<T> for vector_bool_int where T: ?Sized,impl<T> Borrow<T> for vector_bool_int where T: ?Sized,impl<T> Borrow<T> for vector_bool_long where T: ?Sized,impl<T> Borrow<T> for vector_bool_long_long where T: ?Sized,impl<T> Borrow<T> for vector_bool_short where T: ?Sized,impl<T> Borrow<T> for vector_bool_short where T: ?Sized,impl<T> Borrow<T> for vector_double where T: ?Sized,impl<T> Borrow<T> for vector_double where T: ?Sized,impl<T> Borrow<T> for vector_float where T: ?Sized,impl<T> Borrow<T> for vector_float where T: ?Sized,impl<T> Borrow<T> for vector_signed_char where T: ?Sized,impl<T> Borrow<T> for vector_signed_char where T: ?Sized,impl<T> Borrow<T> for vector_signed_int where T: ?Sized,impl<T> Borrow<T> for vector_signed_int where T: ?Sized,impl<T> Borrow<T> for vector_signed_long where T: ?Sized,impl<T> Borrow<T> for vector_signed_long_long where T: ?Sized,impl<T> Borrow<T> for vector_signed_short where T: ?Sized,impl<T> Borrow<T> for vector_signed_short where T: ?Sized,impl<T> Borrow<T> for vector_unsigned_char where T: ?Sized,impl<T> Borrow<T> for vector_unsigned_char where T: ?Sized,impl<T> Borrow<T> for vector_unsigned_int where T: ?Sized,impl<T> Borrow<T> for vector_unsigned_int where T: ?Sized,impl<T> Borrow<T> for vector_unsigned_long where T: ?Sized,impl<T> Borrow<T> for vector_unsigned_long_long where T: ?Sized,impl<T> Borrow<T> for vector_unsigned_short where T: ?Sized,impl<T> Borrow<T> for vector_unsigned_short where T: ?Sized,impl<T, const N: usize> Borrow<[T]> for [T; N]impl<T: ?Sized> Borrow<T> for &Timpl<T: ?Sized> Borrow<T> for &mut Timpl<T: ?Sized> Borrow<T> for T