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.

Implementors§

Source§

impl AsRef<str> for InvalidTransaction

Source§

impl AsRef<str> for UnknownTransaction

Source§

impl AsRef<str> for Method

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 Ia5String

Source§

impl AsRef<str> for PrintableString

Source§

impl AsRef<str> for TeletexString

Source§

impl AsRef<str> for Buffer

Source§

impl AsRef<str> for Field

Source§

impl AsRef<ByteStr> for str

Source§

impl AsRef<ByteStr> for ByteStr

Source§

impl AsRef<ByteStr> for ByteString

Source§

impl AsRef<CryptoBytes<subsoil::::core::ecdsa::GenericPublic::{constant#0}, (PublicTag, EcdsaTag)>> for topsoil_core::runtime::app_crypto::ecdsa::AppPublic

Source§

impl AsRef<CryptoBytes<subsoil::::core::ecdsa::GenericPublic::{constant#0}, (PublicTag, EcdsaTag)>> for subsoil::consensus::beefy::ecdsa_crypto::Public

Source§

impl AsRef<CryptoBytes<subsoil::::core::ecdsa::GenericSignature::{constant#0}, (SignatureTag, CryptoBytes<subsoil::::core::ecdsa::GenericPublic::{constant#0}, (PublicTag, EcdsaTag)>)>> for topsoil_core::runtime::app_crypto::ecdsa::AppProofOfPossession

Source§

impl AsRef<CryptoBytes<subsoil::::core::ecdsa::GenericSignature::{constant#0}, (SignatureTag, CryptoBytes<subsoil::::core::ecdsa::GenericPublic::{constant#0}, (PublicTag, EcdsaTag)>)>> for topsoil_core::runtime::app_crypto::ecdsa::AppSignature

Source§

impl AsRef<CryptoBytes<subsoil::::core::ecdsa::GenericSignature::{constant#0}, (SignatureTag, CryptoBytes<subsoil::::core::ecdsa::GenericPublic::{constant#0}, (PublicTag, EcdsaTag)>)>> for subsoil::consensus::beefy::ecdsa_crypto::ProofOfPossession

Source§

impl AsRef<CryptoBytes<subsoil::::core::ecdsa::GenericSignature::{constant#0}, (SignatureTag, CryptoBytes<subsoil::::core::ecdsa::GenericPublic::{constant#0}, (PublicTag, EcdsaTag)>)>> for subsoil::consensus::beefy::ecdsa_crypto::Signature

Source§

impl AsRef<CryptoBytes<subsoil::::core::ed25519::Public::{constant#0}, (PublicTag, Ed25519Tag)>> for topsoil_core::runtime::app_crypto::ed25519::AppPublic

Source§

impl AsRef<CryptoBytes<subsoil::::core::ed25519::Signature::{constant#0}, (SignatureTag, Ed25519Tag)>> for topsoil_core::runtime::app_crypto::ed25519::AppProofOfPossession

Source§

impl AsRef<CryptoBytes<subsoil::::core::ed25519::Signature::{constant#0}, (SignatureTag, Ed25519Tag)>> for topsoil_core::runtime::app_crypto::ed25519::AppSignature

Source§

impl AsRef<CryptoBytes<subsoil::::core::sr25519::Signature::{constant#0}, (SignatureTag, Sr25519Tag)>> for topsoil_core::runtime::app_crypto::sr25519::AppProofOfPossession

Source§

impl AsRef<CryptoBytes<subsoil::::core::sr25519::Signature::{constant#0}, (SignatureTag, Sr25519Tag)>> for topsoil_core::runtime::app_crypto::sr25519::AppSignature

Source§

impl AsRef<Pair> for topsoil_core::runtime::app_crypto::ed25519::AppPair

Source§

impl AsRef<Pair> for topsoil_core::runtime::app_crypto::sr25519::AppPair

Source§

impl AsRef<VrfTranscript> for VrfSignData

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

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

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<VerifyingKey> for ed25519_dalek::signing::SigningKey

Source§

impl AsRef<Scalar> for Scalar

Source§

impl AsRef<Keypair> for topsoil_core::runtime::testing::sr25519::Pair

Available on crate feature full_crypto only.
Source§

impl AsRef<[u8; 8]> for bitcoin_hashes::siphash24::Hash

Source§

impl AsRef<[u8; 20]> for bitcoin_hashes::hash160::Hash

Source§

impl AsRef<[u8; 20]> for bitcoin_hashes::ripemd160::Hash

Source§

impl AsRef<[u8; 20]> for bitcoin_hashes::sha1::Hash

Source§

impl AsRef<[u8; 32]> for AccountId32

Source§

impl AsRef<[u8; 32]> for bitcoin_hashes::sha256::Hash

Source§

impl AsRef<[u8; 32]> for bitcoin_hashes::sha256d::Hash

Source§

impl AsRef<[u8; 32]> for bitcoin_hashes::sha512_256::Hash

Source§

impl AsRef<[u8; 32]> for SecretKey

Source§

impl AsRef<[u8; 32]> for Message

Source§

impl AsRef<[u8; 48]> for bitcoin_hashes::sha384::Hash

Source§

impl AsRef<[u8; 64]> for bitcoin_hashes::sha512::Hash

Source§

impl AsRef<[u8; 64]> for ElligatorSwift

Source§

impl AsRef<[u8; 64]> for secp256k1_sys::PublicKey

Source§

impl AsRef<[u8; 64]> for secp256k1_sys::Signature

Source§

impl AsRef<[u8; 64]> for XOnlyPublicKey

Source§

impl AsRef<[u8; 64]> for secp256k1::schnorr::Signature

Source§

impl AsRef<[u8; 65]> for RecoverableSignature

Source§

impl AsRef<[u8; 96]> for Keypair

Source§

impl AsRef<[u8]> for MultiSigner

1.0.0 (const: unstable) · Source§

impl AsRef<[u8]> for str

Source§

impl AsRef<[u8]> for ByteStr

Source§

impl AsRef<[u8]> for ByteString

Source§

impl AsRef<[u8]> for StorageKey

Source§

impl AsRef<[u8]> for H160

Source§

impl AsRef<[u8]> for H512

Source§

impl AsRef<[u8]> for topsoil_core::runtime::app_crypto::ecdsa::AppProofOfPossession

Source§

impl AsRef<[u8]> for topsoil_core::runtime::app_crypto::ecdsa::AppPublic

Source§

impl AsRef<[u8]> for topsoil_core::runtime::app_crypto::ecdsa::AppSignature

Source§

impl AsRef<[u8]> for topsoil_core::runtime::app_crypto::ed25519::AppProofOfPossession

Source§

impl AsRef<[u8]> for topsoil_core::runtime::app_crypto::ed25519::AppPublic

Source§

impl AsRef<[u8]> for topsoil_core::runtime::app_crypto::ed25519::AppSignature

Source§

impl AsRef<[u8]> for topsoil_core::runtime::app_crypto::sr25519::AppProofOfPossession

Source§

impl AsRef<[u8]> for topsoil_core::runtime::app_crypto::sr25519::AppPublic

Source§

impl AsRef<[u8]> for topsoil_core::runtime::app_crypto::sr25519::AppSignature

Source§

impl AsRef<[u8]> for AccountId32

Source§

impl AsRef<[u8]> for KeyTypeId

Source§

impl AsRef<[u8]> for H256

Source§

impl AsRef<[u8]> for UintAuthorityId

1.0.0 · Source§

impl AsRef<[u8]> for String

Source§

impl AsRef<[u8]> for bitcoin_hashes::hash160::Hash

Source§

impl AsRef<[u8]> for bitcoin_hashes::ripemd160::Hash

Source§

impl AsRef<[u8]> for bitcoin_hashes::sha1::Hash

Source§

impl AsRef<[u8]> for bitcoin_hashes::sha256::Hash

Source§

impl AsRef<[u8]> for Midstate

Source§

impl AsRef<[u8]> for bitcoin_hashes::sha256d::Hash

Source§

impl AsRef<[u8]> for bitcoin_hashes::sha384::Hash

Source§

impl AsRef<[u8]> for bitcoin_hashes::sha512::Hash

Source§

impl AsRef<[u8]> for bitcoin_hashes::sha512_256::Hash

Source§

impl AsRef<[u8]> for bitcoin_hashes::siphash24::Hash

Source§

impl AsRef<[u8]> for blake2b_simd::Hash

Source§

impl AsRef<[u8]> for Bytes

Source§

impl AsRef<[u8]> for BytesMut

Source§

impl AsRef<[u8]> for ObjectIdentifier

Source§

impl AsRef<[u8]> for BmpString

Source§

impl AsRef<[u8]> for Ia5String

Source§

impl AsRef<[u8]> for OctetString

Source§

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

Source§

impl AsRef<[u8]> for PrintableString

Source§

impl AsRef<[u8]> for TeletexString

Source§

impl AsRef<[u8]> for Document

Source§

impl AsRef<[u8]> for ed25519_dalek::verifying::VerifyingKey

Source§

impl AsRef<[u8]> for ed25519_zebra::signing_key::SigningKey

Source§

impl AsRef<[u8]> for VerificationKey

Source§

impl AsRef<[u8]> for VerificationKeyBytes

Source§

impl AsRef<[u8]> for SignatureArray

Source§

impl AsRef<[u8]> for H128

Source§

impl AsRef<[u8]> for H384

Source§

impl AsRef<[u8]> for H768

Source§

impl AsRef<[u8]> for regex_syntax::hir::literal::Literal

Source§

impl AsRef<[u8]> for regex_syntax::hir::literal::Literal

Source§

impl AsRef<[u8]> for schnorrkel::keys::PublicKey

Source§

impl AsRef<[u8]> for secp256k1::ecdh::SharedSecret

Source§

impl AsRef<[u8]> for SerializedSignature

Source§

impl AsRef<[u8]> for subsoil::consensus::beefy::ecdsa_crypto::ProofOfPossession

Source§

impl AsRef<[u8]> for subsoil::consensus::beefy::ecdsa_crypto::Public

Source§

impl AsRef<[u8]> for subsoil::consensus::beefy::ecdsa_crypto::Signature

Source§

impl AsRef<[u64]> for U256

Get a reference to the underlying little-endian words.

Source§

impl AsRef<[u64]> for U512

Get a reference to the underlying little-endian words.

Source§

impl AsRef<[u64]> for primitive_types::U128

Get a reference to the underlying little-endian words.

1.55.0 · Source§

impl<'a> AsRef<str> for alloc::string::Drain<'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 DecimalStr<'a>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

1.55.0 · Source§

impl<'a> AsRef<[u8]> for alloc::string::Drain<'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, T> AsRef<T> for EncodeRef<'a, T>

Source§

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

1.46.0 · Source§

impl<'a, T, A> AsRef<[T]> for topsoil_core::runtime::std::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<'s, T> AsRef<[T]> for SliceVec<'s, T>

Source§

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

Source§

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

Source§

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

Source§

impl<C> AsRef<<C as CurveArithmetic>::AffinePoint> for ecdsa::verifying::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 ecdsa::signing::SigningKey<C>

Available on crate feature verifying only.
Source§

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

Source§

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

Source§

impl<D> AsRef<[u8]> for libsecp256k1::SharedSecret<D>
where D: Digest,

Source§

impl<Inner> AsRef<Inner> for FakeDispatchable<Inner>

Source§

impl<K, V, S> AsRef<BTreeMap<K, V>> for BoundedBTreeMap<K, V, S>
where K: Ord,

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

Available on crate feature std only.

Requires crate feature std.

Source§

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

Available on crate feature std only.

Requires crate feature std.

Source§

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

Available on crate feature std only.

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 zerocopy::byteorder::U128<O>

Source§

impl<P> AsRef<P> for NonIdentity<P>

Source§

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

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 topsoil_core::runtime::std::slice::Iter<'_, T>

1.53.0 · Source§

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

Source§

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

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 NonZero<T>
where T: Zero,

Source§

impl<T> AsRef<[u8; 32]> for bitcoin_hashes::sha256t::Hash<T>
where T: Tag,

Source§

impl<T> AsRef<[u8]> for bitcoin_hashes::sha256t::Hash<T>
where T: Tag,

Source§

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

1.95.0 · Source§

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

1.0.0 · Source§

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

1.46.0 · Source§

impl<T, A> AsRef<[T]> for topsoil_core::runtime::std::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 topsoil_core::runtime::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 topsoil_core::runtime::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, N> AsRef<[T]> for GenericArray<T, N>
where N: ArrayLength<T>,

Source§

impl<T, S> AsRef<[T]> for BoundedVec<T, S>

Source§

impl<T, S> AsRef<[T]> for WeakBoundedVec<T, S>

Source§

impl<T, S> AsRef<Vec<T>> for BoundedVec<T, S>

Source§

impl<T, S> AsRef<Vec<T>> for WeakBoundedVec<T, S>

Source§

impl<T, S> AsRef<BTreeSet<T>> for BoundedBTreeSet<T, S>
where T: Ord,

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::arrayvec::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 CAP: usize> AsRef<Path> for ArrayString<CAP>

Available on crate feature std only.
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 N: usize, T> AsRef<[u8; N]> for CryptoBytes<N, T>

Source§

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

Source§

impl<const N: usize, const UPPERCASE: bool> AsRef<[u8]> for serdect::array::HexOrBin<N, UPPERCASE>

Source§

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

Source§

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

Source§

impl<const UPPERCASE: bool> AsRef<[u8]> for serdect::slice::HexOrBin<UPPERCASE>

Available on crate feature alloc only.