mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 12:29:21 +00:00
Add flyimport completion for trait assoc items
This commit is contained in:
parent
9a349f280f
commit
db335a1bbf
18 changed files with 661 additions and 247 deletions
|
@ -272,6 +272,15 @@ impl ModuleDef {
|
|||
|
||||
hir_ty::diagnostics::validate_module_item(db, module.id.krate, id, sink)
|
||||
}
|
||||
|
||||
pub fn as_assoc_item(self, db: &dyn HirDatabase) -> Option<AssocItem> {
|
||||
match self {
|
||||
ModuleDef::Function(f) => f.as_assoc_item(db),
|
||||
ModuleDef::Const(c) => c.as_assoc_item(db),
|
||||
ModuleDef::TypeAlias(t) => t.as_assoc_item(db),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Module {
|
||||
|
@ -1091,6 +1100,13 @@ impl AssocItem {
|
|||
AssocContainerId::ContainerId(_) => panic!("invalid AssocItem"),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn containing_trait(self, db: &dyn HirDatabase) -> Option<Trait> {
|
||||
match self.container(db) {
|
||||
AssocItemContainer::Trait(t) => Some(t),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl HasVisibility for AssocItem {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue