pub enum SymGenericKind {
Type,
Perm,
Place,
}Variants§
Trait Implementations§
Source§impl Clone for SymGenericKind
impl Clone for SymGenericKind
Source§fn clone(&self) -> SymGenericKind
fn clone(&self) -> SymGenericKind
Returns a duplicate 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 SymGenericKind
impl Debug for SymGenericKind
Source§impl Display for SymGenericKind
impl Display for SymGenericKind
Source§impl From<InferVarKind> for SymGenericKind
impl From<InferVarKind> for SymGenericKind
Source§fn from(value: InferVarKind) -> Self
fn from(value: InferVarKind) -> Self
Converts to this type from the input type.
Source§impl Hash for SymGenericKind
impl Hash for SymGenericKind
Source§impl Ord for SymGenericKind
impl Ord for SymGenericKind
Source§fn cmp(&self, other: &SymGenericKind) -> Ordering
fn cmp(&self, other: &SymGenericKind) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for SymGenericKind
impl PartialEq for SymGenericKind
Source§impl PartialOrd for SymGenericKind
impl PartialOrd for SymGenericKind
Source§impl Serialize for SymGenericKind
impl Serialize for SymGenericKind
Source§impl<'db> Subst<'db> for SymGenericKind
impl<'db> Subst<'db> for SymGenericKind
Source§type GenericTerm = SymGenericTerm<'db>
type GenericTerm = SymGenericTerm<'db>
The notion of generic term appropriate for this type.
When we substitute variables, this is the type of value that we replace them with.
Source§fn subst_vars(
&self,
db: &'db dyn Db,
map: &Map<SymVariable<'db>, Self::GenericTerm>,
) -> Self::Output
fn subst_vars( &self, db: &'db dyn Db, map: &Map<SymVariable<'db>, Self::GenericTerm>, ) -> Self::Output
Returns a version of
self where universal free variables
have been replaced by the corresponding entry in terms.
If a variable is not present in terms it is not substituted.Source§fn subst_var(
&self,
db: &'db dyn Db,
var: SymVariable<'db>,
term: Self::GenericTerm,
) -> Self::Output
fn subst_var( &self, db: &'db dyn Db, var: SymVariable<'db>, term: Self::GenericTerm, ) -> Self::Output
Replace the variable
var with term.Source§fn resolve_infer_var(
&self,
db: &'db dyn Db,
bound_vars: &mut Vec<SymVariable<'db>>,
op: impl FnMut(InferVarIndex) -> Option<Self::GenericTerm>,
) -> Self::Output
fn resolve_infer_var( &self, db: &'db dyn Db, bound_vars: &mut Vec<SymVariable<'db>>, op: impl FnMut(InferVarIndex) -> Option<Self::GenericTerm>, ) -> Self::Output
Replace all inference variables with whatever is returned by
op;
if op returns None, the inference variable is left unchanged.Source§impl<'db, Term> SubstWith<'db, Term> for SymGenericKind
impl<'db, Term> SubstWith<'db, Term> for SymGenericKind
Source§type Output = SymGenericKind
type Output = SymGenericKind
The type of the resulting term; typically
Self but not always.Source§fn subst_with<'subst>(
&self,
_db: &'db dyn Db,
_bound_vars: &mut Vec<SymVariable<'db>>,
_subst_fns: &mut SubstitutionFns<'_, 'db, Term>,
) -> Self::Output
fn subst_with<'subst>( &self, _db: &'db dyn Db, _bound_vars: &mut Vec<SymVariable<'db>>, _subst_fns: &mut SubstitutionFns<'_, 'db, Term>, ) -> Self::Output
Source§impl Update for SymGenericKind
impl Update for SymGenericKind
impl Copy for SymGenericKind
impl Eq for SymGenericKind
impl StructuralPartialEq for SymGenericKind
Auto Trait Implementations§
impl Freeze for SymGenericKind
impl RefUnwindSafe for SymGenericKind
impl Send for SymGenericKind
impl Sync for SymGenericKind
impl Unpin for SymGenericKind
impl UnsafeUnpin for SymGenericKind
impl UnwindSafe for SymGenericKind
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: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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<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<T> HashEqLike<T> for T
impl<T> HashEqLike<T> for T
§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