Skip to main content

AsRef

Trait AsRef 

1.0.0 (const: unstable) · Source
pub trait AsRef<T>
where T: ?Sized,
{ // Required method fn as_ref(&self) -> &T; }
Expand description

Used to do a cheap reference-to-reference conversion.

This trait is similar to AsMut which is used for converting between mutable references. If you need to do a costly conversion it is better to implement From with type &T or write a custom function.

§Relation to Borrow

AsRef has the same signature as Borrow, but Borrow is different in a few aspects:

  • Unlike AsRef, Borrow has a blanket impl for any T, and can be used to accept either a reference or a value. (See also note on AsRef’s reflexibility below.)
  • Borrow also requires that Hash, Eq and Ord for a borrowed value are equivalent to those of the owned value. For this reason, if you want to borrow only a single field of a struct you can implement AsRef, but not Borrow.

Note: This trait must not fail. If the conversion can fail, use a dedicated method which returns an Option<T> or a Result<T, E>.

§Generic Implementations

AsRef auto-dereferences if the inner type is a reference or a mutable reference (e.g.: foo.as_ref() will work the same if foo has type &mut Foo or &&mut Foo).

Note that due to historic reasons, the above currently does not hold generally for all dereferenceable types, e.g. foo.as_ref() will not work the same as Box::new(foo).as_ref(). Instead, many smart pointers provide an as_ref implementation which simply returns a reference to the pointed-to value (but do not perform a cheap reference-to-reference conversion for that value). However, AsRef::as_ref should not be used for the sole purpose of dereferencing; instead Deref coercion’ can be used:

let x = Box::new(5i32);
// Avoid this:
// let y: &i32 = x.as_ref();
// Better just write:
let y: &i32 = &x;

Types which implement Deref should consider implementing AsRef<T> as follows:

impl<T> AsRef<T> for SomeType
where
    T: ?Sized,
    <SomeType as Deref>::Target: AsRef<T>,
{
    fn as_ref(&self) -> &T {
        self.deref().as_ref()
    }
}

§Reflexivity

Ideally, AsRef would be reflexive, i.e. there would be an impl<T: ?Sized> AsRef<T> for T with as_ref simply returning its argument unchanged. Such a blanket implementation is currently not provided due to technical restrictions of Rust’s type system (it would be overlapping with another existing blanket implementation for &T where T: AsRef<U> which allows AsRef to auto-dereference, see “Generic Implementations” above).

A trivial implementation of AsRef<T> for T must be added explicitly for a particular type T where needed or desired. Note, however, that not all types from std contain such an implementation, and those cannot be added by external code due to orphan rules.

§Examples

By using trait bounds we can accept arguments of different types as long as they can be converted to the specified type T.

For example: By creating a generic function that takes an AsRef<str> we express that we want to accept all references that can be converted to &str as an argument. Since both String and &str implement AsRef<str> we can accept both as input argument.

fn is_hello<T: AsRef<str>>(s: T) {
   assert_eq!("hello", s.as_ref());
}

let s = "hello";
is_hello(s);

let s = "hello".to_string();
is_hello(s);

Required Methods§

1.0.0 · Source

fn as_ref(&self) -> &T

Converts this type into a shared reference of the (usually inferred) input type.

Trait Implementations§

Source§

impl ZReaderTrait for dyn AsRef<&[u8]>

Source§

fn get_byte(&self, index: usize) -> Option<&u8>

Get a single byte which is at position index Read more
Source§

fn get_slice(&self, index: Range<usize>) -> Option<&[u8]>

Get a slice of bytes from a range of start..end Read more
Source§

fn get_len(&self) -> usize

Get total length of the underlying buffer. Read more

Implementors§

Source§

impl AsRef<str> for nix::sys::signal::Signal

Available on crate feature signal only.
Source§

impl AsRef<str> for nix::sys::signal::Signal

Available on crate feature signal only.
1.0.0 (const: unstable) · Source§

impl AsRef<str> for str

Source§

impl AsRef<str> for Str

Source§

impl AsRef<str> for Id

Source§

impl AsRef<str> for HeaderName

Source§

impl AsRef<str> for Method

Source§

impl AsRef<str> for Authority

Source§

impl AsRef<str> for Scheme

Source§

impl AsRef<str> for Mime

Source§

impl AsRef<str> for Url

Return the serialization of this URL.

Source§

impl AsRef<str> for UriTemplateString

Source§

impl AsRef<str> for UriTemplateStr

Source§

impl AsRef<str> for DnsName<'_>

Source§

impl AsRef<str> for Field

Source§

impl AsRef<str> for Utf8Bytes

1.0.0 · Source§

impl AsRef<str> for String

Source§

impl AsRef<Bytes> for Utf8Bytes

Source§

impl AsRef<ByteStr> for str

Source§

impl AsRef<ByteStr> for ByteString

Source§

impl AsRef<ByteStr> for ByteStr

1.7.0 · Source§

impl AsRef<CStr> for CString

1.7.0 (const: unstable) · Source§

impl AsRef<CStr> for CStr

Source§

impl AsRef<LocalWaker> for Waker

Source§

impl AsRef<sigset_t> for nix::sys::signal::SigSet

Available on crate feature signal only.
Source§

impl AsRef<sigset_t> for nix::sys::signal::SigSet

Available on crate feature signal only.
Source§

impl AsRef<timespec> for nix::sys::time::TimeSpec

Source§

impl AsRef<timespec> for nix::sys::time::TimeSpec

Source§

impl AsRef<timeval> for nix::sys::time::TimeVal

Source§

impl AsRef<timeval> for nix::sys::time::TimeVal

Source§

impl AsRef<Index> for Index

1.0.0 · Source§

impl AsRef<OsStr> for Component<'_>

Source§

impl AsRef<OsStr> for Env

1.0.0 · Source§

impl AsRef<OsStr> for str

Source§

impl AsRef<OsStr> for rustmax::clap::builder::OsStr

Source§

impl AsRef<OsStr> for Str

1.0.0 (const: unstable) · Source§

impl AsRef<OsStr> for rustmax::std::ffi::OsStr

1.0.0 · Source§

impl AsRef<OsStr> for OsString

1.0.0 · Source§

impl AsRef<OsStr> for Components<'_>

1.0.0 · Source§

impl AsRef<OsStr> for rustmax::std::path::Iter<'_>

1.0.0 (const: unstable) · Source§

impl AsRef<OsStr> for Path

1.0.0 · Source§

impl AsRef<OsStr> for PathBuf

Source§

impl AsRef<OsStr> for TempPath

1.0.0 · Source§

impl AsRef<OsStr> for String

1.8.0 · Source§

impl AsRef<Path> for Cow<'_, OsStr>

1.25.0 · Source§

impl AsRef<Path> for Component<'_>

1.0.0 · Source§

impl AsRef<Path> for str

Source§

impl AsRef<Path> for rustmax::clap::builder::OsStr

Source§

impl AsRef<Path> for Str

1.0.0 (const: unstable) · Source§

impl AsRef<Path> for rustmax::std::ffi::OsStr

1.0.0 · Source§

impl AsRef<Path> for OsString

1.0.0 · Source§

impl AsRef<Path> for Components<'_>

1.0.0 · Source§

impl AsRef<Path> for rustmax::std::path::Iter<'_>

1.0.0 (const: unstable) · Source§

impl AsRef<Path> for Path

1.0.0 · Source§

impl AsRef<Path> for PathBuf

Source§

impl AsRef<Path> for TempDir

Source§

impl AsRef<Path> for TempPath

Source§

impl AsRef<Path> for DecInt

Available on crate feature std and (non-WASI or non-target_env=p2 or wasip2) only.
1.0.0 · Source§

impl AsRef<Path> for String

Source§

impl AsRef<SystemTime> for Timestamp

Source§

impl AsRef<TcpStream> for rustmax::tokio::net::tcp::OwnedReadHalf

Source§

impl AsRef<TcpStream> for rustmax::tokio::net::tcp::OwnedWriteHalf

Source§

impl AsRef<TcpStream> for rustmax::tokio::net::tcp::ReadHalf<'_>

Source§

impl AsRef<TcpStream> for rustmax::tokio::net::tcp::WriteHalf<'_>

Source§

impl AsRef<UnixStream> for rustmax::tokio::net::unix::OwnedReadHalf

Source§

impl AsRef<UnixStream> for rustmax::tokio::net::unix::OwnedWriteHalf

Source§

impl AsRef<UnixStream> for rustmax::tokio::net::unix::ReadHalf<'_>

Source§

impl AsRef<UnixStream> for rustmax::tokio::net::unix::WriteHalf<'_>

Source§

impl AsRef<Semaphore> for PollSemaphore

Source§

impl AsRef<Duration> for Duration

Source§

impl AsRef<BStr> for str

Source§

impl AsRef<BStr> for bstr::bstr::BStr

Source§

impl AsRef<BStr> for BString

Source§

impl AsRef<BStr> for [u8]

Source§

impl AsRef<Glob> for Glob

Source§

impl AsRef<FormatSizeOptions> for FormatSizeOptions

Source§

impl AsRef<UriTemplateStr> for UriTemplateString

Source§

impl AsRef<UriTemplateStr> for UriTemplateStr

Source§

impl AsRef<RiAbsoluteStr<IriSpec>> for RiAbsoluteStr<UriSpec>

Source§

impl AsRef<RiAbsoluteStr<IriSpec>> for RiAbsoluteString<UriSpec>

Available on crate feature alloc only.
Source§

impl AsRef<RiFragmentStr<IriSpec>> for RiFragmentStr<UriSpec>

Source§

impl AsRef<RiFragmentStr<IriSpec>> for RiFragmentString<UriSpec>

Available on crate feature alloc only.
Source§

impl AsRef<RiStr<IriSpec>> for RiStr<UriSpec>

Source§

impl AsRef<RiStr<IriSpec>> for RiString<UriSpec>

Available on crate feature alloc only.
Source§

impl AsRef<RiQueryStr<IriSpec>> for RiQueryStr<UriSpec>

Source§

impl AsRef<RiQueryStr<IriSpec>> for RiQueryString<UriSpec>

Available on crate feature alloc only.
Source§

impl AsRef<RiReferenceStr<IriSpec>> for RiReferenceStr<UriSpec>

Source§

impl AsRef<RiReferenceStr<IriSpec>> for RiReferenceString<UriSpec>

Available on crate feature alloc only.
Source§

impl AsRef<RiRelativeStr<IriSpec>> for RiRelativeStr<UriSpec>

Source§

impl AsRef<RiRelativeStr<IriSpec>> for RiRelativeString<UriSpec>

Available on crate feature alloc only.
Source§

impl AsRef<BStr> for str

Source§

impl AsRef<BStr> for [u8]

Source§

impl AsRef<Bytes> for str

Source§

impl AsRef<Bytes> for [u8]

Source§

impl AsRef<[u8; 4]> for Ipv4Addr

Source§

impl AsRef<[u8; 12]> for Nonce

Source§

impl AsRef<[u8; 16]> for Ipv6Addr

1.0.0 (const: unstable) · Source§

impl AsRef<[u8]> for str

Source§

impl AsRef<[u8]> for ByteString

Source§

impl AsRef<[u8]> for rustmax::bytes::Bytes

Source§

impl AsRef<[u8]> for BytesMut

Source§

impl AsRef<[u8]> for Str

Source§

impl AsRef<[u8]> for ByteStr

Source§

impl AsRef<[u8]> for HeaderName

Source§

impl AsRef<[u8]> for HeaderValue

Source§

impl AsRef<[u8]> for rustmax::hyper::ext::Protocol

Available on crate feature http2 only.
Source§

impl AsRef<[u8]> for ReasonPhrase

Source§

impl AsRef<[u8]> for aws_lc_rs::aead::Tag

Source§

impl AsRef<[u8]> for aws_lc_rs::agreement::ParsedPublicKey

Source§

impl AsRef<[u8]> for aws_lc_rs::agreement::PublicKey

Source§

impl AsRef<[u8]> for aws_lc_rs::cmac::Tag

Source§

impl AsRef<[u8]> for Digest

Source§

impl AsRef<[u8]> for aws_lc_rs::ec::signature::PublicKey

Source§

impl AsRef<[u8]> for aws_lc_rs::ed25519::PublicKey

Source§

impl AsRef<[u8]> for aws_lc_rs::hmac::Tag

Source§

impl AsRef<[u8]> for Ciphertext<'_>

Source§

impl AsRef<[u8]> for SharedSecret

Source§

impl AsRef<[u8]> for Document

Source§

impl AsRef<[u8]> for aws_lc_rs::rsa::key::PublicKey

Source§

impl AsRef<[u8]> for aws_lc_rs::signature::ParsedPublicKey

Provides the original bytes from which this key was parsed

Source§

impl AsRef<[u8]> for Signature

Source§

impl AsRef<[u8]> for Secret

Source§

impl AsRef<[u8]> for bstr::bstr::BStr

Source§

impl AsRef<[u8]> for BString

Source§

impl AsRef<[u8]> for h2::ext::Protocol

Source§

impl AsRef<[u8]> for Literal

Source§

impl AsRef<[u8]> for AlgorithmIdentifier

Source§

impl AsRef<[u8]> for CertificateDer<'_>

Source§

impl AsRef<[u8]> for CertificateRevocationListDer<'_>

Source§

impl AsRef<[u8]> for CertificateSigningRequestDer<'_>

Source§

impl AsRef<[u8]> for Der<'_>

Source§

impl AsRef<[u8]> for EchConfigListBytes<'_>

Source§

impl AsRef<[u8]> for SubjectPublicKeyInfoDer<'_>

Source§

impl AsRef<[u8]> for AeadKey

Source§

impl AsRef<[u8]> for Iv

Source§

impl AsRef<[u8]> for Output

Source§

impl AsRef<[u8]> for rustls::crypto::hmac::Tag

Source§

impl AsRef<[u8]> for OkmBlock

Source§

impl AsRef<[u8]> for DistinguishedName

Source§

impl AsRef<[u8]> for PrefixedPayload

Source§

impl AsRef<[u8]> for rustls::quic::Tag

Source§

impl AsRef<[u8]> for Utf8Bytes

Source§

impl AsRef<[u8]> for winnow::stream::bstr::BStr

Source§

impl AsRef<[u8]> for winnow::stream::bytes::Bytes

1.0.0 · Source§

impl AsRef<[u8]> for String

Source§

impl AsRef<dyn Error + Sync + Send> for Error

Available on crate feature std or non-anyhow_no_core_error only.
Source§

impl AsRef<dyn Error> for Error

Available on crate feature std or non-anyhow_no_core_error only.
1.55.0 · Source§

impl<'a> AsRef<str> for rustmax::alloc::string::Drain<'a>

Source§

impl<'a> AsRef<str> for Name<'a>

1.55.0 · Source§

impl<'a> AsRef<[u8]> for rustmax::alloc::string::Drain<'a>

Source§

impl<'a, T> AsRef<ZeroSlice<T>> for ZeroVec<'a, T>
where T: AsULE,

Source§

impl<'a, T> AsRef<[<T as AsULE>::ULE]> for ZeroVec<'a, T>
where T: AsULE,

1.46.0 · Source§

impl<'a, T, A> AsRef<[T]> for rustmax::prelude::vec::Drain<'a, T, A>
where A: Allocator,

Source§

impl<'i> AsRef<[Spanned<DeValue<'i>>]> for DeArray<'i>

