internal: remove erroneous Default impl for ModuleOrigin

In rust-analyzer, we avoid defualt impls for types which don't have
sensible, "empty" defaults. In particular, we avoid using invalid
indices for defaults and similar hacks.
This commit is contained in:
Aleksey Kladov 2021-07-12 20:00:17 +03:00
parent 745be39383
commit 107e07458c

View File

@ -145,12 +145,6 @@ pub enum ModuleOrigin {
},
}
impl Default for ModuleOrigin {
fn default() -> Self {
ModuleOrigin::CrateRoot { definition: FileId(0) }
}
}
impl ModuleOrigin {
fn declaration(&self) -> Option<AstId<ast::Module>> {
match self {
@ -196,7 +190,7 @@ impl ModuleOrigin {
}
}
#[derive(Default, Debug, PartialEq, Eq)]
#[derive(Debug, PartialEq, Eq)]
pub struct ModuleData {
pub parent: Option<LocalModuleId>,
pub children: FxHashMap<Name, LocalModuleId>,
@ -206,6 +200,17 @@ pub struct ModuleData {
pub origin: ModuleOrigin,
}
impl Default for ModuleData {
fn default() -> Self {
ModuleData {
parent: None,
children: FxHashMap::default(),
scope: ItemScope::default(),
origin: ModuleOrigin::CrateRoot { definition: FileId(!0) },
}
}
}
impl DefMap {
pub(crate) fn crate_def_map_query(db: &dyn DefDatabase, krate: CrateId) -> Arc<DefMap> {
let _p = profile::span("crate_def_map_query").detail(|| {