Enum ra_ap_hir_ty::TyVariableKind
source · pub enum TyVariableKind {
General,
Integer,
Float,
}
Expand description
Represents some extra knowledge we may have about the type variable.
ⓘ
let x: &[u32];
let i = 1;
x[i]
In this example, i
is known to be some type of integer. We can infer that
it is usize
because that is the only integer type that slices have an
Index
impl for. i
would have a TyVariableKind
of Integer
to guide the
inference process.
Variants§
Trait Implementations§
source§impl Clone for TyVariableKind
impl Clone for TyVariableKind
source§fn clone(&self) -> TyVariableKind
fn clone(&self) -> TyVariableKind
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 moresource§impl Debug for TyVariableKind
impl Debug for TyVariableKind
source§impl Hash for TyVariableKind
impl Hash for TyVariableKind
source§impl PartialEq for TyVariableKind
impl PartialEq for TyVariableKind
source§fn eq(&self, other: &TyVariableKind) -> bool
fn eq(&self, other: &TyVariableKind) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Copy for TyVariableKind
impl Eq for TyVariableKind
impl StructuralPartialEq for TyVariableKind
Auto Trait Implementations§
impl Freeze for TyVariableKind
impl RefUnwindSafe for TyVariableKind
impl Send for TyVariableKind
impl Sync for TyVariableKind
impl Unpin for TyVariableKind
impl UnwindSafe for TyVariableKind
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
source§impl<T> Cast for T
impl<T> Cast for T
source§fn cast<U>(self, interner: <U as HasInterner>::Interner) -> Uwhere
Self: CastTo<U>,
U: HasInterner,
fn cast<U>(self, interner: <U as HasInterner>::Interner) -> Uwhere
Self: CastTo<U>,
U: HasInterner,
Cast a value to type
U
using CastTo
.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§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