Source§

impl<A> AsRef<[<A as Array>::Item]> for SmallVec<A>
where A: Array,

Source§

impl<A> AsRef<[u8]> for Aad<A>
where A: AsRef<[u8]>,

Source§

impl<B> AsRef<[u8]> for UnparsedPublicKey<B>
where B: AsRef<[u8]>,

Source§

impl<F> AsRef<Path> for NamedTempFile<F>

Source§

impl<I> AsRef<I> for LocatingSlice<I>

Source§

impl<I, S> AsRef<I> for Stateful<I, S>

Source§

impl<L, R, Target> AsRef<Target> for Either<L, R>
where L: AsRef<Target>, R: AsRef<Target>,

Source§

impl<O> AsRef<[u8; 2]> for I16<O>

Source§

impl<O> AsRef<[u8; 2]> for U16<O>

Source§

impl<O> AsRef<[u8; 4]> for F32<O>

Source§

impl<O> AsRef<[u8; 4]> for I32<O>

Source§

impl<O> AsRef<[u8; 4]> for U32<O>

Source§

impl<O> AsRef<[u8; 8]> for F64<O>

Source§

impl<O> AsRef<[u8; 8]> for I64<O>

Source§

impl<O> AsRef<[u8; 8]> for Isize<O>

Source§

