From 0d5de88c4b5ad369fa41953a9831db3f27868b09 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Thu, 25 Jul 2024 22:48:42 +0200 Subject: [PATCH] chore: Bump Rust version to 1.80 (#15186) Release Notes: - N/A --- Dockerfile | 2 +- .../src/slash_command/diagnostics_command.rs | 2 +- .../src/slash_command/file_command.rs | 2 +- crates/editor/src/editor.rs | 18 ++++------------- crates/editor/src/selections_collection.rs | 4 ++-- crates/editor/src/test/editor_test_context.rs | 2 +- crates/file_finder/src/file_finder.rs | 20 +++++++++---------- crates/fuzzy/src/matcher.rs | 7 ++++++- crates/fuzzy/src/paths.rs | 2 +- .../gpui/src/platform/linux/wayland/client.rs | 2 ++ .../gpui/src/platform/linux/wayland/window.rs | 1 + crates/gpui/src/shared_string.rs | 2 +- crates/language/src/buffer.rs | 4 ++-- crates/language/src/language.rs | 2 +- crates/lsp/src/lsp.rs | 2 +- crates/markdown/src/markdown.rs | 11 +--------- crates/multi_buffer/src/multi_buffer.rs | 2 +- crates/project/src/project.rs | 2 +- crates/rich_text/src/rich_text.rs | 15 +------------- crates/tab_switcher/src/tab_switcher.rs | 2 +- crates/worktree/src/worktree.rs | 4 ++-- rust-toolchain.toml | 2 +- 22 files changed, 43 insertions(+), 67 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6c8d3dab3b..7d4b6b77c9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax = docker/dockerfile:1.2 -FROM rust:1.79-bookworm as builder +FROM rust:1.80-bookworm as builder WORKDIR app COPY . . diff --git a/crates/assistant/src/slash_command/diagnostics_command.rs b/crates/assistant/src/slash_command/diagnostics_command.rs index 723deb1f1a..1e9d0503a0 100644 --- a/crates/assistant/src/slash_command/diagnostics_command.rs +++ b/crates/assistant/src/slash_command/diagnostics_command.rs @@ -33,7 +33,7 @@ impl DiagnosticsSlashCommand { if query.is_empty() { let workspace = workspace.read(cx); let entries = workspace.recent_navigation_history(Some(10), cx); - let path_prefix: Arc = "".into(); + let path_prefix: Arc = Arc::default(); Task::ready( entries .into_iter() diff --git a/crates/assistant/src/slash_command/file_command.rs b/crates/assistant/src/slash_command/file_command.rs index 849ece17d2..c70c44fe52 100644 --- a/crates/assistant/src/slash_command/file_command.rs +++ b/crates/assistant/src/slash_command/file_command.rs @@ -29,7 +29,7 @@ impl FileSlashCommand { let workspace = workspace.read(cx); let project = workspace.project().read(cx); let entries = workspace.recent_navigation_history(Some(10), cx); - let path_prefix: Arc = "".into(); + let path_prefix: Arc = Arc::default(); Task::ready( entries .into_iter() diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index f402be288b..cd63548898 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -408,6 +408,7 @@ impl EditorActionId { type BackgroundHighlight = (fn(&ThemeColors) -> Hsla, Arc<[Range]>); type GutterHighlight = (fn(&AppContext) -> Hsla, Arc<[Range]>); +#[derive(Default)] struct ScrollbarMarkerState { scrollbar_size: Size, dirty: bool, @@ -421,17 +422,6 @@ impl ScrollbarMarkerState { } } -impl Default for ScrollbarMarkerState { - fn default() -> Self { - Self { - scrollbar_size: Size::default(), - dirty: false, - markers: Arc::from([]), - pending_refresh: None, - } - } -} - #[derive(Clone, Debug)] struct RunnableTasks { templates: Vec<(TaskSourceKind, TaskTemplate)>, @@ -5730,7 +5720,7 @@ impl Editor { self.transact(cx, |this, cx| { this.buffer.update(cx, |buffer, cx| { - let empty_str: Arc = "".into(); + let empty_str: Arc = Arc::default(); buffer.edit( deletion_ranges .into_iter() @@ -5796,7 +5786,7 @@ impl Editor { self.transact(cx, |this, cx| { let buffer = this.buffer.update(cx, |buffer, cx| { - let empty_str: Arc = "".into(); + let empty_str: Arc = Arc::default(); buffer.edit( edit_ranges .into_iter() @@ -8097,7 +8087,7 @@ impl Editor { let mut selection_edit_ranges = Vec::new(); let mut last_toggled_row = None; let snapshot = this.buffer.read(cx).read(cx); - let empty_str: Arc = "".into(); + let empty_str: Arc = Arc::default(); let mut suffixes_inserted = Vec::new(); fn comment_prefix_range( diff --git a/crates/editor/src/selections_collection.rs b/crates/editor/src/selections_collection.rs index 4161792af5..7ce3a93012 100644 --- a/crates/editor/src/selections_collection.rs +++ b/crates/editor/src/selections_collection.rs @@ -44,7 +44,7 @@ impl SelectionsCollection { buffer, next_selection_id: 1, line_mode: false, - disjoint: Arc::from([]), + disjoint: Arc::default(), pending: Some(PendingSelection { selection: Selection { id: 0, @@ -398,7 +398,7 @@ impl<'a> MutableSelectionsCollection<'a> { } pub fn clear_disjoint(&mut self) { - self.collection.disjoint = Arc::from([]); + self.collection.disjoint = Arc::default(); } pub fn delete(&mut self, selection_id: usize) { diff --git a/crates/editor/src/test/editor_test_context.rs b/crates/editor/src/test/editor_test_context.rs index 302d012885..89a47eaa03 100644 --- a/crates/editor/src/test/editor_test_context.rs +++ b/crates/editor/src/test/editor_test_context.rs @@ -327,7 +327,7 @@ impl EditorTestContext { .background_highlights .get(&TypeId::of::()) .map(|h| h.1.clone()) - .unwrap_or_else(|| Arc::from([])) + .unwrap_or_else(|| Arc::default()) .into_iter() .map(|range| range.to_offset(&snapshot.buffer_snapshot)) .collect() diff --git a/crates/file_finder/src/file_finder.rs b/crates/file_finder/src/file_finder.rs index 74337c18d8..9f7b163a31 100644 --- a/crates/file_finder/src/file_finder.rs +++ b/crates/file_finder/src/file_finder.rs @@ -998,7 +998,7 @@ mod tests { positions: Vec::new(), worktree_id: 0, path: Arc::from(Path::new("b0.5")), - path_prefix: Arc::from(""), + path_prefix: Arc::default(), distance_to_relative_ancestor: 0, }), ProjectPanelOrdMatch(PathMatch { @@ -1006,7 +1006,7 @@ mod tests { positions: Vec::new(), worktree_id: 0, path: Arc::from(Path::new("c1.0")), - path_prefix: Arc::from(""), + path_prefix: Arc::default(), distance_to_relative_ancestor: 0, }), ProjectPanelOrdMatch(PathMatch { @@ -1014,7 +1014,7 @@ mod tests { positions: Vec::new(), worktree_id: 0, path: Arc::from(Path::new("a1.0")), - path_prefix: Arc::from(""), + path_prefix: Arc::default(), distance_to_relative_ancestor: 0, }), ProjectPanelOrdMatch(PathMatch { @@ -1022,7 +1022,7 @@ mod tests { positions: Vec::new(), worktree_id: 0, path: Arc::from(Path::new("a0.5")), - path_prefix: Arc::from(""), + path_prefix: Arc::default(), distance_to_relative_ancestor: 0, }), ProjectPanelOrdMatch(PathMatch { @@ -1030,7 +1030,7 @@ mod tests { positions: Vec::new(), worktree_id: 0, path: Arc::from(Path::new("b1.0")), - path_prefix: Arc::from(""), + path_prefix: Arc::default(), distance_to_relative_ancestor: 0, }), ]; @@ -1044,7 +1044,7 @@ mod tests { positions: Vec::new(), worktree_id: 0, path: Arc::from(Path::new("a1.0")), - path_prefix: Arc::from(""), + path_prefix: Arc::default(), distance_to_relative_ancestor: 0, }), ProjectPanelOrdMatch(PathMatch { @@ -1052,7 +1052,7 @@ mod tests { positions: Vec::new(), worktree_id: 0, path: Arc::from(Path::new("b1.0")), - path_prefix: Arc::from(""), + path_prefix: Arc::default(), distance_to_relative_ancestor: 0, }), ProjectPanelOrdMatch(PathMatch { @@ -1060,7 +1060,7 @@ mod tests { positions: Vec::new(), worktree_id: 0, path: Arc::from(Path::new("c1.0")), - path_prefix: Arc::from(""), + path_prefix: Arc::default(), distance_to_relative_ancestor: 0, }), ProjectPanelOrdMatch(PathMatch { @@ -1068,7 +1068,7 @@ mod tests { positions: Vec::new(), worktree_id: 0, path: Arc::from(Path::new("a0.5")), - path_prefix: Arc::from(""), + path_prefix: Arc::default(), distance_to_relative_ancestor: 0, }), ProjectPanelOrdMatch(PathMatch { @@ -1076,7 +1076,7 @@ mod tests { positions: Vec::new(), worktree_id: 0, path: Arc::from(Path::new("b0.5")), - path_prefix: Arc::from(""), + path_prefix: Arc::default(), distance_to_relative_ancestor: 0, }), ] diff --git a/crates/fuzzy/src/matcher.rs b/crates/fuzzy/src/matcher.rs index 9b0d62893b..d3b02086c9 100644 --- a/crates/fuzzy/src/matcher.rs +++ b/crates/fuzzy/src/matcher.rs @@ -404,7 +404,12 @@ mod tests { #[test] fn test_match_multibyte_path_entries() { - let paths = vec!["aαbβ/cγdδ", "αβγδ/bcde", "c1️⃣2️⃣3️⃣/d4️⃣5️⃣6️⃣/e7️⃣8️⃣9️⃣/f", "/d/🆒/h"]; + let paths = vec![ + "aαbβ/cγdδ", + "αβγδ/bcde", + "c1️⃣2️⃣3️⃣/d4️⃣5️⃣6️⃣/e7️⃣8️⃣9️⃣/f", + "/d/🆒/h", + ]; assert_eq!("1️⃣".len(), 7); assert_eq!( match_single_path_query("bcd", false, &paths), diff --git a/crates/fuzzy/src/paths.rs b/crates/fuzzy/src/paths.rs index 25927f1829..73192517e5 100644 --- a/crates/fuzzy/src/paths.rs +++ b/crates/fuzzy/src/paths.rs @@ -120,7 +120,7 @@ pub fn match_fixed_path_set( worktree_id, positions: Vec::new(), path: Arc::from(candidate.path), - path_prefix: Arc::from(""), + path_prefix: Arc::default(), distance_to_relative_ancestor: usize::MAX, }, ); diff --git a/crates/gpui/src/platform/linux/wayland/client.rs b/crates/gpui/src/platform/linux/wayland/client.rs index c97fe24f39..7462819899 100644 --- a/crates/gpui/src/platform/linux/wayland/client.rs +++ b/crates/gpui/src/platform/linux/wayland/client.rs @@ -395,6 +395,7 @@ impl WaylandClient { let qh = event_queue.handle(); let mut seat: Option = None; + #[allow(clippy::mutable_key_type)] let mut in_progress_outputs = HashMap::default(); globals.contents().with_list(|list| { for global in list { @@ -874,6 +875,7 @@ impl Dispatch for WaylandClientStatePtr { let Some(window) = get_window(&mut state, &surface.id()) else { return; }; + #[allow(clippy::mutable_key_type)] let outputs = state.outputs.clone(); drop(state); diff --git a/crates/gpui/src/platform/linux/wayland/window.rs b/crates/gpui/src/platform/linux/wayland/window.rs index c43ec18d08..9ec5e9e2c0 100644 --- a/crates/gpui/src/platform/linux/wayland/window.rs +++ b/crates/gpui/src/platform/linux/wayland/window.rs @@ -545,6 +545,7 @@ impl WaylandWindowStatePtr { } } + #[allow(clippy::mutable_key_type)] pub fn handle_surface_event( &self, event: wl_surface::Event, diff --git a/crates/gpui/src/shared_string.rs b/crates/gpui/src/shared_string.rs index 1aa1bcae95..efdf32388d 100644 --- a/crates/gpui/src/shared_string.rs +++ b/crates/gpui/src/shared_string.rs @@ -10,7 +10,7 @@ pub struct SharedString(ArcCow<'static, str>); impl Default for SharedString { fn default() -> Self { - Self(ArcCow::Owned("".into())) + Self(ArcCow::Owned(Arc::default())) } } diff --git a/crates/language/src/buffer.rs b/crates/language/src/buffer.rs index 0d2ed42c54..27e6222f03 100644 --- a/crates/language/src/buffer.rs +++ b/crates/language/src/buffer.rs @@ -1402,7 +1402,7 @@ impl Buffer { LineEnding::normalize(&mut new_text); let diff = TextDiff::from_chars(old_text.as_str(), new_text.as_str()); - let empty: Arc = "".into(); + let empty: Arc = Arc::default(); let mut edits = Vec::new(); let mut old_offset = 0; @@ -1720,7 +1720,7 @@ impl Buffer { .get(&self.text.replica_id()) .map_or(true, |set| !set.selections.is_empty()) { - self.set_active_selections(Arc::from([]), false, Default::default(), cx); + self.set_active_selections(Arc::default(), false, Default::default(), cx); } } diff --git a/crates/language/src/language.rs b/crates/language/src/language.rs index c07090fd95..03f14321ad 100644 --- a/crates/language/src/language.rs +++ b/crates/language/src/language.rs @@ -682,7 +682,7 @@ impl Override { impl Default for LanguageConfig { fn default() -> Self { Self { - name: "".into(), + name: Arc::default(), code_fence_block_name: None, grammar: None, matcher: LanguageMatcher::default(), diff --git a/crates/lsp/src/lsp.rs b/crates/lsp/src/lsp.rs index d3cce5dbe3..30feffad97 100644 --- a/crates/lsp/src/lsp.rs +++ b/crates/lsp/src/lsp.rs @@ -389,7 +389,7 @@ impl LanguageServer { notification_handlers, response_handlers, io_handlers, - name: "".into(), + name: Arc::default(), capabilities: Default::default(), code_action_kinds, next_id: Default::default(), diff --git a/crates/markdown/src/markdown.rs b/crates/markdown/src/markdown.rs index 915c3b0d4f..379df9e862 100644 --- a/crates/markdown/src/markdown.rs +++ b/crates/markdown/src/markdown.rs @@ -216,7 +216,7 @@ impl Selection { } } -#[derive(Clone)] +#[derive(Clone, Default)] pub struct ParsedMarkdown { source: SharedString, events: Arc<[(Range, MarkdownEvent)]>, @@ -232,15 +232,6 @@ impl ParsedMarkdown { } } -impl Default for ParsedMarkdown { - fn default() -> Self { - Self { - source: SharedString::default(), - events: Arc::from([]), - } - } -} - pub struct MarkdownElement { markdown: View, style: MarkdownStyle, diff --git a/crates/multi_buffer/src/multi_buffer.rs b/crates/multi_buffer/src/multi_buffer.rs index 0ee107dcf6..1478e254f1 100644 --- a/crates/multi_buffer/src/multi_buffer.rs +++ b/crates/multi_buffer/src/multi_buffer.rs @@ -673,7 +673,7 @@ impl MultiBuffer { let mut insertions = Vec::new(); let mut original_indent_columns = Vec::new(); let mut deletions = Vec::new(); - let empty_str: Arc = "".into(); + let empty_str: Arc = Arc::default(); while let Some(BufferEdit { mut range, new_text, diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index c937362a50..7bd6378f40 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -10844,7 +10844,7 @@ impl<'a> fuzzy::PathMatchCandidateSet<'a> for PathMatchCandidateSet { } else if self.include_root_name { format!("{}/", self.snapshot.root_name()).into() } else { - "".into() + Arc::default() } } diff --git a/crates/rich_text/src/rich_text.rs b/crates/rich_text/src/rich_text.rs index 16c4473e07..2c4b2ca8ee 100644 --- a/crates/rich_text/src/rich_text.rs +++ b/crates/rich_text/src/rich_text.rs @@ -31,7 +31,7 @@ impl From for Highlight { } } -#[derive(Clone)] +#[derive(Clone, Default)] pub struct RichText { pub text: SharedString, pub highlights: Vec<(Range, Highlight)>, @@ -43,19 +43,6 @@ pub struct RichText { Option, &mut WindowContext) -> Option>>, } -impl Default for RichText { - fn default() -> Self { - Self { - text: SharedString::default(), - highlights: Vec::new(), - link_ranges: Vec::new(), - link_urls: Arc::from([]), - custom_ranges: Vec::new(), - custom_ranges_tooltip_fn: None, - } - } -} - /// Allows one to specify extra links to the rendered markdown, which can be used /// for e.g. mentions. #[derive(Debug)] diff --git a/crates/tab_switcher/src/tab_switcher.rs b/crates/tab_switcher/src/tab_switcher.rs index 232c0b37c9..bfbd1aae0d 100644 --- a/crates/tab_switcher/src/tab_switcher.rs +++ b/crates/tab_switcher/src/tab_switcher.rs @@ -264,7 +264,7 @@ impl PickerDelegate for TabSwitcherDelegate { type ListItem = ListItem; fn placeholder_text(&self, _cx: &mut WindowContext) -> Arc { - "".into() + Arc::default() } fn no_matches_text(&self, _cx: &mut WindowContext) -> SharedString { diff --git a/crates/worktree/src/worktree.rs b/crates/worktree/src/worktree.rs index 6834e1017d..19c91d9595 100644 --- a/crates/worktree/src/worktree.rs +++ b/crates/worktree/src/worktree.rs @@ -510,7 +510,7 @@ impl Worktree { } } }; - cx.emit(Event::UpdatedEntries(Arc::from([]))); + cx.emit(Event::UpdatedEntries(Arc::default())); cx.notify(); while let Some((scan_id, _)) = this.snapshot_subscriptions.front() { if this.observed_snapshot(*scan_id) { @@ -1698,7 +1698,7 @@ impl LocalWorktree { let (snapshots_tx, mut snapshots_rx) = mpsc::unbounded::<(LocalSnapshot, UpdatedEntriesSet, UpdatedGitRepositoriesSet)>(); snapshots_tx - .unbounded_send((self.snapshot(), Arc::from([]), Arc::from([]))) + .unbounded_send((self.snapshot(), Arc::default(), Arc::default())) .ok(); let worktree_id = cx.entity_id().as_u64(); diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 8d422bd518..9c975c4b4b 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "1.79" +channel = "1.80" profile = "minimal" components = [ "rustfmt", "clippy" ] targets = [ "x86_64-apple-darwin", "aarch64-apple-darwin", "x86_64-unknown-linux-gnu", "wasm32-wasi" ]