Detailed changes
@@ -2646,7 +2646,6 @@ dependencies = [
"project",
"schemars",
"serde",
- "serde_derive",
"settings",
"telemetry",
"util",
@@ -3357,7 +3356,6 @@ dependencies = [
"semantic_version",
"semver",
"serde",
- "serde_derive",
"serde_json",
"session",
"settings",
@@ -3413,7 +3411,6 @@ dependencies = [
"rpc",
"schemars",
"serde",
- "serde_derive",
"serde_json",
"settings",
"smallvec",
@@ -5783,7 +5780,6 @@ dependencies = [
"schemars",
"search",
"serde",
- "serde_derive",
"serde_json",
"settings",
"text",
@@ -6503,7 +6499,6 @@ dependencies = [
"project",
"schemars",
"serde",
- "serde_derive",
"serde_json",
"settings",
"strum 0.27.1",
@@ -7474,7 +7469,6 @@ dependencies = [
"seahash",
"semantic_version",
"serde",
- "serde_derive",
"serde_json",
"slotmap",
"smallvec",
@@ -12706,7 +12700,6 @@ dependencies = [
"schemars",
"search",
"serde",
- "serde_derive",
"serde_json",
"settings",
"smallvec",
@@ -13623,7 +13616,6 @@ dependencies = [
"runtimelib",
"schemars",
"serde",
- "serde_derive",
"serde_json",
"settings",
"smol",
@@ -14730,18 +14722,28 @@ dependencies = [
[[package]]
name = "serde"
-version = "1.0.219"
+version = "1.0.221"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "341877e04a22458705eb4e131a1508483c877dca2792b3781d4e5d8a6019ec43"
+dependencies = [
+ "serde_core",
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_core"
+version = "1.0.221"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
+checksum = "0c459bc0a14c840cb403fc14b148620de1e0778c96ecd6e0c8c3cacb6d8d00fe"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.219"
+version = "1.0.221"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
+checksum = "d6185cf75117e20e62b1ff867b9518577271e58abe0037c40bb4794969355ab0"
dependencies = [
"proc-macro2",
"quote",
@@ -14770,15 +14772,15 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.140"
+version = "1.0.144"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
+checksum = "56177480b00303e689183f110b4e727bb4211d692c62d4fcd16d02be93077d40"
dependencies = [
"indexmap",
"itoa",
"memchr",
"ryu",
- "serde",
+ "serde_core",
]
[[package]]
@@ -14878,7 +14880,6 @@ dependencies = [
"rust-embed",
"schemars",
"serde",
- "serde_derive",
"serde_json",
"serde_json_lenient",
"serde_path_to_error",
@@ -16465,7 +16466,6 @@ dependencies = [
"release_channel",
"schemars",
"serde",
- "serde_derive",
"settings",
"smol",
"sysinfo",
@@ -16568,7 +16568,6 @@ dependencies = [
"refineable",
"schemars",
"serde",
- "serde_derive",
"serde_json",
"serde_json_lenient",
"serde_repr",
@@ -18068,7 +18067,6 @@ dependencies = [
"schemars",
"search",
"serde",
- "serde_derive",
"serde_json",
"settings",
"task",
@@ -20098,7 +20096,7 @@ dependencies = [
"security-framework-sys",
"semver",
"serde",
- "serde_derive",
+ "serde_core",
"serde_json",
"sha1",
"simd-adler32",
@@ -617,9 +617,8 @@ rustls-platform-verifier = "0.5.0"
scap = { git = "https://github.com/zed-industries/scap", rev = "808aa5c45b41e8f44729d02e38fd00a2fe2722e7", default-features = false }
schemars = { version = "1.0", features = ["indexmap2"] }
semver = "1.0"
-serde = { version = "1.0", features = ["derive", "rc"] }
-serde_derive = { version = "1.0", features = ["deserialize_in_place"] }
-serde_json = { version = "1.0", features = ["preserve_order", "raw_value"] }
+serde = { version = "1.0.221", features = ["derive", "rc"] }
+serde_json = { version = "1.0.144", features = ["preserve_order", "raw_value"] }
serde_json_lenient = { version = "0.2", features = [
"preserve_order",
"raw_value",
@@ -31,6 +31,10 @@ pub fn init(cx: &mut App) {
#[derive(Deserialize)]
struct ReleaseNotesBody {
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
title: String,
release_notes: String,
}
@@ -37,7 +37,6 @@ postage.workspace = true
project.workspace = true
schemars.workspace = true
serde.workspace = true
-serde_derive.workspace = true
settings.workspace = true
telemetry.workspace = true
util.workspace = true
@@ -1,7 +1,7 @@
use anyhow::Result;
use gpui::App;
use schemars::JsonSchema;
-use serde_derive::{Deserialize, Serialize};
+use serde::{Deserialize, Serialize};
use settings::{Settings, SettingsKey, SettingsSources, SettingsUi};
#[derive(Deserialize, Debug)]
@@ -52,7 +52,6 @@ sea-orm = { version = "1.1.0-rc.1", features = ["sqlx-postgres", "postgres-array
semantic_version.workspace = true
semver.workspace = true
serde.workspace = true
-serde_derive.workspace = true
serde_json.workspace = true
sha2.workspace = true
sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "postgres", "json", "time", "uuid", "any"] }
@@ -5,7 +5,7 @@ use anyhow::Result;
use async_trait::async_trait;
use gpui::{BackgroundExecutor, SharedString, TestAppContext};
use rand::prelude::*;
-use serde_derive::{Deserialize, Serialize};
+use serde::{Deserialize, Serialize};
use std::{
ops::{Deref, DerefMut, Range},
rc::Rc,
@@ -157,5 +157,9 @@ impl UserBackfiller {
struct GithubUser {
id: i32,
created_at: DateTime<Utc>,
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
name: Option<String>,
}
@@ -49,7 +49,6 @@ release_channel.workspace = true
rpc.workspace = true
schemars.workspace = true
serde.workspace = true
-serde_derive.workspace = true
serde_json.workspace = true
settings.workspace = true
smallvec.workspace = true
@@ -24,7 +24,7 @@ use rpc::{
ErrorCode, ErrorExt,
proto::{self, ChannelVisibility, PeerId},
};
-use serde_derive::{Deserialize, Serialize};
+use serde::{Deserialize, Serialize};
use settings::Settings;
use smallvec::SmallVec;
use std::{mem, sync::Arc};
@@ -127,6 +127,10 @@ struct Notification<'a, T> {
#[derive(Debug, Clone, Deserialize)]
struct AnyNotification<'a> {
+ #[expect(
+ unused,
+ reason = "Part of the JSON-RPC protocol - we expect the field to be present in a valid JSON-RPC notification"
+ )]
jsonrpc: &'a str,
method: String,
#[serde(default)]
@@ -115,6 +115,10 @@ pub struct ExampleToml {
pub url: String,
pub revision: String,
pub language_extension: Option<String>,
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
pub insert_id: Option<String>,
#[serde(default = "default_true")]
pub require_lsp: bool,
@@ -27,7 +27,6 @@ schemars.workspace = true
search.workspace = true
settings.workspace = true
serde.workspace = true
-serde_derive.workspace = true
text.workspace = true
theme.workspace = true
ui.workspace = true
@@ -1,6 +1,6 @@
use anyhow::Result;
use schemars::JsonSchema;
-use serde_derive::{Deserialize, Serialize};
+use serde::{Deserialize, Serialize};
use settings::{Settings, SettingsKey, SettingsSources, SettingsUi};
#[derive(Deserialize, Debug, Clone, Copy, PartialEq)]
@@ -16,25 +16,53 @@ use git::{
#[derive(Debug, Deserialize)]
struct CommitDetails {
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
commit: Commit,
author: Option<User>,
}
#[derive(Debug, Deserialize)]
struct Commit {
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
author: Author,
}
#[derive(Debug, Deserialize)]
struct Author {
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
name: String,
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
email: String,
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
date: String,
}
#[derive(Debug, Deserialize)]
struct User {
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
pub login: String,
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
pub id: u64,
pub avatar_url: String,
}
@@ -25,22 +25,38 @@ fn pull_request_number_regex() -> &'static Regex {
#[derive(Debug, Deserialize)]
struct CommitDetails {
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
commit: Commit,
author: Option<User>,
}
#[derive(Debug, Deserialize)]
struct Commit {
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
author: Author,
}
#[derive(Debug, Deserialize)]
struct Author {
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
email: String,
}
#[derive(Debug, Deserialize)]
struct User {
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
pub id: u64,
pub avatar_url: String,
}
@@ -48,7 +48,6 @@ postage.workspace = true
project.workspace = true
schemars.workspace = true
serde.workspace = true
-serde_derive.workspace = true
serde_json.workspace = true
settings.workspace = true
strum.workspace = true
@@ -1,7 +1,7 @@
use editor::EditorSettings;
use gpui::Pixels;
use schemars::JsonSchema;
-use serde_derive::{Deserialize, Serialize};
+use serde::{Deserialize, Serialize};
use settings::{Settings, SettingsKey, SettingsSources, SettingsUi};
use ui::scrollbars::{ScrollbarVisibility, ShowScrollbar};
use workspace::dock::DockPosition;
@@ -114,7 +114,6 @@ schemars.workspace = true
seahash = "4.1"
semantic_version.workspace = true
serde.workspace = true
-serde_derive.workspace = true
serde_json.workspace = true
slotmap = "1.0.6"
smallvec.workspace = true
@@ -112,7 +112,6 @@ pub mod private {
pub use inventory;
pub use schemars;
pub use serde;
- pub use serde_derive;
pub use serde_json;
}
@@ -1,7 +1,7 @@
use std::sync::Arc;
use schemars::JsonSchema;
-use serde_derive::{Deserialize, Serialize};
+use serde::{Deserialize, Serialize};
/// The fallback fonts that can be configured for a given font.
/// Fallback fonts family names are stored here.
@@ -1,7 +1,7 @@
use gpui::{Action, actions};
use gpui_macros::register_action;
use schemars::JsonSchema;
-use serde_derive::Deserialize;
+use serde::Deserialize;
#[test]
fn test_action_macros() {
@@ -19,7 +19,7 @@ fn test_action_macros() {
#[serde(deny_unknown_fields)]
struct AnotherAction;
- #[derive(PartialEq, Clone, gpui::private::serde_derive::Deserialize)]
+ #[derive(PartialEq, Clone, gpui::private::serde::Deserialize)]
#[serde(deny_unknown_fields)]
struct RegisterableAction {}
@@ -29,7 +29,6 @@ project.workspace = true
schemars.workspace = true
search.workspace = true
serde.workspace = true
-serde_derive.workspace = true
serde_json.workspace = true
settings.workspace = true
smallvec.workspace = true
@@ -1,7 +1,7 @@
use editor::EditorSettings;
use gpui::Pixels;
use schemars::JsonSchema;
-use serde_derive::{Deserialize, Serialize};
+use serde::{Deserialize, Serialize};
use settings::{Settings, SettingsKey, SettingsSources, SettingsUi};
use ui::scrollbars::{ScrollbarVisibility, ShowScrollbar};
@@ -40,7 +40,6 @@ project.workspace = true
runtimelib.workspace = true
schemars.workspace = true
serde.workspace = true
-serde_derive.workspace = true
serde_json.workspace = true
settings.workspace = true
smol.workspace = true
@@ -1,6 +1,6 @@
use gpui::App;
use schemars::JsonSchema;
-use serde_derive::{Deserialize, Serialize};
+use serde::{Deserialize, Serialize};
use settings::{Settings, SettingsKey, SettingsSources, SettingsUi};
/// Settings for configuring REPL display and behavior.
@@ -29,7 +29,6 @@ release_channel.workspace = true
rust-embed.workspace = true
schemars.workspace = true
serde.workspace = true
-serde_derive.workspace = true
serde_json.workspace = true
settings_ui_macros.workspace = true
serde_json_lenient.workspace = true
@@ -1588,7 +1588,7 @@ mod tests {
use super::*;
// This is so the SettingsUi macro can still work properly
use crate as settings;
- use serde_derive::Deserialize;
+ use serde::Deserialize;
use settings_ui_macros::{SettingsKey, SettingsUi};
use unindent::Unindent;
@@ -2232,7 +2232,9 @@ mod tests {
#[derive(Debug, Deserialize)]
struct JournalSettings {
+ #[expect(unused)]
pub path: String,
+ #[expect(unused)]
pub hour_format: HourFormat,
}
@@ -56,7 +56,15 @@ pub struct SupermavenDownloadResponse {
#[derive(Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SupermavenUser {
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
id: String,
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
email: String,
api_key: String,
}
@@ -29,7 +29,6 @@ libc.workspace = true
release_channel.workspace = true
schemars.workspace = true
serde.workspace = true
-serde_derive.workspace = true
settings.workspace = true
sysinfo.workspace = true
smol.workspace = true
@@ -4,7 +4,7 @@ use alacritty_terminal::vte::ansi::{
use collections::HashMap;
use gpui::{AbsoluteLength, App, FontFallbacks, FontFeatures, FontWeight, Pixels, px};
use schemars::JsonSchema;
-use serde_derive::{Deserialize, Serialize};
+use serde::{Deserialize, Serialize};
use settings::{SettingsKey, SettingsSources, SettingsUi};
use std::path::PathBuf;
@@ -31,7 +31,6 @@ parking_lot.workspace = true
refineable.workspace = true
schemars = { workspace = true, features = ["indexmap2"] }
serde.workspace = true
-serde_derive.workspace = true
serde_json.workspace = true
serde_json_lenient.workspace = true
serde_repr.workspace = true
@@ -1,5 +1,5 @@
use gpui::Hsla;
-use serde_derive::Deserialize;
+use serde::Deserialize;
use crate::{
AccentContent, amber, blue, cyan, gold, grass, indigo, iris, jade, lime, orange, pink, purple,
@@ -1,7 +1,7 @@
#![allow(missing_docs)]
use gpui::Hsla;
-use serde_derive::Deserialize;
+use serde::Deserialize;
use crate::{
PlayerColorContent, amber, blue, jade, lime, orange, pink, purple, red, try_parse_color,
@@ -21,8 +21,20 @@ const ZED_THEME_SCHEMA_URL: &str = "https://zed.dev/schema/themes/v0.2.0.json";
#[derive(Debug, Deserialize)]
struct FamilyMetadata {
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
pub name: String,
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
pub author: String,
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
pub themes: Vec<ThemeMetadata>,
/// Overrides for specific syntax tokens.
@@ -31,6 +43,10 @@ struct FamilyMetadata {
/// to an exact set of scopes when it is not otherwise possible
/// to rely on the default mappings in the theme importer.
#[serde(default)]
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
pub syntax: IndexMap<String, Vec<String>>,
}
@@ -6,12 +6,32 @@ use crate::vscode::VsCodeTokenColor;
#[derive(Deserialize, Debug)]
pub struct VsCodeTheme {
#[serde(rename = "$schema")]
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
pub schema: Option<String>,
pub name: Option<String>,
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
pub author: Option<String>,
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
pub maintainers: Option<Vec<String>>,
#[serde(rename = "semanticClass")]
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
pub semantic_class: Option<String>,
+ #[expect(
+ unused,
+ reason = "This field was found to be unused with serde library bump; it's left as is due to insufficient context on PO's side, but it *may* be fine to remove"
+ )]
#[serde(rename = "semanticHighlighting")]
pub semantic_highlighting: Option<bool>,
pub colors: Colors,
@@ -38,7 +38,6 @@ regex.workspace = true
schemars.workspace = true
search.workspace = true
serde.workspace = true
-serde_derive.workspace = true
serde_json.workspace = true
settings.workspace = true
task.workspace = true
@@ -3,7 +3,7 @@ use gpui::{Action, Context, Window, actions};
use language::Point;
use schemars::JsonSchema;
use search::{BufferSearchBar, SearchOptions, buffer_search};
-use serde_derive::Deserialize;
+use serde::Deserialize;
use settings::Settings;
use std::{iter::Peekable, str::Chars};
use util::serde::default_true;
@@ -38,7 +38,7 @@ use normal::search::SearchSubmit;
use object::Object;
use schemars::JsonSchema;
use serde::Deserialize;
-use serde_derive::Serialize;
+use serde::Serialize;
use settings::{
Settings, SettingsKey, SettingsSources, SettingsStore, SettingsUi, update_settings_file,
};
@@ -114,6 +114,7 @@ sea-orm = { version = "1", features = ["runtime-tokio-rustls", "sqlx-postgres",
sea-query-binder = { version = "0.7", default-features = false, features = ["postgres-array", "sqlx-postgres", "sqlx-sqlite", "with-bigdecimal", "with-chrono", "with-json", "with-rust_decimal", "with-time", "with-uuid"] }
semver = { version = "1", features = ["serde"] }
serde = { version = "1", features = ["alloc", "derive", "rc"] }
+serde_core = { version = "1", default-features = false, features = ["alloc", "rc", "result", "std"] }
serde_json = { version = "1", features = ["alloc", "preserve_order", "raw_value", "unbounded_depth"] }
sha1 = { version = "0.10", features = ["compress"] }
simd-adler32 = { version = "0.3" }
@@ -249,7 +250,7 @@ sea-orm = { version = "1", features = ["runtime-tokio-rustls", "sqlx-postgres",
sea-query-binder = { version = "0.7", default-features = false, features = ["postgres-array", "sqlx-postgres", "sqlx-sqlite", "with-bigdecimal", "with-chrono", "with-json", "with-rust_decimal", "with-time", "with-uuid"] }
semver = { version = "1", features = ["serde"] }
serde = { version = "1", features = ["alloc", "derive", "rc"] }
-serde_derive = { version = "1", features = ["deserialize_in_place"] }
+serde_core = { version = "1", default-features = false, features = ["alloc", "rc", "result", "std"] }
serde_json = { version = "1", features = ["alloc", "preserve_order", "raw_value", "unbounded_depth"] }
sha1 = { version = "0.10", features = ["compress"] }
simd-adler32 = { version = "0.3" }