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.

Implementors§

1.0.0 (const: unstable) · Source§

impl AsRef<str> for str

§

impl AsRef<str> for AcceptedWebSocketProtocol

§

impl AsRef<str> for LastEventId

Source§

impl AsRef<str> for Mime

§

impl AsRef<str> for RequestComment

§

impl AsRef<str> for HeaderName

§

impl AsRef<str> for Method

§

impl AsRef<str> for Scheme

§

impl AsRef<str> for Authority

§

impl AsRef<str> for Utf8Bytes

§

impl AsRef<str> for Domain

§

impl AsRef<str> for ProxyID

§

impl AsRef<str> for StringFilter

§

impl AsRef<str> for Key

§

impl AsRef<str> for StringValue

§

impl AsRef<str> for Field

§

impl AsRef<str> for OpensslString

§

impl AsRef<str> for OpensslStringRef

§

impl AsRef<str> for NonEmptyString

§

impl AsRef<str> for DnsName<'_>

§

impl AsRef<str> for rama::crypto::dep::rcgen::string::Ia5String

§

impl AsRef<str> for rama::crypto::dep::rcgen::string::PrintableString

§

impl AsRef<str> for rama::crypto::dep::rcgen::string::TeletexString

§

impl AsRef<str> for BmpString<'_>

§

impl AsRef<str> for UniversalString<'_>

1.0.0 · Source§

impl AsRef<str> for String

Source§

impl AsRef<str> for Url

Return the serialization of this URL.

§

impl AsRef<str> for NormalizedPath<'_>

§

impl AsRef<str> for NormalizedPathBuf

§

impl AsRef<str> for SmolStr

§

impl AsRef<str> for UriTemplateStr

§

impl AsRef<str> for UriTemplateString

§

impl AsRef<str> for ZipFilePath<NormalizedPath<'_>>

§

impl AsRef<str> for ZipFilePath<NormalizedPathBuf>

§

impl AsRef<Bytes> for Utf8Bytes

§

impl AsRef<Extensions> for RequestContextExt

§

impl AsRef<InMemoryDns> for DnsOverwrite

§

impl AsRef<HeaderMap> for HttpProxyConnectResponseHeaders

§

impl AsRef<SocketInfo> for ClientSocketInfo

§

impl AsRef<TcpStream> for OwnedReadHalf

§

impl AsRef<TcpStream> for OwnedWriteHalf

§

impl AsRef<TcpStream> for ReadHalf<'_>

§

impl AsRef<TcpStream> for WriteHalf<'_>

§

impl AsRef<Asn1BitStringRef> for Asn1BitString

§

impl AsRef<Asn1GeneralizedTimeRef> for Asn1GeneralizedTime

§

impl AsRef<Asn1IntegerRef> for Asn1Integer

§

impl AsRef<Asn1ObjectRef> for Asn1Object

§

impl AsRef<Asn1StringRef> for Asn1String

§

impl AsRef<Asn1TimeRef> for Asn1Time

§

impl AsRef<BigNumContextRef> for BigNumContext

§

impl AsRef<BigNumRef> for BigNum

§

impl AsRef<ConfRef> for Conf

§

impl AsRef<EcGroupRef> for EcGroup

§

impl AsRef<EcPointRef> for EcPoint

§

impl AsRef<EcdsaSigRef> for EcdsaSig

§

impl AsRef<HpkeKeyRef> for HpkeKey

§

impl AsRef<Pkcs12Ref> for Pkcs12

§

impl AsRef<SrtpProtectionProfileRef> for SrtpProtectionProfile

§

impl AsRef<SslContextRef> for SslContext

§

impl AsRef<SslEchKeysRef> for SslEchKeys

§

impl AsRef<SslRef> for Ssl

§

impl AsRef<SslSessionRef> for SslSession

§

impl AsRef<OpensslStringRef> for OpensslString

§

impl AsRef<X509StoreBuilderRef> for X509StoreBuilder

§

impl AsRef<X509StoreRef> for X509Store

§

impl AsRef<GeneralNameRef> for GeneralName

§

impl AsRef<X509AlgorithmRef> for X509Algorithm

§

impl AsRef<X509ExtensionRef> for X509Extension

§

impl AsRef<X509NameEntryRef> for X509NameEntry

§

impl AsRef<X509NameRef> for X509Name

§

impl AsRef<X509ObjectRef> for X509Object

§

impl AsRef<X509Ref> for X509

§

impl AsRef<X509Ref> for X509Ref

§

impl AsRef<X509ReqRef> for X509Req

§

impl AsRef<X509StoreContextRef> for X509StoreContext

§

impl AsRef<X509VerifyParamRef> for X509VerifyParam

