Implement IntoFuture type inference

This commit is contained in:
Justin Ridgewell 2022-08-08 20:20:45 -04:00
parent 3792720086
commit 5810c8188a
9 changed files with 75 additions and 22 deletions

View file

@ -2780,6 +2780,8 @@ impl Type {
/// Checks that particular type `ty` implements `std::future::Future`.
/// This function is used in `.await` syntax completion.
pub fn impls_future(&self, db: &dyn HirDatabase) -> bool {
// FIXME: This should be checking for IntoFuture trait, but I don't know how to find the
// right TraitId in this crate.
let std_future_trait = db
.lang_item(self.env.krate, SmolStr::new_inline("future_trait"))
.and_then(|it| it.as_trait());