impl<O> AsRef<[u8; 8]> for U64<O>

Source§

impl<O> AsRef<[u8; 8]> for Usize<O>

Source§

impl<O> AsRef<[u8; 16]> for I128<O>

Source§

impl<O> AsRef<[u8; 16]> for U128<O>

Source§

impl<S> AsRef<str> for RiAbsoluteStr<S>
where S: Spec,

Source§

impl<S> AsRef<str> for RiAbsoluteString<S>
where S: Spec,

Source§

impl<S> AsRef<str> for RiFragmentStr<S>
where S: Spec,

Source§

impl<S> AsRef<str> for RiFragmentString<S>
where S: Spec,

Source§

impl<S> AsRef<str> for RiStr<S>
where S: Spec,

Source§

impl<S> AsRef<str> for RiString<S>
where S: Spec,

Source§

impl<S> AsRef<str> for RiQueryStr<S>
where S: Spec,

Source§

impl<S> AsRef<str> for RiQueryString<S>
where S: Spec,

Source§

impl<S> AsRef<str> for RiReferenceStr<S>
where S: Spec,

Source§

impl<S> AsRef<str> for RiReferenceString<S>
where S: Spec,

Source§

impl<S> AsRef<str> for RiRelativeStr<S>
where S: Spec,

Source§