§

impl AsRef<UnixSocketInfo> for ClientUnixSocketInfo

§

impl AsRef<UnixStream> for OwnedReadHalf

§

impl AsRef<UnixStream> for OwnedWriteHalf

§

impl AsRef<UnixStream> for ReadHalf<'_>

§

impl AsRef<UnixStream> for WriteHalf<'_>

§

impl AsRef<CertificateParams> for CertificateParams

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 · Source§

impl AsRef<CStr> for CStr

Source§

impl AsRef<LocalWaker> for Waker

1.0.0 · Source§

impl AsRef<OsStr> for Component<'_>

1.0.0 · Source§

impl AsRef<OsStr> for str

1.0.0 · Source§

impl AsRef<OsStr> for String

1.0.0 · Source§

impl AsRef<OsStr> for 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 std::path::Iter<'_>

1.0.0 · Source§

impl AsRef<OsStr> for Path

1.0.0 · Source§

impl AsRef<OsStr> for PathBuf

§

impl AsRef<OsStr> for SmolStr

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

§

impl AsRef<Path> for HarFilePath

1.0.0 · Source§

impl AsRef<Path> for String

1.0.0 · Source§

impl AsRef<Path> for 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 std::path::Iter<'_>

1.0.0 · Source§

impl AsRef<Path> for Path

1.0.0 · Source§

impl AsRef<Path> for PathBuf

§

impl AsRef<Path> for SmolStr

Source§

impl AsRef<Uuid> for Braced

Source§

impl AsRef<Uuid> for Hyphenated

Source§

impl AsRef<Uuid> for Simple

Source§

impl AsRef<Uuid> for Urn

Source§

impl AsRef<Uuid> for Uuid

§

impl AsRef<Interval> for IntervalStream

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl AsRef<Semaphore> for PollSemaphore

§

impl AsRef<UriTemplateStr> for UriTemplateStr

§

impl AsRef<UriTemplateStr> for UriTemplateString

§

impl AsRef<[(EdnsCode, EdnsOption)]> for OPT

§

impl AsRef<[u8; 4]> for Ipv4Addr

§

impl AsRef<[u8; 12]> for Nonce

§

impl AsRef<[u8; 16]> for Ipv6Addr

1.0.0 · Source§

impl AsRef<[u8]> for str

§

impl AsRef<[u8]> for Bytes

§

impl AsRef<[u8]> for BytesMut

§

impl AsRef<[u8]> for ReasonPhrase

§

impl AsRef<[u8]> for Upgrade

§

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

§

impl AsRef<[u8]> for HeaderName

§

impl AsRef<[u8]> for HeaderValue

§

impl AsRef<[u8]> for Utf8Bytes

§

impl AsRef<[u8]> for DigestBytes

§

impl AsRef<[u8]> for OpensslString

§

impl AsRef<[u8]> for OpensslStringRef

§

impl AsRef<[u8]> for AeadKey

§

impl AsRef<[u8]> for Iv

§

impl AsRef<[u8]> for PrefixedPayload

§

impl AsRef<[u8]> for Output

§

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

§

impl AsRef<[u8]> for OkmBlock

§

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

§

impl AsRef<[u8]> for DistinguishedName

§

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

§

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

§

impl AsRef<[u8]> for Digest

§

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

§

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

§

impl AsRef<[u8]> for SharedSecret

§

impl AsRef<[u8]> for Document

§

impl AsRef<[u8]> for rama::crypto::dep::aws_lc_rs::signature::EcdsaPublicKey

§

impl AsRef<[u8]> for rama::crypto::dep::aws_lc_rs::signature::Ed25519PublicKey

§

impl AsRef<[u8]> for rama::crypto::dep::aws_lc_rs::signature::RsaSubjectPublicKey

§

impl AsRef<[u8]> for Signature

§

impl AsRef<[u8]> for Secret

§

impl AsRef<[u8]> for AlgorithmIdentifier

§

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

§

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

§

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

§

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

§

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

§

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

§

impl AsRef<[u8]> for SerialNumber

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

1.0.0 · Source§

impl AsRef<[u8]> for String

Source§

impl AsRef<[u8]> for ByteString

Source§

impl AsRef<[u8]> for ByteStr

Source§

impl AsRef<[u8]> for Uuid

§

impl AsRef<[u8]> for Label

§

impl AsRef<[u8]> for Literal

§

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

§

impl AsRef<[u8]> for NormalizedPathBuf

§

impl AsRef<[u8]> for Protocol

§

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

§

impl AsRef<[u8]> for SmolStr

§

impl AsRef<[u8]> for ZipFilePath<RawPath<'_>>

§

