internal: remove one usage of a slow method

This commit is contained in:
Aleksey Kladov 2021-07-20 17:11:09 +03:00
parent 8e0630e728
commit 3c5827cc18
2 changed files with 25 additions and 24 deletions

View file

@ -430,12 +430,6 @@ impl Module {
.collect()
}
pub fn visibility(self, db: &dyn HirDatabase) -> Visibility {
let def_map = self.id.def_map(db.upcast());
let module_data = &def_map[self.id.local_id];
module_data.visibility
}
/// XXX: this O(N) rather O(1) method, avoid using it if you can.
pub fn visibility_of(self, db: &dyn HirDatabase, def: &ModuleDef) -> Option<Visibility> {
let def_map = self.id.def_map(db.upcast());
@ -647,6 +641,14 @@ impl Module {
}
}
impl HasVisibility for Module {
fn visibility(&self, db: &dyn HirDatabase) -> Visibility {
let def_map = self.id.def_map(db.upcast());
let module_data = &def_map[self.id.local_id];
module_data.visibility
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub struct Field {
pub(crate) parent: VariantDef,