pub enum AssocItem {
Function(Function),
Const(Const),
TypeAlias(TypeAlias),
}Expand description
Invariant: inner.as_assoc_item(db).is_some()
We do not actively enforce this invariant.
Variants§
Implementations§
Source§impl AssocItem
impl AssocItem
pub fn name(self, db: &dyn HirDatabase) -> Option<Name>
pub fn module(self, db: &dyn HirDatabase) -> Module
pub fn container(self, db: &dyn HirDatabase) -> AssocItemContainer
pub fn container_trait(self, db: &dyn HirDatabase) -> Option<Trait>
pub fn implemented_trait(self, db: &dyn HirDatabase) -> Option<Trait>
pub fn container_or_implemented_trait( self, db: &dyn HirDatabase, ) -> Option<Trait>
pub fn implementing_ty(self, db: &dyn HirDatabase) -> Option<Type<'_>>
pub fn as_function(self) -> Option<Function>
pub fn as_const(self) -> Option<Const>
pub fn as_type_alias(self) -> Option<TypeAlias>
pub fn diagnostics<'db>( self, db: &'db dyn HirDatabase, acc: &mut Vec<AnyDiagnostic<'db>>, style_lints: bool, )
Trait Implementations§
Source§impl HasAttrs for AssocItem
impl HasAttrs for AssocItem
fn attrs(self, db: &dyn HirDatabase) -> AttrsWithOwner
fn hir_docs(self, db: &dyn HirDatabase) -> Option<&Docs>
Source§impl HasVisibility for AssocItem
impl HasVisibility for AssocItem
fn visibility(&self, db: &dyn HirDatabase) -> Visibility
fn is_visible_from(&self, db: &dyn HirDatabase, module: Module) -> bool
impl Copy for AssocItem
impl Eq for AssocItem
impl StructuralPartialEq for AssocItem
Auto Trait Implementations§
impl Freeze for AssocItem
impl RefUnwindSafe for AssocItem
impl Send for AssocItem
impl Sync for AssocItem
impl Unpin for AssocItem
impl UnwindSafe for AssocItem
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<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§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> 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