impl AsRef<[u64]> for ObjectIdentifier

Source§

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

§

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

§

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

§

impl<'a> AsRef<str> for rama::crypto::dep::x509_parser::prelude::asn1_rs::Ia5String<'a>

§

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

§

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

§

impl<'a> AsRef<str> for rama::crypto::dep::x509_parser::prelude::asn1_rs::PrintableString<'a>

§

impl<'a> AsRef<str> for rama::crypto::dep::x509_parser::prelude::asn1_rs::TeletexString<'a>

§

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

§

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

§

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

1.55.0 · Source§

impl<'a> AsRef<str> for rama::crypto::dep::x509_parser::prelude::asn1_rs::nom::lib::std::string::Drain<'a>

§

impl<'a> AsRef<[u8]> for X509Certificate<'a>

§

impl<'a> AsRef<[u8]> for X509CertificationRequest<'a>

§

impl<'a> AsRef<[u8]> for CertificateRevocationList<'a>

1.55.0 · Source§

impl<'a> AsRef<[u8]> for rama::crypto::dep::x509_parser::prelude::asn1_rs::nom::lib::std::string::Drain<'a>

§

impl<'a, S> AsRef<Certificate> for CertifiedIssuer<'a, S>

§

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

§

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 rama::crypto::dep::x509_parser::prelude::asn1_rs::nom::lib::std::vec::Drain<'a, T, A>
where A: Allocator,

§

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

§

impl<'s, T> AsRef<[T]> for SliceVec<'s, T>

§

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

§

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

§

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

§

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

§

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

§

impl<C> AsRef<C> for Authorization<C>

§

impl<C, ID> AsRef<C> for LeasedConnection<C, ID>

Source§

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

Source§

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

Requires crate feature std.

Source§

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

Requires crate feature std.

Source§

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

Requires crate feature std.

Source§

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

Source§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<S> AsRef<str> for Ascii<S>
where S: AsRef<str>,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<S> AsRef<str> for UniCase<S>
where S: AsRef<str>,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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>>

§

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>>

§

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>>

§

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>>

§

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>>

§

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>>

§

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>>

§

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>>

§

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]

§

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

§

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

1.13.0 · Source§

impl<T> AsRef<[T]> for rama::crypto::dep::x509_parser::prelude::asn1_rs::nom::lib::std::slice::Iter<'_, T>

1.53.0 · Source§

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

§

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

§

impl<T> AsRef<DhRef<T>> for Dh<T>

§

impl<T> AsRef<DsaRef<T>> for Dsa<T>

§

impl<T> AsRef<EcKeyRef<T>> for EcKey<T>

§

impl<T> AsRef<PKeyRef<T>> for PKey<T>

§

impl<T> AsRef<RsaRef<T>> for Rsa<T>

§

impl<T> AsRef<StackRef<T>> for Stack<T>
where T: Stackable,

§

impl<T> AsRef<Receiver<T>> for ReceiverStream<T>

1.0.0 · Source§

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

§

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

§

impl<T> AsRef<T> for SyncIoBridge<T>

§

impl<T> AsRef<UnboundedReceiver<T>> for UnboundedReceiverStream<T>

§

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

§

impl<T> AsRef<ZeroSlice<T>> for rama::crypto::dep::x509_parser::prelude::asn1_rs::nom::lib::std::vec::Vec<<T as AsULE>::ULE>
where T: AsULE,

§

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

1.46.0 · Source§

impl<T, A> AsRef<[T]> for rama::crypto::dep::x509_parser::prelude::asn1_rs::nom::lib::std::vec::IntoIter<T, A>
where A: Allocator,

1.0.0 · Source§

impl<T, A> AsRef<[T]> for rama::crypto::dep::x509_parser::prelude::asn1_rs::nom::lib::std::vec::Vec<T, A>
where A: Allocator,

§

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

§

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

1.0.0 · Source§

impl<T, A> AsRef<Vec<T, A>> for rama::crypto::dep::x509_parser::prelude::asn1_rs::nom::lib::std::vec::Vec<T, A>
where A: Allocator,

1.5.0 · Source§

impl<T, A> AsRef<T> for rama::crypto::dep::x509_parser::prelude::asn1_rs::nom::lib::std::boxed::Box<T, A>
where A: Allocator, T: ?Sized,

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,

§

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

§

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

§

impl<T, E, TagKind, const CLASS: u8, const TAG: u32> AsRef<T> for TaggedValue<T, E, TagKind, CLASS, TAG>

§

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

§

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,

§

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

Source§

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

1.0.0 · Source§

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

Source§

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

§

impl<TagKind, T, E> AsRef<T> for TaggedParser<'_, TagKind, T, E>

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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