Fix clippy::redundant_clone lint violations (#36558)

This removes around 900 unnecessary clones, ranging from cloning a few
ints all the way to large data structures and images.

A lot of these were fixed using `cargo clippy --fix --workspace
--all-targets`, however it often breaks other lints and needs to be run
again. This was then followed up with some manual fixing.

I understand this is a large diff, but all the changes are pretty
trivial. Rust is doing some heavy lifting here for us. Once I get it up
to speed with main, I'd appreciate this getting merged rather sooner
than later.

Release Notes:

- N/A
This commit is contained in:
tidely 2025-08-20 13:20:13 +03:00 committed by GitHub
parent cf7c64d77f
commit 7bdc99abc1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
306 changed files with 805 additions and 1102 deletions

View file

@ -716,10 +716,10 @@ impl BufferSearchBar {
self.replace_enabled = deploy.replace_enabled;
self.selection_search_enabled = deploy.selection_search_enabled;
if deploy.focus {
let mut handle = self.query_editor.focus_handle(cx).clone();
let mut handle = self.query_editor.focus_handle(cx);
let mut select_query = true;
if deploy.replace_enabled && handle.is_focused(window) {
handle = self.replacement_editor.focus_handle(cx).clone();
handle = self.replacement_editor.focus_handle(cx);
select_query = false;
};

View file

@ -42,7 +42,6 @@ impl<T: 'static> SearchActionsRegistrar for DivRegistrar<'_, '_, T> {
self.div = self.div.take().map(|div| {
div.on_action(self.cx.listener(move |this, action, window, cx| {
let should_notify = (getter)(this, window, cx)
.clone()
.map(|search_bar| {
search_bar.update(cx, |search_bar, cx| {
callback.execute(search_bar, action, window, cx)

View file

@ -3716,7 +3716,7 @@ pub mod tests {
window
.update(cx, |_, _, cx| {
search_view.update(cx, |search_view, cx| {
search_view.query_editor.read(cx).text(cx).to_string()
search_view.query_editor.read(cx).text(cx)
})
})
.unwrap()
@ -3883,7 +3883,6 @@ pub mod tests {
// Add a project search item to the second pane
window
.update(cx, {
let search_bar = search_bar.clone();
|workspace, window, cx| {
assert_eq!(workspace.panes().len(), 2);
second_pane.update(cx, |pane, cx| {