impl<S> AsRef<str> for RiRelativeString<S>
where S: Spec,

Source§

impl<S> AsRef<RiAbsoluteStr<S>> for RiAbsoluteStr<S>
where S: Spec,

Source§

impl<S> AsRef<RiAbsoluteStr<S>> for RiAbsoluteString<S>
where S: Spec,

Source§

impl<S> AsRef<RiFragmentStr<S>> for RiFragmentStr<S>
where S: Spec,

Source§

impl<S> AsRef<RiFragmentStr<S>> for RiFragmentString<S>
where S: Spec,

Source§

impl<S> AsRef<RiStr<S>> for RiAbsoluteStr<S>
where S: Spec,

Source§

impl<S> AsRef<RiStr<S>> for RiAbsoluteString<S>
where S: Spec,

Available on crate feature alloc only.
Source§

impl<S> AsRef<RiStr<S>> for RiStr<S>
where S: Spec,

Source§

impl<S> AsRef<RiStr<S>> for RiString<S>
where S: Spec,

Source§

impl<S> AsRef<RiQueryStr<S>> for RiQueryStr<S>
where S: Spec,

Source§

impl<S> AsRef<RiQueryStr<S>> for RiQueryString<S>
where S: Spec,

Source§

impl<S> AsRef<RiReferenceStr<S>> for RiAbsoluteStr<S>
where S: Spec,

