Skip to content

Commit 83acb2e

Browse files
tidelydive
authored andcommitted
zed: Reduce clones (zed-industries#30550)
A collection of small patches that reduce clones. Mostly by using owned iterators where possible. Release Notes: - N/A
1 parent 50c0e71 commit 83acb2e

File tree

8 files changed

+22
-23
lines changed

8 files changed

+22
-23
lines changed

crates/agent/src/thread.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2241,7 +2241,7 @@ impl Thread {
22412241
.read(cx)
22422242
.enabled_tools(cx)
22432243
.iter()
2244-
.map(|tool| tool.name().to_string())
2244+
.map(|tool| tool.name())
22452245
.collect();
22462246

22472247
self.message_feedback.insert(message_id, feedback);

crates/agent/src/thread_store.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -486,8 +486,8 @@ impl ThreadStore {
486486
ToolSource::Native,
487487
&profile
488488
.tools
489-
.iter()
490-
.filter_map(|(tool, enabled)| enabled.then(|| tool.clone()))
489+
.into_iter()
490+
.filter_map(|(tool, enabled)| enabled.then(|| tool))
491491
.collect::<Vec<_>>(),
492492
cx,
493493
);
@@ -511,32 +511,32 @@ impl ThreadStore {
511511
});
512512
}
513513
// Enable all the tools from all context servers, but disable the ones that are explicitly disabled
514-
for (context_server_id, preset) in &profile.context_servers {
514+
for (context_server_id, preset) in profile.context_servers {
515515
self.tools.update(cx, |tools, cx| {
516516
tools.disable(
517517
ToolSource::ContextServer {
518-
id: context_server_id.clone().into(),
518+
id: context_server_id.into(),
519519
},
520520
&preset
521521
.tools
522-
.iter()
523-
.filter_map(|(tool, enabled)| (!enabled).then(|| tool.clone()))
522+
.into_iter()
523+
.filter_map(|(tool, enabled)| (!enabled).then(|| tool))
524524
.collect::<Vec<_>>(),
525525
cx,
526526
)
527527
})
528528
}
529529
} else {
530-
for (context_server_id, preset) in &profile.context_servers {
530+
for (context_server_id, preset) in profile.context_servers {
531531
self.tools.update(cx, |tools, cx| {
532532
tools.enable(
533533
ToolSource::ContextServer {
534-
id: context_server_id.clone().into(),
534+
id: context_server_id.into(),
535535
},
536536
&preset
537537
.tools
538-
.iter()
539-
.filter_map(|(tool, enabled)| enabled.then(|| tool.clone()))
538+
.into_iter()
539+
.filter_map(|(tool, enabled)| enabled.then(|| tool))
540540
.collect::<Vec<_>>(),
541541
cx,
542542
)

crates/assistant_context_editor/src/slash_command.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,8 +278,8 @@ impl CompletionProvider for SlashCommandCompletionProvider {
278278
buffer.anchor_after(Point::new(position.row, first_arg_start.start as u32));
279279
let arguments = call
280280
.arguments
281-
.iter()
282-
.filter_map(|argument| Some(line.get(argument.clone())?.to_string()))
281+
.into_iter()
282+
.filter_map(|argument| Some(line.get(argument)?.to_string()))
283283
.collect::<Vec<_>>();
284284
let argument_range = first_arg_start..buffer_position;
285285
(

crates/git_ui/src/branch_picker.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -306,8 +306,7 @@ impl PickerDelegate for BranchListDelegate {
306306
cx.background_executor().clone(),
307307
)
308308
.await
309-
.iter()
310-
.cloned()
309+
.into_iter()
311310
.map(|candidate| BranchEntry {
312311
branch: all_branches[candidate.candidate_id].clone(),
313312
positions: candidate.positions,

crates/git_ui/src/git_panel.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1051,8 +1051,8 @@ impl GitPanel {
10511051
repo.checkout_files(
10521052
"HEAD",
10531053
entries
1054-
.iter()
1055-
.map(|entries| entries.repo_path.clone())
1054+
.into_iter()
1055+
.map(|entries| entries.repo_path)
10561056
.collect(),
10571057
cx,
10581058
)

crates/inline_completion_button/src/inline_completion_button.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -857,7 +857,7 @@ async fn open_disabled_globs_setting_in_editor(
857857
});
858858

859859
if !edits.is_empty() {
860-
item.edit(edits.iter().cloned(), cx);
860+
item.edit(edits, cx);
861861
}
862862

863863
let text = item.buffer().read(cx).snapshot(cx).text();

crates/language_tools/src/lsp_log.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1238,12 +1238,12 @@ impl Render for LspLogToolbarItemView {
12381238
}
12391239
});
12401240
let available_language_servers: Vec<_> = menu_rows
1241-
.iter()
1241+
.into_iter()
12421242
.map(|row| {
12431243
(
12441244
row.server_id,
1245-
row.server_name.clone(),
1246-
row.worktree_root_name.clone(),
1245+
row.server_name,
1246+
row.worktree_root_name,
12471247
row.selected_entry,
12481248
)
12491249
})

crates/project/src/git_store.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4278,9 +4278,9 @@ impl Repository {
42784278
}));
42794279
}
42804280
let mut cursor = prev_statuses.cursor::<PathProgress>(&());
4281-
for path in changed_paths.iter() {
4281+
for path in changed_paths.into_iter() {
42824282
if cursor.seek_forward(&PathTarget::Path(&path), Bias::Left, &()) {
4283-
changed_path_statuses.push(Edit::Remove(PathKey(path.0.clone())));
4283+
changed_path_statuses.push(Edit::Remove(PathKey(path.0)));
42844284
}
42854285
}
42864286
changed_path_statuses

0 commit comments

Comments
 (0)