Enum cairo_lang_semantic::expr::inference::InferenceId
source · pub enum InferenceId {
LookupItemDeclaration(LookupItemId),
LookupItemGenerics(LookupItemId),
LookupItemDefinition(LookupItemId),
ImplDefTrait(ImplDefId),
ImplAliasImplDef(ImplAliasId),
GenericParam(GenericParamId),
GenericImplParamTrait(GenericParamId),
Canonical,
NoContext,
}
Expand description
An id for an inference context. Each inference variable is associated with an inference id.
Variants§
LookupItemDeclaration(LookupItemId)
LookupItemGenerics(LookupItemId)
LookupItemDefinition(LookupItemId)
ImplDefTrait(ImplDefId)
ImplAliasImplDef(ImplAliasId)
GenericParam(GenericParamId)
GenericImplParamTrait(GenericParamId)
Canonical
NoContext
For resolving that will not be used anywhere in the semantic model.
Trait Implementations§
source§impl Clone for InferenceId
impl Clone for InferenceId
source§fn clone(&self) -> InferenceId
fn clone(&self) -> InferenceId
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 InferenceId
impl Debug for InferenceId
source§impl<'a, T: ?Sized + Upcast<dyn SemanticGroup + 'static>> DebugWithDb<T> for InferenceId
impl<'a, T: ?Sized + Upcast<dyn SemanticGroup + 'static>> DebugWithDb<T> for InferenceId
source§impl Hash for InferenceId
impl Hash for InferenceId
source§impl PartialEq for InferenceId
impl PartialEq for InferenceId
source§fn eq(&self, other: &InferenceId) -> bool
fn eq(&self, other: &InferenceId) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<T: SemanticRewriter<LookupItemId, Error> + SemanticRewriter<ImplDefId, Error> + SemanticRewriter<ImplAliasId, Error> + SemanticRewriter<GenericParamId, Error>, Error> SemanticObject<T, Error> for InferenceId
impl<T: SemanticRewriter<LookupItemId, Error> + SemanticRewriter<ImplDefId, Error> + SemanticRewriter<ImplAliasId, Error> + SemanticRewriter<GenericParamId, Error>, Error> SemanticObject<T, Error> for InferenceId
fn default_rewrite(self, rewriter: &mut T) -> Result<Self, Error>
source§impl<'a> SemanticRewriter<InferenceId, DiagnosticAdded> for SubstitutionRewriter<'a>
impl<'a> SemanticRewriter<InferenceId, DiagnosticAdded> for SubstitutionRewriter<'a>
fn rewrite( &mut self, value: InferenceId ) -> Result<InferenceId, DiagnosticAdded>
source§impl<'a> SemanticRewriter<InferenceId, NoError> for Inference<'a>
impl<'a> SemanticRewriter<InferenceId, NoError> for Inference<'a>
fn rewrite(&mut self, value: InferenceId) -> Result<InferenceId, NoError>
impl Copy for InferenceId
impl Eq for InferenceId
impl StructuralEq for InferenceId
impl StructuralPartialEq for InferenceId
Auto Trait Implementations§
impl RefUnwindSafe for InferenceId
impl Send for InferenceId
impl Sync for InferenceId
impl Unpin for InferenceId
impl UnwindSafe for InferenceId
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<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.§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.