diff options
| author | Michael Howell <michael@notriddle.com> | 2023-10-05 18:44:42 -0700 |
|---|---|---|
| committer | Michael Howell <michael@notriddle.com> | 2023-10-22 15:47:34 -0700 |
| commit | aa76a59bf024f7b721e7e0da6d39b30a3f7adbc5 (patch) | |
| tree | 7f21349b17e8650295f0e4f8d9dfa0abc821fdbb | |
| parent | ade7ecf90943a7b865a6281112f8b2bbda55dba2 (diff) | |
| download | rust-aa76a59bf024f7b721e7e0da6d39b30a3f7adbc5.tar.gz rust-aa76a59bf024f7b721e7e0da6d39b30a3f7adbc5.zip | |
Revert "rustdoc: filter before storing in vec"
This reverts commit c79b960747487f6724ebe5b163a22c82a2b636d3.
| -rw-r--r-- | src/librustdoc/html/render/context.rs | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/librustdoc/html/render/context.rs b/src/librustdoc/html/render/context.rs index bf8d1a80337..7e432ecedc5 100644 --- a/src/librustdoc/html/render/context.rs +++ b/src/librustdoc/html/render/context.rs @@ -160,15 +160,8 @@ impl SharedContext<'_> { ) -> Vec<&'a formats::Impl> { let tcx = self.tcx; let cache = &self.cache; - let mut saw_impls = FxHashSet::default(); - let mut v: Vec<&formats::Impl> = cache - .impls - .get(&did) - .map(Vec::as_slice) - .unwrap_or(&[]) - .iter() - .filter(|i| saw_impls.insert(i.def_id())) - .collect(); + let mut v: Vec<&formats::Impl> = + cache.impls.get(&did).map(Vec::as_slice).unwrap_or(&[]).iter().collect(); if let TypeAliasItem(ait) = &*it.kind && let aliased_clean_type = ait.item_type.as_ref().unwrap_or(&ait.type_) && let Some(aliased_type_defid) = aliased_clean_type.def_id(cache) && @@ -189,12 +182,13 @@ impl SharedContext<'_> { v.extend(av.iter().filter(|impl_| { if let Some(impl_def_id) = impl_.impl_item.item_id.as_def_id() { reject_cx.types_may_unify(aliased_ty, tcx.type_of(impl_def_id).skip_binder()) - && saw_impls.insert(impl_def_id) } else { false } })); } + let mut saw_impls = FxHashSet::default(); + v.retain(|i| saw_impls.insert(i.def_id())); v } } |
