Enum chalk_ir::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> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
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
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)