Source§

impl<S> AsRef<RiReferenceStr<S>> for RiAbsoluteString<S>
where S: Spec,

Available on crate feature alloc only.
Source§

impl<S> AsRef<RiReferenceStr<S>> for RiStr<S>
where S: Spec,

Source§

impl<S> AsRef<RiReferenceStr<S>> for RiString<S>
where S: Spec,

Available on crate feature alloc only.
Source§

impl<S> AsRef<RiReferenceStr<S>> for RiReferenceStr<S>
where S: Spec,

Source§

impl<S> AsRef<RiReferenceStr<S>> for RiReferenceString<S>
where S: Spec,

Source§

impl<S> AsRef<RiReferenceStr<S>> for RiRelativeStr<S>
where S: Spec,

Source§

impl<S> AsRef<RiReferenceStr<S>> for RiRelativeString<S>
where S: Spec,

Available on crate feature alloc only.
Source§

impl<S> AsRef<RiRelativeStr<S>> for RiRelativeStr<S>
where S: Spec,

Source§

impl<S> AsRef<RiRelativeStr<S>> for RiRelativeString<S>
where S: Spec,

Source§

impl<Store> AsRef<ZeroAsciiIgnoreCaseTrie<[u8]>> for ZeroAsciiIgnoreCaseTrie<Store>
where Store: AsRef<[u8]> + ?Sized,

Source§

impl<Store> AsRef<ZeroTrieExtendedCapacity<[u8]>> for ZeroTrieExtendedCapacity<Store>
where Store: AsRef<[u8]> + ?Sized,

Source§

