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.

Implementors§

Source§

impl AsRef<str> for DecimalTypeVariant

Source§

impl AsRef<str> for IntegerTypeVariant

Source§

impl AsRef<str> for Signal

1.0.0 (const: unstable) · Source§

impl AsRef<str> for str

1.0.0 · Source§

impl AsRef<str> for String

Source§

impl AsRef<str> for Graphemes

Source§

impl AsRef<str> for der::asn1::ia5_string::allocation::Ia5String

Source§

impl AsRef<str> for der::asn1::printable_string::allocation::PrintableString

Source§

impl AsRef<str> for der::asn1::teletex_string::allocation::TeletexString

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 OpensslString

Source§

impl AsRef<str> for OpensslStringRef

Source§

impl AsRef<str> for rcgen::string_types::Ia5String

Source§

impl AsRef<str> for rcgen::string_types::PrintableString

Source§

impl AsRef<str> for rcgen::string_types::TeletexString

Source§

impl AsRef<str> for DnsName<'_>

Source§

impl AsRef<str> for SmolStr

Source§

impl AsRef<str> for Field

Source§

impl AsRef<str> for Url

Return the serialization of this URL.

1.7.0 (const: unstable) · Source§

impl AsRef<CStr> for CStr

1.7.0 · Source§

impl AsRef<CStr> for CString

Source§

impl AsRef<LocalWaker> for Waker

Source§

impl AsRef<ByteStr> for str

Source§

impl AsRef<ByteStr> for ByteString

Source§

impl AsRef<ByteStr> for ByteStr

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 (const: unstable) · 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 (const: unstable) · Source§

impl AsRef<OsStr> for Path

1.0.0 · Source§

impl AsRef<OsStr> for PathBuf

Source§

impl AsRef<OsStr> for Intern<str>

Source§

impl AsRef<OsStr> for Intern<Path>

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

1.0.0 · Source§

impl AsRef<Path> for String

1.0.0 (const: unstable) · 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 (const: unstable) · Source§

impl AsRef<Path> for Path

1.0.0 · Source§

impl AsRef<Path> for PathBuf

Source§

impl AsRef<Path> for Intern<str>

Source§

impl AsRef<Path> for Intern<OsStr>

Source§

impl AsRef<Graphemes> for Graphemes

Source§

impl AsRef<sigset_t> for SigSet

Source§

impl AsRef<aiocb> for AioFsync

Source§

impl AsRef<timespec> for TimeSpec

Source§

impl AsRef<sockaddr_alg> for AlgAddr

Source§

impl AsRef<sockaddr_nl> for NetlinkAddr

Source§

impl AsRef<sockaddr_vm> for VsockAddr

Source§

impl AsRef<sockaddr_in6> for SockaddrIn6

Source§

impl AsRef<sockaddr_in> for SockaddrIn

Source§

impl AsRef<sockaddr_ll> for LinkAddr

Source§

impl AsRef<sockaddr_un> for UnixAddr

Source§

impl AsRef<rusage> for Usage

Source§

impl AsRef<timeval> for TimeVal

Source§

impl AsRef<Asn1BitStringRef> for Asn1BitString

Source§

impl AsRef<Asn1EnumeratedRef> for Asn1Enumerated

Source§

impl AsRef<Asn1GeneralizedTimeRef> for Asn1GeneralizedTime

Source§

impl AsRef<Asn1IntegerRef> for Asn1Integer

Source§

impl AsRef<Asn1ObjectRef> for Asn1Object

Source§

impl AsRef<Asn1OctetStringRef> for Asn1OctetString

Source§

impl AsRef<Asn1StringRef> for Asn1String

Source§

impl AsRef<Asn1TimeRef> for Asn1Time

Source§

impl AsRef<BigNumContextRef> for BigNumContext

Source§

impl AsRef<BigNumRef> for BigNum

Source§

impl AsRef<CipherCtxRef> for CipherCtx

Source§

impl AsRef<CmsContentInfoRef> for CmsContentInfo

Source§

impl AsRef<ConfRef> for Conf

Source§

impl AsRef<DsaSigRef> for DsaSig

Source§

impl AsRef<EcGroupRef> for EcGroup

Source§

impl AsRef<EcPointRef> for EcPoint

Source§

impl AsRef<EcdsaSigRef> for EcdsaSig

Source§

impl AsRef<LibCtxRef> for LibCtx

Source§

impl AsRef<MdCtxRef> for MdCtx

Source§

impl AsRef<OcspBasicResponseRef> for OcspBasicResponse

Source§

