about summary refs log tree commit diff
diff options
context:
space:
mode:
authordfireBird <me@dfirebird.dev>2024-03-12 00:05:37 +0530
committerdfireBird <me@dfirebird.dev>2024-03-18 17:18:08 +0530
commit8d08b337fa023a8db4fe6b8dd74eed0efea4e7f1 (patch)
treecbf90d41d084397371043418ab7eff9fe96c26fa
parent490391f576f2d2660537ba0d801f708fd99745cb (diff)
downloadrust-8d08b337fa023a8db4fe6b8dd74eed0efea4e7f1.tar.gz
rust-8d08b337fa023a8db4fe6b8dd74eed0efea4e7f1.zip
include lifetime in the filter for data layout in analysis-stats
clippy fixes
-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 9370a2cee04..63772fb7c1c 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 cadb099c2b8..af5f7bb42a5 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 5c474908e7a..d4e8dcadbd8 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;
             }