Unnamed repository; edit this file 'description' to name the repository.
Make GenericParams::lifetimes private
Lukas Wirth 2024-07-02
parent be1ea40 · commit 966798b
-rw-r--r--crates/hir-def/src/child_by_source.rs2
-rw-r--r--crates/hir-def/src/generics.rs2
-rw-r--r--crates/hir-def/src/item_tree/pretty.rs2
-rw-r--r--crates/hir-def/src/resolver.rs2
-rw-r--r--crates/hir-def/src/src.rs2
-rw-r--r--crates/hir-ty/src/generics.rs2
-rw-r--r--crates/hir/src/display.rs4
-rw-r--r--crates/hir/src/lib.rs10
8 files changed, 12 insertions, 14 deletions
diff --git a/crates/hir-def/src/child_by_source.rs b/crates/hir-def/src/child_by_source.rs
index 6ee6d313e9..0438278ca2 100644
--- a/crates/hir-def/src/child_by_source.rs
+++ b/crates/hir-def/src/child_by_source.rs
@@ -215,7 +215,7 @@ impl ChildBySource for GenericDefId {
let generic_params = db.generic_params(*self);
let mut toc_idx_iter = generic_params.iter_type_or_consts().map(|(idx, _)| idx);
- let lts_idx_iter = generic_params.lifetimes.iter().map(|(idx, _)| idx);
+ let lts_idx_iter = generic_params.iter_lt().map(|(idx, _)| idx);
// For traits the first type index is `Self`, skip it.
if let GenericDefId::TraitId(_) = *self {
diff --git a/crates/hir-def/src/generics.rs b/crates/hir-def/src/generics.rs
index fe9004fcc6..1d880c9eee 100644
--- a/crates/hir-def/src/generics.rs
+++ b/crates/hir-def/src/generics.rs
@@ -160,7 +160,7 @@ pub enum GenericParamDataRef<'a> {
#[derive(Clone, PartialEq, Eq, Debug, Hash)]
pub struct GenericParams {
type_or_consts: Arena<TypeOrConstParamData>,
- pub lifetimes: Arena<LifetimeParamData>,
+ lifetimes: Arena<LifetimeParamData>,
where_predicates: Box<[WherePredicate]>,
}
diff --git a/crates/hir-def/src/item_tree/pretty.rs b/crates/hir-def/src/item_tree/pretty.rs
index ad260df80f..6283ae23b5 100644
--- a/crates/hir-def/src/item_tree/pretty.rs
+++ b/crates/hir-def/src/item_tree/pretty.rs
@@ -532,7 +532,7 @@ impl Printer<'_> {
w!(self, "<");
let mut first = true;
- for (idx, lt) in params.lifetimes.iter() {
+ for (idx, lt) in params.iter_lt() {
if !first {
w!(self, ", ");
}
diff --git a/crates/hir-def/src/resolver.rs b/crates/hir-def/src/resolver.rs
index a8cedd7421..e5c1f93bbd 100644
--- a/crates/hir-def/src/resolver.rs
+++ b/crates/hir-def/src/resolver.rs
@@ -775,7 +775,7 @@ impl Scope {
);
}
}
- for (local_id, param) in params.lifetimes.iter() {
+ for (local_id, param) in params.iter_lt() {
let id = LifetimeParamId { parent, local_id };
acc.add(&param.name, ScopeDef::GenericParam(id.into()))
}
diff --git a/crates/hir-def/src/src.rs b/crates/hir-def/src/src.rs
index 278388945c..a0d2079e0d 100644
--- a/crates/hir-def/src/src.rs
+++ b/crates/hir-def/src/src.rs
@@ -103,7 +103,7 @@ impl HasChildSource<LocalLifetimeParamId> for GenericDefId {
db: &dyn DefDatabase,
) -> InFile<ArenaMap<LocalLifetimeParamId, Self::Value>> {
let generic_params = db.generic_params(*self);
- let idx_iter = generic_params.lifetimes.iter().map(|(idx, _)| idx);
+ let idx_iter = generic_params.iter_lt().map(|(idx, _)| idx);
let (file_id, generic_params_list) = self.file_id_and_params_of(db);
diff --git a/crates/hir-ty/src/generics.rs b/crates/hir-ty/src/generics.rs
index 6d20791f6e..7fc60c41d7 100644
--- a/crates/hir-ty/src/generics.rs
+++ b/crates/hir-ty/src/generics.rs
@@ -163,7 +163,7 @@ impl Generics {
fn find_lifetime(&self, lifetime: LifetimeParamId) -> Option<usize> {
if lifetime.parent == self.def {
let idx = lifetime.local_id.into_raw().into_u32() as usize;
- debug_assert!(idx <= self.params.lifetimes.len());
+ debug_assert!(idx <= self.params.len_lifetimes());
Some(self.params.len_type_or_consts() + idx)
} else {
debug_assert_eq!(self.parent_generics().map(|it| it.def), Some(lifetime.parent));
diff --git a/crates/hir/src/display.rs b/crates/hir/src/display.rs
index 05047450af..72e79af75d 100644
--- a/crates/hir/src/display.rs
+++ b/crates/hir/src/display.rs
@@ -539,7 +539,7 @@ fn write_generic_params(
f: &mut HirFormatter<'_>,
) -> Result<(), HirDisplayError> {
let params = f.db.generic_params(def);
- if params.lifetimes.is_empty()
+ if params.iter_lt().next().is_none()
&& params.iter_type_or_consts().all(|it| it.1.const_param().is_none())
&& params
.iter_type_or_consts()
@@ -559,7 +559,7 @@ fn write_generic_params(
f.write_str(", ")
}
};
- for (_, lifetime) in params.lifetimes.iter() {
+ for (_, lifetime) in params.iter_lt() {
delim(f)?;
write!(f, "{}", lifetime.name.display(f.db.upcast()))?;
}
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index 19d91f44a7..18a5325db6 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -665,7 +665,7 @@ impl Module {
}
let parent = impl_def.id.into();
let generic_params = db.generic_params(parent);
- let lifetime_params = generic_params.lifetimes.iter().map(|(local_id, _)| {
+ let lifetime_params = generic_params.iter_lt().map(|(local_id, _)| {
GenericParamId::LifetimeParamId(LifetimeParamId { parent, local_id })
});
let type_params = generic_params
@@ -1540,8 +1540,7 @@ impl Adt {
resolver
.generic_params()
.and_then(|gp| {
- gp.lifetimes
- .iter()
+ gp.iter_lt()
// there should only be a single lifetime
// but `Arena` requires to use an iterator
.nth(0)
@@ -3141,8 +3140,7 @@ impl GenericDef {
pub fn lifetime_params(self, db: &dyn HirDatabase) -> Vec<LifetimeParam> {
let generics = db.generic_params(self.into());
generics
- .lifetimes
- .iter()
+ .iter_lt()
.map(|(local_id, _)| LifetimeParam {
id: LifetimeParamId { parent: self.into(), local_id },
})
@@ -3548,7 +3546,7 @@ pub struct LifetimeParam {
impl LifetimeParam {
pub fn name(self, db: &dyn HirDatabase) -> Name {
let params = db.generic_params(self.id.parent);
- params.lifetimes[self.id.local_id].name.clone()
+ params[self.id.local_id].name.clone()
}
pub fn module(self, db: &dyn HirDatabase) -> Module {