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( self, db: &dyn HirDatabase, acc: &mut Vec<AnyDiagnostic>, style_lints: bool, )
Trait Implementations§
source§impl HasAttrs for AssocItem
impl HasAttrs for AssocItem
fn attrs(self, db: &dyn HirDatabase) -> AttrsWithOwner
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
§impl<T> Cast for T
impl<T> Cast for T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§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<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