mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-28 04:44:57 +00:00
incorrect case diagnostics for type aliases
This commit is contained in:
parent
0ffc088439
commit
080d223dd4
3 changed files with 76 additions and 15 deletions
|
@ -565,13 +565,7 @@ impl Module {
|
|||
}
|
||||
|
||||
for item in t.items(db) {
|
||||
let def: DefWithBody = match item {
|
||||
AssocItem::Function(it) => it.into(),
|
||||
AssocItem::Const(it) => it.into(),
|
||||
AssocItem::TypeAlias(_) => continue,
|
||||
};
|
||||
|
||||
def.diagnostics(db, acc);
|
||||
item.diagnostics(db, acc);
|
||||
}
|
||||
|
||||
acc.extend(def.diagnostics(db))
|
||||
|
@ -741,13 +735,7 @@ impl Module {
|
|||
}
|
||||
|
||||
for &item in &db.impl_data(impl_def.id).items {
|
||||
let def: DefWithBody = match AssocItem::from(item) {
|
||||
AssocItem::Function(it) => it.into(),
|
||||
AssocItem::Const(it) => it.into(),
|
||||
AssocItem::TypeAlias(_) => continue,
|
||||
};
|
||||
|
||||
def.diagnostics(db, acc);
|
||||
AssocItem::from(item).diagnostics(db, acc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2662,6 +2650,22 @@ impl AssocItem {
|
|||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn diagnostics(self, db: &dyn HirDatabase, acc: &mut Vec<AnyDiagnostic>) {
|
||||
match self {
|
||||
AssocItem::Function(func) => {
|
||||
DefWithBody::from(func).diagnostics(db, acc);
|
||||
}
|
||||
AssocItem::Const(const_) => {
|
||||
DefWithBody::from(const_).diagnostics(db, acc);
|
||||
}
|
||||
AssocItem::TypeAlias(type_alias) => {
|
||||
for diag in hir_ty::diagnostics::incorrect_case(db, type_alias.id.into()) {
|
||||
acc.push(diag.into());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl HasVisibility for AssocItem {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue