Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/infer/closure.rs')
| -rw-r--r-- | crates/hir-ty/src/infer/closure.rs | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/crates/hir-ty/src/infer/closure.rs b/crates/hir-ty/src/infer/closure.rs index 62740f354c..32845ac2e3 100644 --- a/crates/hir-ty/src/infer/closure.rs +++ b/crates/hir-ty/src/infer/closure.rs @@ -177,15 +177,7 @@ impl InferenceContext<'_> { } fn fn_trait_kind_from_trait_id(&self, trait_id: hir_def::TraitId) -> Option<FnTrait> { - utils::fn_traits(self.db.upcast(), self.owner.module(self.db.upcast()).krate()) - .enumerate() - .find_map(|(i, t)| (t == trait_id).then_some(i)) - .map(|i| match i { - 0 => FnTrait::Fn, - 1 => FnTrait::FnMut, - 2 => FnTrait::FnOnce, - _ => unreachable!(), - }) + FnTrait::from_lang_item(self.db.lang_attr(trait_id.into())?) } } |