Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/builder.rs')
-rw-r--r--crates/hir-ty/src/builder.rs15
1 files changed, 7 insertions, 8 deletions
diff --git a/crates/hir-ty/src/builder.rs b/crates/hir-ty/src/builder.rs
index 2898ab7b49..163510602b 100644
--- a/crates/hir-ty/src/builder.rs
+++ b/crates/hir-ty/src/builder.rs
@@ -209,12 +209,12 @@ impl TyBuilder<()> {
}
pub fn placeholder_subst(db: &dyn HirDatabase, def: impl Into<GenericDefId>) -> Substitution {
- let params = generics(db.upcast(), def.into());
+ let params = generics(db, def.into());
params.placeholder_subst(db)
}
pub fn unknown_subst(db: &dyn HirDatabase, def: impl Into<GenericDefId>) -> Substitution {
- let params = generics(db.upcast(), def.into());
+ let params = generics(db, def.into());
Substitution::from_iter(
Interner,
params.iter_id().map(|id| match id {
@@ -233,7 +233,7 @@ impl TyBuilder<()> {
def: impl Into<GenericDefId>,
parent_subst: Option<Substitution>,
) -> TyBuilder<()> {
- let generics = generics(db.upcast(), def.into());
+ let generics = generics(db, def.into());
assert!(generics.parent_generics().is_some() == parent_subst.is_some());
let params = generics
.iter_self()
@@ -259,9 +259,8 @@ impl TyBuilder<()> {
/// This method prepopulates the builder with placeholder substitution of `parent`, so you
/// should only push exactly 3 `GenericArg`s before building.
pub fn subst_for_coroutine(db: &dyn HirDatabase, parent: DefWithBodyId) -> TyBuilder<()> {
- let parent_subst = parent
- .as_generic_def_id(db.upcast())
- .map(|p| generics(db.upcast(), p).placeholder_subst(db));
+ let parent_subst =
+ parent.as_generic_def_id(db).map(|p| generics(db, p).placeholder_subst(db));
// These represent resume type, yield type, and return type of coroutine.
let params = std::iter::repeat_n(ParamKind::Type, 3).collect();
TyBuilder::new((), params, parent_subst)
@@ -274,13 +273,13 @@ impl TyBuilder<()> {
) -> Substitution {
let sig_ty = sig_ty.cast(Interner);
let self_subst = iter::once(&sig_ty);
- let Some(parent) = parent.as_generic_def_id(db.upcast()) else {
+ let Some(parent) = parent.as_generic_def_id(db) else {
return Substitution::from_iter(Interner, self_subst);
};
Substitution::from_iter(
Interner,
self_subst
- .chain(generics(db.upcast(), parent).placeholder_subst(db).iter(Interner))
+ .chain(generics(db, parent).placeholder_subst(db).iter(Interner))
.cloned()
.collect::<Vec<_>>(),
)