Skip to content

Commit afc1d18

Browse files
Fix post-rebase issues
1 parent acf5f43 commit afc1d18

File tree

2 files changed

+25
-25
lines changed

2 files changed

+25
-25
lines changed

crates/ra_assists/src/handlers/auto_import.rs

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ use crate::{
44
};
55
use hir::{
66
db::{DefDatabase, HirDatabase},
7-
AssocContainerId, AssocItem, Crate, Function, ModPath, Module, ModuleDef, PathResolution,
8-
SourceAnalyzer, Trait, Type,
7+
AsAssocItem, AssocItem, AssocItemContainer, Crate, Function, ModPath, Module, ModuleDef,
8+
PathResolution, SourceAnalyzer, Trait, Type,
99
};
1010
use ra_ide_db::{imports_locator::ImportsLocator, RootDatabase};
1111
use ra_prof::profile;
@@ -157,13 +157,12 @@ impl AutoImportAssets {
157157
&trait_candidates,
158158
None,
159159
|_, assoc| {
160-
if let AssocContainerId::TraitId(trait_id) = assoc.container(db)
160+
if let AssocItemContainer::Trait(appropriate_trait) =
161+
assoc.container(db)
161162
{
162163
applicable_traits.push(
163-
self.module_with_name_to_import.find_use_path(
164-
db,
165-
ModuleDef::Trait(trait_id.into()),
166-
),
164+
self.module_with_name_to_import
165+
.find_use_path(db, appropriate_trait.into()),
167166
);
168167
};
169168
None::<()>
@@ -187,15 +186,15 @@ impl AutoImportAssets {
187186
current_crate,
188187
&trait_candidates,
189188
None,
190-
|_, funciton| {
191-
if let AssocContainerId::TraitId(trait_id) =
192-
funciton.container(db)
189+
|_, function| {
190+
if let AssocItemContainer::Trait(appropriate_trait) = function
191+
.as_assoc_item(db)
192+
.expect("Function is an assoc item")
193+
.container(db)
193194
{
194195
applicable_traits.push(
195-
self.module_with_name_to_import.find_use_path(
196-
db,
197-
ModuleDef::Trait(trait_id.into()),
198-
),
196+
self.module_with_name_to_import
197+
.find_use_path(db, appropriate_trait.into()),
199198
);
200199
};
201200
None::<()>

crates/ra_hir/src/code_model.rs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ impl_froms!(
123123
);
124124

125125
pub use hir_def::{
126-
attr::Attrs, item_scope::ItemInNs, visibility::Visibility, AssocContainerId, AssocItemId,
126+
attr::Attrs, item_scope::ItemInNs, visibility::Visibility, AssocItemId, AssocItemLoc,
127127
};
128128
use rustc_hash::FxHashSet;
129129

@@ -548,10 +548,6 @@ impl Function {
548548
let mut validator = ExprValidator::new(self.id, infer, sink);
549549
validator.validate_body(db);
550550
}
551-
552-
pub fn container(self, db: &impl DefDatabase) -> AssocContainerId {
553-
self.id.lookup(db).container
554-
}
555551
}
556552

557553
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
@@ -701,11 +697,16 @@ impl AssocItem {
701697
}
702698
}
703699

704-
pub fn container(self, db: &impl DefDatabase) -> AssocContainerId {
705-
match self {
706-
AssocItem::Function(f) => f.container(db),
707-
AssocItem::Const(c) => c.id.lookup(db).container,
708-
AssocItem::TypeAlias(t) => t.id.lookup(db).container,
700+
pub fn container(self, db: &impl DefDatabase) -> AssocItemContainer {
701+
let container = match self {
702+
AssocItem::Function(it) => it.id.lookup(db).container,
703+
AssocItem::Const(it) => it.id.lookup(db).container,
704+
AssocItem::TypeAlias(it) => it.id.lookup(db).container,
705+
};
706+
match container {
707+
AssocContainerId::TraitId(id) => AssocItemContainer::Trait(id.into()),
708+
AssocContainerId::ImplId(id) => AssocItemContainer::ImplBlock(id.into()),
709+
AssocContainerId::ContainerId(_) => panic!("invalid AssocItem"),
709710
}
710711
}
711712
}
@@ -818,7 +819,7 @@ impl TypeParam {
818819
}
819820
}
820821

821-
// FIXME: rename to `ImplBlock`
822+
// FIXME: rename from `ImplBlock` to `Impl`
822823
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
823824
pub struct ImplBlock {
824825
pub(crate) id: ImplId,

0 commit comments

Comments
 (0)