about summary refs log tree commit diff
path: root/src/librustdoc/html
diff options
context:
space:
mode:
authorKaDiWa <kalle.wachsmuth@gmail.com>2022-08-13 15:50:01 +0200
committerKaDiWa <kalle.wachsmuth@gmail.com>2022-08-13 16:16:52 +0200
commit4eebcb9910c1180791b0e5dba5b3192d0e0046a4 (patch)
treecea770766afe0e4492d81cac7b22f516ad95cd4f /src/librustdoc/html
parent75b7e52e92c3b00fc891b47f5b2efdff0a2be55a (diff)
downloadrust-4eebcb9910c1180791b0e5dba5b3192d0e0046a4.tar.gz
rust-4eebcb9910c1180791b0e5dba5b3192d0e0046a4.zip
avoid cloning and then iterating
Diffstat (limited to 'src/librustdoc/html')
-rw-r--r--src/librustdoc/html/render/search_index.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/librustdoc/html/render/search_index.rs b/src/librustdoc/html/render/search_index.rs
index d672f0bb599..8eb9c07f8a7 100644
--- a/src/librustdoc/html/render/search_index.rs
+++ b/src/librustdoc/html/render/search_index.rs
@@ -544,10 +544,15 @@ fn get_fn_inputs_and_outputs<'tcx>(
             (true, _) => (Some(impl_self), &func.generics),
             (_, true) => (Some(impl_self), impl_generics),
             (false, false) => {
-                let mut params = func.generics.params.clone();
-                params.extend(impl_generics.params.clone());
-                let mut where_predicates = func.generics.where_predicates.clone();
-                where_predicates.extend(impl_generics.where_predicates.clone());
+                let params =
+                    func.generics.params.iter().chain(&impl_generics.params).cloned().collect();
+                let where_predicates = func
+                    .generics
+                    .where_predicates
+                    .iter()
+                    .chain(&impl_generics.where_predicates)
+                    .cloned()
+                    .collect();
                 combined_generics = clean::Generics { params, where_predicates };
                 (Some(impl_self), &combined_generics)
             }