impl AsRef<OcspCertIdRef> for OcspCertId

Source§

impl AsRef<OcspOneReqRef> for OcspOneReq

Source§

impl AsRef<OcspRequestRef> for OcspRequest

Source§

impl AsRef<OcspResponseRef> for OcspResponse

Source§

impl AsRef<Pkcs7Ref> for Pkcs7

Source§

impl AsRef<Pkcs7SignedRef> for Pkcs7Signed

Source§

impl AsRef<Pkcs7SignerInfoRef> for Pkcs7SignerInfo

Source§

impl AsRef<Pkcs12Ref> for Pkcs12

Source§

impl AsRef<ProviderRef> for Provider

Source§

impl AsRef<SrtpProtectionProfileRef> for SrtpProtectionProfile

Source§

impl AsRef<SslContextRef> for SslContext

Source§

impl AsRef<SslRef> for Ssl

Source§

impl AsRef<SslSessionRef> for SslSession

Source§

impl AsRef<OpensslStringRef> for OpensslString

Source§

impl AsRef<X509StoreBuilderRef> for X509StoreBuilder

Source§

impl AsRef<X509StoreRef> for X509Store

Source§

impl AsRef<AccessDescriptionRef> for AccessDescription

Source§

impl AsRef<DistPointNameRef> for DistPointName

Source§

impl AsRef<DistPointRef> for DistPoint

Source§

impl AsRef<GeneralNameRef> for GeneralName

Source§

impl AsRef<X509AlgorithmRef> for X509Algorithm

Source§

impl AsRef<X509CrlRef> for X509Crl

Source§

impl AsRef<X509ExtensionRef> for X509Extension

Source§

impl AsRef<X509NameEntryRef> for X509NameEntry

Source§

impl AsRef<X509NameRef> for X509Name

Source§

impl AsRef<X509ObjectRef> for X509Object

Source§

impl AsRef<X509Ref> for X509

Source§

impl AsRef<X509Ref> for X509Ref

Source§

impl AsRef<X509ReqRef> for X509Req

Source§

impl AsRef<X509RevokedRef> for X509Revoked

Source§

impl AsRef<X509StoreContextRef> for X509StoreContext

Source§

impl AsRef<X509VerifyParamRef> for X509VerifyParam

Source§

impl AsRef<Scalar> for p256::arithmetic::scalar::Scalar

Source§

impl AsRef<Scalar> for p384::arithmetic::scalar::Scalar

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl AsRef<Semaphore> for PollSemaphore

Source§

impl AsRef<Interval> for IntervalStream

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

Source§

impl AsRef<DataChannel> for PollDataChannel

Source§

impl AsRef<Stream> for PollStream

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

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 Bytes

Source§

impl AsRef<[u8]> for BytesMut

Source§

impl AsRef<[u8]> for Graphemes

Source§

impl AsRef<[u8]> for const_oid::ObjectIdentifier

Source§

impl AsRef<[u8]> for der::asn1::bmp_string::BmpString

Source§

impl AsRef<[u8]> for der::asn1::ia5_string::allocation::Ia5String

Source§

impl AsRef<[u8]> for der::asn1::octet_string::allocating::OctetString

Source§

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

Source§

impl AsRef<[u8]> for der::asn1::printable_string::allocation::PrintableString

Source§

impl AsRef<[u8]> for der::asn1::teletex_string::allocation::TeletexString

Source§

impl AsRef<[u8]> for der::document::Document

Source§

impl AsRef<[u8]> for HeaderName

Source§

impl AsRef<[u8]> for HeaderValue

Source§

impl AsRef<[u8]> for ReasonPhrase

Source§

impl AsRef<[u8]> for DigestBytes

Source§

impl AsRef<[u8]> for OpensslString

Source§

impl AsRef<[u8]> for OpensslStringRef

Source§

impl AsRef<[u8]> for Data

Source§

impl AsRef<[u8]> for SerialNumber

Source§

impl AsRef<[u8]> for Literal

Source§

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

Source§

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

Source§

impl AsRef<[u8]> for Digest

Source§

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

Source§

impl AsRef<[u8]> for ring::pkcs8::Document

Source§

impl AsRef<[u8]> for ring::rsa::public_key::PublicKey

Source§

impl AsRef<[u8]> for ring::signature::Signature

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 Uuid

Source§

impl AsRef<[u8]> for x25519_dalek::x25519::PublicKey

Source§

impl AsRef<[u8]> for SharedSecret

Source§

impl AsRef<[u8]> for StaticSecret

Source§

impl AsRef<[u64; 6]> for p384::arithmetic::scalar::Scalar

