Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/mir/monomorphization.rs')
-rw-r--r--crates/hir-ty/src/mir/monomorphization.rs15
1 files changed, 13 insertions, 2 deletions
diff --git a/crates/hir-ty/src/mir/monomorphization.rs b/crates/hir-ty/src/mir/monomorphization.rs
index d2e413f0a3..d6557c3a81 100644
--- a/crates/hir-ty/src/mir/monomorphization.rs
+++ b/crates/hir-ty/src/mir/monomorphization.rs
@@ -82,6 +82,9 @@ impl FallibleTypeFolder<Interner> for Filler<'_> {
};
filler.try_fold_ty(infer.type_of_rpit[idx].clone(), outer_binder)
}
+ crate::ImplTraitId::AssociatedTypeImplTrait(..) => {
+ not_supported!("associated type impl trait");
+ }
crate::ImplTraitId::AsyncBlockTypeImplTrait(_, _) => {
not_supported!("async block impl trait");
}
@@ -181,8 +184,16 @@ impl Filler<'_> {
self.generics
.as_ref()
.and_then(|it| it.iter().nth(b.index))
- .unwrap()
- .0,
+ .and_then(|(id, _)| match id {
+ hir_def::GenericParamId::ConstParamId(id) => {
+ Some(hir_def::TypeOrConstParamId::from(id))
+ }
+ hir_def::GenericParamId::TypeParamId(id) => {
+ Some(hir_def::TypeOrConstParamId::from(id))
+ }
+ _ => None,
+ })
+ .unwrap(),
self.subst.clone(),
)
})?