impl<Store> AsRef<ZeroTriePerfectHash<[u8]>> for ZeroTriePerfectHash<Store>
where Store: AsRef<[u8]> + ?Sized,

Source§

impl<Store> AsRef<ZeroTrieSimpleAscii<[u8]>> for ZeroTrieSimpleAscii<Store>
where Store: AsRef<[u8]> + ?Sized,

Source§

impl<T> AsRef<[T; 1]> for GenericArray<T, UInt<UTerm, B1>>

Source§

impl<T> AsRef<[T; 2]> for GenericArray<T, UInt<UInt<UTerm, B1>, B0>>

Source§

impl<T> AsRef<[T; 3]> for GenericArray<T, UInt<UInt<UTerm, B1>, B1>>

Source§

impl<T> AsRef<[T; 4]> for GenericArray<T, UInt<UInt<UInt<UTerm, B1>, B0>, B0>>

Source§

impl<T> AsRef<[T; 4]> for Abgr<T>

Source§

impl<T> AsRef<[T; 4]> for Argb<T>

Source§

impl<T> AsRef<[T; 4]> for Bgra<T>

Source§

impl<T> AsRef<[T; 5]> for GenericArray<T, UInt<UInt<UInt<UTerm, B1>, B0>, B1>>

Source§

impl<T> AsRef<[T; 6]> for GenericArray<T, UInt<UInt<UInt<UTerm, B1>, B1>, B0>>

Source§

impl<T> AsRef<[T; 7]> for GenericArray<T, UInt<UInt<UInt<UTerm, B1>, B1>, B1>>

Source§

impl<T> AsRef<[T; 8]> for GenericArray<T, UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 9]> for GenericArray<T, UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B1>>

Source§

impl<T> AsRef<[T; 10]> for GenericArray<T, UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>>

Source§

impl<T> AsRef<[T; 11]> for GenericArray<T, UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B1>>

Source§

impl<T> AsRef<[T; 12]> for GenericArray<T, UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>>

Source§

impl<T> AsRef<[T; 13]> for GenericArray<T, UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B1>>

Source§

impl<T> AsRef<[T; 14]> for GenericArray<T, UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>>

Source§

impl<T> AsRef<[T; 15]> for GenericArray<T, UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B1>>

Source§

impl<T> AsRef<[T; 16]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 17]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>>

Source§

impl<T> AsRef<[T; 18]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B1>, B0>>

Source§

impl<T> AsRef<[T; 19]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B1>, B1>>

Source§

impl<T> AsRef<[T; 20]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>>

Source§

impl<T> AsRef<[T; 21]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B1>>

Source§

impl<T> AsRef<[T; 22]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B1>, B0>>

Source§

impl<T> AsRef<[T; 23]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B1>, B1>>

Source§

impl<T> AsRef<[T; 24]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 25]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B1>>

Source§

impl<T> AsRef<[T; 26]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B1>, B0>>

Source§

impl<T> AsRef<[T; 27]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B1>, B1>>

Source§

impl<T> AsRef<[T; 28]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B0>>

Source§

impl<T> AsRef<[T; 29]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B1>>

Source§

impl<T> AsRef<[T; 30]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B1>, B0>>

Source§

impl<T> AsRef<[T; 31]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B1>, B1>>

Source§

impl<T> AsRef<[T; 32]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 33]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B1>>

Source§

impl<T> AsRef<[T; 34]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B0>>

Source§

impl<T> AsRef<[T; 35]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B1>>

Source§

impl<T> AsRef<[T; 36]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B1>, B0>, B0>>

Source§

impl<T> AsRef<[T; 37]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B1>, B0>, B1>>

Source§

impl<T> AsRef<[T; 38]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B1>, B1>, B0>>

Source§

impl<T> AsRef<[T; 39]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B1>, B1>, B1>>

Source§

impl<T> AsRef<[T; 40]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 41]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, B1>>

Source§

impl<T> AsRef<[T; 42]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B1>, B0>>

Source§

impl<T> AsRef<[T; 43]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B1>, B1>>

Source§

impl<T> AsRef<[T; 44]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B1>, B0>, B0>>

Source§

impl<T> AsRef<[T; 45]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B1>, B0>, B1>>

Source§

impl<T> AsRef<[T; 46]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B1>, B1>, B0>>

