Type Alias chalk_solve::infer::ParameterEnaVariable

source ·
pub type ParameterEnaVariable<I: Interner> = WithKind<I, EnaVariable<I>>;

Aliased Type§

struct ParameterEnaVariable<I: Interner> {
    pub kind: VariableKind<I>,
    /* private fields */
}

Fields§

§kind: VariableKind<I>

The associated variable kind.

Implementations

source§

impl<I, T> WithKind<I, T>
where I: Interner,

source

pub fn new(kind: VariableKind<I>, value: T) -> WithKind<I, T>

Creates a WithKind from a variable kind and a value.

source

pub fn map<U, OP>(self, op: OP) -> WithKind<I, U>
where OP: FnOnce(T) -> U,

Maps the value in WithKind.

source

pub fn map_ref<U, OP>(&self, op: OP) -> WithKind<I, U>
where OP: FnOnce(&T) -> U,

Maps a function taking WithKind<I, &T> over &WithKind<I, T>.

source

pub fn skip_kind(&self) -> &T

Extract the value, ignoring the variable kind.

Trait Implementations§

source§

impl<I: Interner> ParameterEnaVariableExt<I> for ParameterEnaVariable<I>

source§

fn to_generic_arg(&self, interner: I) -> GenericArg<I>

source§

impl<I, T> Clone for WithKind<I, T>
where I: Clone + Interner, T: Clone,

source§

fn clone(&self) -> WithKind<I, T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<I, T> Debug for WithKind<I, T>
where I: Interner, T: Debug,

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl<I, T> HasInterner for WithKind<I, T>
where I: Interner,

§

type Interner = I

The interner associated with the type.
source§

impl<I, T> Hash for WithKind<I, T>
where I: Hash + Interner, T: Hash,

source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<I, T> PartialEq for WithKind<I, T>
where I: PartialEq + Interner, T: PartialEq,

source§

fn eq(&self, other: &WithKind<I, T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<I, T> Copy for WithKind<I, T>
where I: Interner, T: Copy, <I as Interner>::InternedType: Copy,

source§

impl<I, T> Eq for WithKind<I, T>
where I: Eq + Interner, T: Eq,

source§

impl<I, T> StructuralPartialEq for WithKind<I, T>
where I: Interner,