Fix iterator hint shortening heuristic

This commit is contained in:
Lukas Wirth 2020-10-12 17:16:57 +02:00
parent fac59f4f28
commit ed59512d02

View File

@ -220,8 +220,8 @@ fn hint_iterator(
}
let iter_trait = FamousDefs(sema, krate).core_iter_Iterator()?;
let iter_mod = FamousDefs(sema, krate).core_iter()?;
// assert this type comes from `core::iter`
iter_mod.visibility_of(db, &iter_trait.into()).filter(|&vis| vis == hir::Visibility::Public)?;
// assert this struct comes from `core::iter`
iter_mod.visibility_of(db, &strukt.into()).filter(|&vis| vis == hir::Visibility::Public)?;
if ty.impls_trait(db, iter_trait, &[]) {
let assoc_type_item = iter_trait.items(db).into_iter().find_map(|item| match item {
hir::AssocItem::TypeAlias(alias) if alias.name(db) == known::Item => Some(alias),