Source§

impl AsRef<[u64]> for yasna::models::oid::ObjectIdentifier

Source§

impl<'a> AsRef<Event<'a>> for Event<'a>

1.55.0 · Source§

impl<'a> AsRef<str> for datex_core::without_std::string::Drain<'a>

Source§

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

Source§

impl<'a> AsRef<str> for asn1_rs::asn1_types::strings::bmpstring::BmpString<'a>

Source§

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

Source§

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

Source§

impl<'a> AsRef<str> for asn1_rs::asn1_types::strings::ia5string::Ia5String<'a>

Source§

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

Source§

impl<'a> AsRef<str> for asn1_rs::asn1_types::strings::printablestring::PrintableString<'a>

Source§

impl<'a> AsRef<str> for asn1_rs::asn1_types::strings::teletexstring::TeletexString<'a>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'a> AsRef<aiocb> for AioRead<'a>

Source§

impl<'a> AsRef<aiocb> for AioWrite<'a>

1.55.0 · Source§

impl<'a> AsRef<[u8]> for datex_core::without_std::string::Drain<'a>

Source§

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

Source§

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

Source§

impl<'a> AsRef<[u8]> for asn1_rs::asn1_types::octetstring::OctetString<'a>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'a, T> AsRef<T> for EncodeRef<'a, T>

Source§

impl<'a, T> AsRef<T> for EncodeValueRef<'a, T>

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 datex_core::without_std::prelude::vec::Drain<'a, T, A>
where A: Allocator,

Source§

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

Source§

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

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 ring::agreement::UnparsedPublicKey<B>
where B: AsRef<[u8]>,

Source§

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

Source§

impl<C> AsRef<<C as CurveArithmetic>::AffinePoint> for VerifyingKey<C>

Source§

impl<C> AsRef<<C as CurveArithmetic>::AffinePoint> for elliptic_curve::public_key::PublicKey<C>
where C: CurveArithmetic,

Source§

impl<C> AsRef<<C as CurveArithmetic>::Scalar> for BlindedScalar<C>
where C: CurveArithmetic,

Source§

impl<C> AsRef<<C as CurveArithmetic>::Scalar> for NonZeroScalar<C>
where C: CurveArithmetic,

Source§

impl<C> AsRef<VerifyingKey<C>> for SigningKey<C>

Source§

impl<C> AsRef<[u8]> for ecdsa::der::Signature<C>

Source§

impl<C> AsRef<[Limb]> for ScalarPrimitive<C>
where C: Curve,

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

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<P> AsRef<P> for NonIdentity<P>

Source§

impl<Size> AsRef<[u8]> for EncodedPoint<Size>
where Size: ModulusSize,

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; 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 datex_core::without_std::slice::Iter<'_, T>

1.53.0 · Source§

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

Source§

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

Source§

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

Source§

impl<T> AsRef<[T]> for SetOfVec<T>
where T: DerOrd,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T> AsRef<PkeyCtxRef<T>> for PkeyCtx<T>

Source§

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

Source§

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

Source§

impl<T> AsRef<X509LookupMethodRef<T>> for X509LookupMethod<T>

Source§

impl<T> AsRef<X509LookupRef<T>> for X509Lookup<T>

Source§

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

Source§

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

Source§

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

Source§

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

1.0.0 (const: unstable) · Source§

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

Source§

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

Source§

impl<T> AsRef<T> for NonZero<T>
where T: Zero,

Source§

impl<T> AsRef<T> for Intern<T>
where T: ?Sized,

Source§

impl<T> AsRef<T> for NotNan<T>
where T: FloatCore,

Source§

impl<T> AsRef<T> for OrderedFloat<T>
where T: FloatCore,

Source§

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

1.0.0 · Source§

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

1.46.0 · Source§

impl<T, A> AsRef<[T]> for datex_core::without_std::prelude::vec::IntoIter<T, A>
where A: Allocator,

Source§

impl<T, A> AsRef<[T]> for allocator_api2::stable::vec::into_iter::IntoIter<T, A>
where A: Allocator,

Source§

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

1.0.0 · Source§

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

Source§

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

1.5.0 · Source§

impl<T, A> AsRef<T> for datex_core::without_std::prelude::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,

Source§

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

Source§

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

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 N: usize> AsRef<[T; N]> for Simd<T, N>

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>

Source§

impl<const LIMBS: usize> AsRef<[u64; LIMBS]> for Uint<LIMBS>

Source§

impl<const LIMBS: usize> AsRef<[Limb]> for Uint<LIMBS>

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>