Add fix for incorrect case diagnostic
This commit is contained in:
@@ -257,34 +257,22 @@ impl ModuleDef {
|
||||
}
|
||||
|
||||
pub fn diagnostics(self, db: &dyn HirDatabase, sink: &mut DiagnosticSink) {
|
||||
match self {
|
||||
let id = match self {
|
||||
ModuleDef::Adt(it) => match it {
|
||||
Adt::Struct(it) => {
|
||||
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
|
||||
}
|
||||
Adt::Enum(it) => hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink),
|
||||
Adt::Union(it) => hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink),
|
||||
Adt::Struct(it) => it.id.into(),
|
||||
Adt::Enum(it) => it.id.into(),
|
||||
Adt::Union(it) => it.id.into(),
|
||||
},
|
||||
ModuleDef::Trait(it) => {
|
||||
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
|
||||
}
|
||||
ModuleDef::Function(it) => {
|
||||
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
|
||||
}
|
||||
ModuleDef::TypeAlias(it) => {
|
||||
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
|
||||
}
|
||||
ModuleDef::Module(it) => {
|
||||
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
|
||||
}
|
||||
ModuleDef::Const(it) => {
|
||||
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
|
||||
}
|
||||
ModuleDef::Static(it) => {
|
||||
hir_ty::diagnostics::validate_module_item(db, it.id.into(), sink)
|
||||
}
|
||||
ModuleDef::Trait(it) => it.id.into(),
|
||||
ModuleDef::Function(it) => it.id.into(),
|
||||
ModuleDef::TypeAlias(it) => it.id.into(),
|
||||
ModuleDef::Module(it) => it.id.into(),
|
||||
ModuleDef::Const(it) => it.id.into(),
|
||||
ModuleDef::Static(it) => it.id.into(),
|
||||
_ => return,
|
||||
}
|
||||
};
|
||||
|
||||
hir_ty::diagnostics::validate_module_item(db, id, sink)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -389,6 +377,8 @@ impl Module {
|
||||
let crate_def_map = db.crate_def_map(self.id.krate);
|
||||
crate_def_map.add_diagnostics(db.upcast(), self.id.local_id, sink);
|
||||
for decl in self.declarations(db) {
|
||||
decl.diagnostics(db, sink);
|
||||
|
||||
match decl {
|
||||
crate::ModuleDef::Function(f) => f.diagnostics(db, sink),
|
||||
crate::ModuleDef::Module(m) => {
|
||||
|
||||
Reference in New Issue
Block a user