Source§

impl<T> AsRef<[T; 47]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B1>, B1>, B1>>

Source§

impl<T> AsRef<[T; 48]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 49]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>, B1>>

Source§

impl<T> AsRef<[T; 50]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B1>, B0>>

Source§

impl<T> AsRef<[T; 51]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B1>, B1>>

Source§

impl<T> AsRef<[T; 52]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B1>, B0>, B0>>

Source§

impl<T> AsRef<[T; 53]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B1>, B0>, B1>>

Source§

impl<T> AsRef<[T; 54]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B1>, B1>, B0>>

Source§

impl<T> AsRef<[T; 55]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B1>, B1>, B1>>

Source§

impl<T> AsRef<[T; 56]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 57]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B0>, B1>>

Source§

impl<T> AsRef<[T; 58]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B1>, B0>>

Source§

impl<T> AsRef<[T; 59]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B1>, B1>>

Source§

impl<T> AsRef<[T; 60]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B1>, B0>, B0>>

Source§

impl<T> AsRef<[T; 61]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B1>, B0>, B1>>

Source§

impl<T> AsRef<[T; 62]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B1>, B1>, B0>>

Source§

impl<T> AsRef<[T; 63]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B1>, B1>, B1>>

Source§

impl<T> AsRef<[T; 64]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 70]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B1>, B0>>

Source§

impl<T> AsRef<[T; 80]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 90]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B1>, B0>, B1>, B0>>

Source§

impl<T> AsRef<[T; 100]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B1>, B0>, B0>>

Source§

impl<T> AsRef<[T; 128]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 200]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B1>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 256]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 300]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B1>, B0>, B1>, B1>, B0>, B0>>

Source§

impl<T> AsRef<[T; 400]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B1>, B0>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 500]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B1>, B1>, B0>, B1>, B0>, B0>>

Source§

impl<T> AsRef<[T; 512]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 1000]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B1>, B1>, B0>, B1>, B0>, B0>, B0>>

Source§

impl<T> AsRef<[T; 1024]> for GenericArray<T, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>

1.0.0 (const: unstable) · Source§

impl<T> AsRef<[T]> for [T]

1.13.0 · Source§

impl<T> AsRef<[T]> for rustmax::core::slice::Iter<'_, T>

1.53.0 · Source§

impl<T> AsRef<[T]> for IterMut<'_, T>

Source§

impl<T> AsRef<[T]> for Triple<T>

Source§

impl<T> AsRef<[T]> for Rgb<T>

Available on non-crate feature unstable-experimental only.
Source§

impl<T> AsRef<[T]> for Rgba<T>

Available on non-crate feature unstable-experimental only.
Source§

impl<T> AsRef<str> for Port<T>
where T: AsRef<str>,

Source§

impl<T> AsRef<ZeroSlice<T>> for &[<T as AsULE>::ULE]
where T: AsULE,

Source§

impl<T> AsRef<ZeroSlice<T>> for Vec<<T as AsULE>::ULE>
where T: AsULE,

Available on crate feature alloc only.
1.0.0 · Source§

impl<T> AsRef<T> for Cow<'_, T>
where T: ToOwned + ?Sized,

Source§

impl<T> AsRef<T> for Exclusive<T>
where T: Sync + ?Sized,

Source§

impl<T> AsRef<T> for Owned<T>
where T: Pointable + ?Sized,

Source§

impl<T> AsRef<T> for Spanned<T>

Source§

impl<T> AsRef<T> for Gray_v08<T>

Available on non-crate feature unstable-experimental only.
Source§

impl<T> AsRef<T> for GrayAlpha_v08<T>

Available on non-crate feature unstable-experimental only.
Source§

impl<T> AsRef<[u8]> for Window<T>
where T: AsRef<[u8]>,

1.95.0 · Source§

impl<T> AsRef<[Cell<T>]> for Cell<[T]>

Source§

impl<T, A> AsRef<[T]> for AVec<T, A>
where A: Alignment,

1.0.0 · Source§

impl<T, A> AsRef<[T]> for Vec<T, A>
where A: Allocator,

1.46.0 · Source§

impl<T, A> AsRef<[T]> for IntoIter<T, A>
where A: Allocator,

1.0.0 · Source§

