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 . .
Piotr Osiewicz created
Release Notes:
- N/A
Dockerfile | 2
crates/assistant/src/slash_command/diagnostics_command.rs | 2
crates/assistant/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
crates/gpui/src/platform/linux/wayland/client.rs | 2
crates/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(-)
@@ -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 . .
@@ -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<str> = "".into();
+ let path_prefix: Arc<str> = Arc::default();
Task::ready(
entries
.into_iter()
@@ -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<str> = "".into();
+ let path_prefix: Arc<str> = Arc::default();
Task::ready(
entries
.into_iter()
@@ -408,6 +408,7 @@ impl EditorActionId {
type BackgroundHighlight = (fn(&ThemeColors) -> Hsla, Arc<[Range<Anchor>]>);
type GutterHighlight = (fn(&AppContext) -> Hsla, Arc<[Range<Anchor>]>);
+#[derive(Default)]
struct ScrollbarMarkerState {
scrollbar_size: Size<Pixels>,
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<str> = "".into();
+ let empty_str: Arc<str> = 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<str> = "".into();
+ let empty_str: Arc<str> = 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<str> = "".into();
+ let empty_str: Arc<str> = Arc::default();
let mut suffixes_inserted = Vec::new();
fn comment_prefix_range(
@@ -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) {
@@ -327,7 +327,7 @@ impl EditorTestContext {
.background_highlights
.get(&TypeId::of::<Tag>())
.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()
@@ -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,
}),
]
@@ -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),
@@ -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,
},
);
@@ -395,6 +395,7 @@ impl WaylandClient {
let qh = event_queue.handle();
let mut seat: Option<wl_seat::WlSeat> = 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<wl_surface::WlSurface, ()> 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);
@@ -545,6 +545,7 @@ impl WaylandWindowStatePtr {
}
}
+ #[allow(clippy::mutable_key_type)]
pub fn handle_surface_event(
&self,
event: wl_surface::Event,
@@ -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()))
}
}
@@ -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<str> = "".into();
+ let empty: Arc<str> = 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);
}
}
@@ -682,7 +682,7 @@ impl<T> Override<T> {
impl Default for LanguageConfig {
fn default() -> Self {
Self {
- name: "".into(),
+ name: Arc::default(),
code_fence_block_name: None,
grammar: None,
matcher: LanguageMatcher::default(),
@@ -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(),
@@ -216,7 +216,7 @@ impl Selection {
}
}
-#[derive(Clone)]
+#[derive(Clone, Default)]
pub struct ParsedMarkdown {
source: SharedString,
events: Arc<[(Range<usize>, 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<Markdown>,
style: MarkdownStyle,
@@ -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<str> = "".into();
+ let empty_str: Arc<str> = Arc::default();
while let Some(BufferEdit {
mut range,
new_text,
@@ -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()
}
}
@@ -31,7 +31,7 @@ impl From<HighlightId> for Highlight {
}
}
-#[derive(Clone)]
+#[derive(Clone, Default)]
pub struct RichText {
pub text: SharedString,
pub highlights: Vec<(Range<usize>, Highlight)>,
@@ -43,19 +43,6 @@ pub struct RichText {
Option<Arc<dyn Fn(usize, Range<usize>, &mut WindowContext) -> Option<AnyView>>>,
}
-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)]
@@ -264,7 +264,7 @@ impl PickerDelegate for TabSwitcherDelegate {
type ListItem = ListItem;
fn placeholder_text(&self, _cx: &mut WindowContext) -> Arc<str> {
- "".into()
+ Arc::default()
}
fn no_matches_text(&self, _cx: &mut WindowContext) -> SharedString {
@@ -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();
@@ -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" ]