Enum hir::TyFingerprint
pub enum TyFingerprint {
Str,
Slice,
Array,
Never,
RawPtr(Mutability),
Scalar(Scalar),
Adt(AdtId),
Dyn(TraitId),
ForeignType(ForeignDefId<Interner>),
Unit,
Unnameable,
Function(u32),
}
Expand description
This is used as a key for indexing impls.
Variants§
Str
Slice
Array
Never
RawPtr(Mutability)
Scalar(Scalar)
Adt(AdtId)
Dyn(TraitId)
ForeignType(ForeignDefId<Interner>)
Unit
Unnameable
Function(u32)
Implementations§
§impl TyFingerprint
impl TyFingerprint
pub fn for_inherent_impl(ty: &Ty<Interner>) -> Option<TyFingerprint>
pub fn for_inherent_impl(ty: &Ty<Interner>) -> Option<TyFingerprint>
Creates a TyFingerprint for looking up an inherent impl. Only certain
types can have inherent impls: if we have some struct S
, we can have
an impl S
, but not impl &S
. Hence, this will return None
for
reference types and such.
pub fn for_trait_impl(ty: &Ty<Interner>) -> Option<TyFingerprint>
pub fn for_trait_impl(ty: &Ty<Interner>) -> Option<TyFingerprint>
Creates a TyFingerprint for looking up a trait impl.
Trait Implementations§
§impl Clone for TyFingerprint
impl Clone for TyFingerprint
§fn clone(&self) -> TyFingerprint
fn clone(&self) -> TyFingerprint
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for TyFingerprint
impl Debug for TyFingerprint
§impl Hash for TyFingerprint
impl Hash for TyFingerprint
§impl Ord for TyFingerprint
impl Ord for TyFingerprint
§impl PartialEq for TyFingerprint
impl PartialEq for TyFingerprint
§impl PartialOrd for TyFingerprint
impl PartialOrd for TyFingerprint
impl Copy for TyFingerprint
impl Eq for TyFingerprint
impl StructuralPartialEq for TyFingerprint
Auto Trait Implementations§
impl Freeze for TyFingerprint
impl RefUnwindSafe for TyFingerprint
impl Send for TyFingerprint
impl Sync for TyFingerprint
impl Unpin for TyFingerprint
impl UnwindSafe for TyFingerprint
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Cast for T
impl<T> Cast for T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more