Enum cairo_lang_semantic::items::imp::ImplId
source · pub enum ImplId {
Concrete(ConcreteImplId),
GenericParameter(GenericParamId),
ImplVar(ImplVarId),
}
Expand description
Represents a “callee” impl that can be referred to in the code. Traits should be resolved to this.
Variants§
Implementations§
source§impl ImplId
impl ImplId
sourcepub fn head(&self, db: &dyn SemanticGroup) -> Option<ImplHead>
pub fn head(&self, db: &dyn SemanticGroup) -> Option<ImplHead>
Returns the ImplHead of an impl if available.
pub fn name(&self, db: &dyn SemanticGroup) -> SmolStr
pub fn concrete_trait(&self, db: &dyn SemanticGroup) -> Maybe<ConcreteTraitId>
Trait Implementations§
source§impl DebugWithDb<dyn SemanticGroup> for ImplId
impl DebugWithDb<dyn SemanticGroup> for ImplId
source§impl PartialEq for ImplId
impl PartialEq for ImplId
source§impl<T: SemanticRewriter<ConcreteImplId, Error> + SemanticRewriter<GenericParamId, Error> + SemanticRewriter<ImplVarId, Error>, Error> SemanticObject<T, Error> for ImplId
impl<T: SemanticRewriter<ConcreteImplId, Error> + SemanticRewriter<GenericParamId, Error> + SemanticRewriter<ImplVarId, Error>, Error> SemanticObject<T, Error> for ImplId
fn default_rewrite(self, rewriter: &mut T) -> Result<Self, Error>
source§impl<'a> SemanticRewriter<ImplId, DiagnosticAdded> for SubstitutionRewriter<'a>
impl<'a> SemanticRewriter<ImplId, DiagnosticAdded> for SubstitutionRewriter<'a>
impl Copy for ImplId
impl Eq for ImplId
impl StructuralEq for ImplId
impl StructuralPartialEq for ImplId
Auto Trait Implementations§
impl RefUnwindSafe for ImplId
impl Send for ImplId
impl Sync for ImplId
impl Unpin for ImplId
impl UnwindSafe for ImplId
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 Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
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 Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§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 Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.