Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/context.rs')
-rw-r--r--crates/ide-completion/src/context.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/crates/ide-completion/src/context.rs b/crates/ide-completion/src/context.rs
index e4d599742d..df62829269 100644
--- a/crates/ide-completion/src/context.rs
+++ b/crates/ide-completion/src/context.rs
@@ -729,6 +729,13 @@ impl<'db> CompletionContext<'_, 'db> {
vec![]
}
}
+
+ pub(crate) fn rebase_ty(&self, ty: &hir::Type<'db>) -> hir::Type<'db> {
+ self.scope
+ .generic_def()
+ .and_then(|def| ty.try_rebase_into_owner(self.db, def))
+ .unwrap_or_else(|| ty.instantiate_with_errors())
+ }
}
// CompletionContext construction