impl<T, A> AsRef<Vec<T, A>> for Vec<T, A>
where A: Allocator,

1.5.0 · Source§

impl<T, A> AsRef<T> for Rc<T, A>
where A: Allocator, T: ?Sized,

Source§

impl<T, A> AsRef<T> for UniqueRc<T, A>
where A: Allocator, T: ?Sized,

1.5.0 · Source§

impl<T, A> AsRef<T> for Arc<T, A>
where A: Allocator, T: ?Sized,

Source§

impl<T, A> AsRef<T> for UniqueArc<T, A>
where A: Allocator, T: ?Sized,

Source§

impl<T, A> AsRef<T> for ABox<T, A>
where A: Alignment, T: ?Sized,

1.5.0 · Source§

impl<T, A> AsRef<T> for Box<T, A>
where A: Allocator, T: ?Sized,

Source§

impl<T, F> AsRef<VarZeroSlice<T, F>> for VarZeroSlice<T, F>
where F: VarZeroVecFormat, T: ?Sized,

Source§

impl<T, N> AsRef<[T]> for GenericArray<T, N>
where N: ArrayLength<T>,

1.0.0 (const: unstable) · Source§

impl<T, U> AsRef<U> for &T
where T: AsRef<U> + ?Sized, U: ?Sized,

1.0.0 (const: unstable) · Source§

impl<T, U> AsRef<U> for &mut T
where T: AsRef<U> + ?Sized, U: ?Sized,

Source§

impl<T, Z> AsRef<T> for Zeroizing<Z>
where Z: AsRef<T> + Zeroize, T: ?Sized,

Source§

impl<T, const CAP: usize> AsRef<[T]> for ArrayVec<T, CAP>

Source§

impl<T, const N: usize> AsRef<[T; N]> for Simd<T, N>
where T: SimdElement,

1.0.0 (const: unstable) · Source§

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

Source§

impl<T, const N: usize> AsRef<[T]> for Simd<T, N>
where T: SimdElement,

1.95.0 · Source§

impl<T, const N: usize> AsRef<[Cell<T>; N]> for Cell<[T; N]>

1.95.0 · Source§

impl<T, const N: usize> AsRef<[Cell<T>]> for Cell<[T; N]>

1.95.0 · Source§

impl<T, const N: usize> AsRef<[MaybeUninit<T>; N]> for MaybeUninit<[T; N]>

1.95.0 · Source§

impl<T, const N: usize> AsRef<[MaybeUninit<T>]> for MaybeUninit<[T; N]>

Source§

impl<const CAP: usize> AsRef<str> for ArrayString<CAP>

Source§

impl<const L: usize> AsRef<[u8; L]> for FixedLength<L>

Source§

impl<const MIN: i8, const MAX: i8> AsRef<i8> for RangedI8<MIN, MAX>

Source§

impl<const MIN: i16, const MAX: i16> AsRef<i16> for RangedI16<MIN, MAX>

Source§

impl<const MIN: i32, const MAX: i32> AsRef<i32> for RangedI32<MIN, MAX>

Source§

impl<const MIN: i64, const MAX: i64> AsRef<i64> for RangedI64<MIN, MAX>

Source§

impl<const MIN: i128, const MAX: i128> AsRef<i128> for RangedI128<MIN, MAX>

Source§

impl<const MIN: isize, const MAX: isize> AsRef<isize> for RangedIsize<MIN, MAX>

Source§

impl<const MIN: u8, const MAX: u8> AsRef<u8> for RangedU8<MIN, MAX>

Source§

impl<const MIN: u16, const MAX: u16> AsRef<u16> for RangedU16<MIN, MAX>

Source§

impl<const MIN: u32, const MAX: u32> AsRef<u32> for RangedU32<MIN, MAX>

Source§

impl<const MIN: u64, const MAX: u64> AsRef<u64> for RangedU64<MIN, MAX>

Source§

impl<const MIN: u128, const MAX: u128> AsRef<u128> for RangedU128<MIN, MAX>

Source§

impl<const MIN: usize, const MAX: usize> AsRef<usize> for RangedUsize<MIN, MAX>

Source§

impl<const SIZE: usize> AsRef<str> for WriteBuffer<SIZE>

Source§

impl<const SIZE: usize> AsRef<[u8]> for WriteBuffer<SIZE>