Fix post-rebase issues
This commit is contained in:
parent
acf5f43639
commit
afc1d18ff3
@ -4,8 +4,8 @@ use crate::{
|
||||
};
|
||||
use hir::{
|
||||
db::{DefDatabase, HirDatabase},
|
||||
AssocContainerId, AssocItem, Crate, Function, ModPath, Module, ModuleDef, PathResolution,
|
||||
SourceAnalyzer, Trait, Type,
|
||||
AsAssocItem, AssocItem, AssocItemContainer, Crate, Function, ModPath, Module, ModuleDef,
|
||||
PathResolution, SourceAnalyzer, Trait, Type,
|
||||
};
|
||||
use ra_ide_db::{imports_locator::ImportsLocator, RootDatabase};
|
||||
use ra_prof::profile;
|
||||
@ -157,13 +157,12 @@ impl AutoImportAssets {
|
||||
&trait_candidates,
|
||||
None,
|
||||
|_, assoc| {
|
||||
if let AssocContainerId::TraitId(trait_id) = assoc.container(db)
|
||||
if let AssocItemContainer::Trait(appropriate_trait) =
|
||||
assoc.container(db)
|
||||
{
|
||||
applicable_traits.push(
|
||||
self.module_with_name_to_import.find_use_path(
|
||||
db,
|
||||
ModuleDef::Trait(trait_id.into()),
|
||||
),
|
||||
self.module_with_name_to_import
|
||||
.find_use_path(db, appropriate_trait.into()),
|
||||
);
|
||||
};
|
||||
None::<()>
|
||||
@ -187,15 +186,15 @@ impl AutoImportAssets {
|
||||
current_crate,
|
||||
&trait_candidates,
|
||||
None,
|
||||
|_, funciton| {
|
||||
if let AssocContainerId::TraitId(trait_id) =
|
||||
funciton.container(db)
|
||||
|_, function| {
|
||||
if let AssocItemContainer::Trait(appropriate_trait) = function
|
||||
.as_assoc_item(db)
|
||||
.expect("Function is an assoc item")
|
||||
.container(db)
|
||||
{
|
||||
applicable_traits.push(
|
||||
self.module_with_name_to_import.find_use_path(
|
||||
db,
|
||||
ModuleDef::Trait(trait_id.into()),
|
||||
),
|
||||
self.module_with_name_to_import
|
||||
.find_use_path(db, appropriate_trait.into()),
|
||||
);
|
||||
};
|
||||
None::<()>
|
||||
|
@ -123,7 +123,7 @@ impl_froms!(
|
||||
);
|
||||
|
||||
pub use hir_def::{
|
||||
attr::Attrs, item_scope::ItemInNs, visibility::Visibility, AssocContainerId, AssocItemId,
|
||||
attr::Attrs, item_scope::ItemInNs, visibility::Visibility, AssocItemId, AssocItemLoc,
|
||||
};
|
||||
use rustc_hash::FxHashSet;
|
||||
|
||||
@ -548,10 +548,6 @@ impl Function {
|
||||
let mut validator = ExprValidator::new(self.id, infer, sink);
|
||||
validator.validate_body(db);
|
||||
}
|
||||
|
||||
pub fn container(self, db: &impl DefDatabase) -> AssocContainerId {
|
||||
self.id.lookup(db).container
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
@ -701,11 +697,16 @@ impl AssocItem {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn container(self, db: &impl DefDatabase) -> AssocContainerId {
|
||||
match self {
|
||||
AssocItem::Function(f) => f.container(db),
|
||||
AssocItem::Const(c) => c.id.lookup(db).container,
|
||||
AssocItem::TypeAlias(t) => t.id.lookup(db).container,
|
||||
pub fn container(self, db: &impl DefDatabase) -> AssocItemContainer {
|
||||
let container = match self {
|
||||
AssocItem::Function(it) => it.id.lookup(db).container,
|
||||
AssocItem::Const(it) => it.id.lookup(db).container,
|
||||
AssocItem::TypeAlias(it) => it.id.lookup(db).container,
|
||||
};
|
||||
match container {
|
||||
AssocContainerId::TraitId(id) => AssocItemContainer::Trait(id.into()),
|
||||
AssocContainerId::ImplId(id) => AssocItemContainer::ImplBlock(id.into()),
|
||||
AssocContainerId::ContainerId(_) => panic!("invalid AssocItem"),
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -818,7 +819,7 @@ impl TypeParam {
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME: rename to `ImplBlock`
|
||||
// FIXME: rename from `ImplBlock` to `Impl`
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct ImplBlock {
|
||||
pub(crate) id: ImplId,
|
||||
|
Loading…
x
Reference in New Issue
Block a user