Unnamed repository; edit this file 'description' to name the repository.
include lifetime in the filter for data layout in analysis-stats
clippy fixes
dfireBird 2024-03-18
parent 490391f · commit 8d08b33
-rw-r--r--crates/hir-ty/src/lower.rs2
-rw-r--r--crates/hir-ty/src/utils.rs4
-rw-r--r--crates/rust-analyzer/src/cli/analysis_stats.rs3
3 files changed, 5 insertions, 4 deletions
diff --git a/crates/hir-ty/src/lower.rs b/crates/hir-ty/src/lower.rs
index 9370a2cee0..63772fb7c1 100644
--- a/crates/hir-ty/src/lower.rs
+++ b/crates/hir-ty/src/lower.rs
@@ -1784,7 +1784,7 @@ pub(crate) fn generic_defaults_query(
};
let mut val = p.default.as_ref().map_or_else(
- || unknown_const_as_generic(db.const_param_ty(id.into())),
+ || unknown_const_as_generic(db.const_param_ty(id)),
|c| {
let c = ctx.lower_const(c, ctx.lower_ty(&p.ty));
c.cast(Interner)
diff --git a/crates/hir-ty/src/utils.rs b/crates/hir-ty/src/utils.rs
index cadb099c2b..af5f7bb42a 100644
--- a/crates/hir-ty/src/utils.rs
+++ b/crates/hir-ty/src/utils.rs
@@ -480,10 +480,10 @@ impl Generics {
crate::to_placeholder_idx(db, id.into()).to_ty(Interner).cast(Interner)
}
GenericParamId::ConstParamId(id) => crate::to_placeholder_idx(db, id.into())
- .to_const(Interner, db.const_param_ty(id.into()))
+ .to_const(Interner, db.const_param_ty(id))
.cast(Interner),
GenericParamId::LifetimeParamId(id) => {
- crate::lt_to_placeholder_idx(db, id.into()).to_lifetime(Interner).cast(Interner)
+ crate::lt_to_placeholder_idx(db, id).to_lifetime(Interner).cast(Interner)
}
}),
)
diff --git a/crates/rust-analyzer/src/cli/analysis_stats.rs b/crates/rust-analyzer/src/cli/analysis_stats.rs
index 5c474908e7..d4e8dcadbd 100644
--- a/crates/rust-analyzer/src/cli/analysis_stats.rs
+++ b/crates/rust-analyzer/src/cli/analysis_stats.rs
@@ -279,7 +279,8 @@ impl flags::AnalysisStats {
let mut all = 0;
let mut fail = 0;
for &a in adts {
- if db.generic_params(a.into()).iter().next().is_some() {
+ let generic_params = db.generic_params(a.into());
+ if generic_params.iter().next().is_some() || generic_params.iter_lt().next().is_some() {
// Data types with generics don't have layout.
continue;
}