Skip to content

Commit 23e2f8a

Browse files
committed
internal: Split serde derive feature into serde_derive usage
Ideally we'd not have any dependency pull in the derive feature for faster build times, once that is the case this change would have an actual effect. See https://github.com/matklad/macro-dep-test/blob/master/README.md for context.
1 parent 4aa34ab commit 23e2f8a

File tree

19 files changed

+51
-49
lines changed

19 files changed

+51
-49
lines changed

src/tools/rust-analyzer/Cargo.lock

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,24 +1011,25 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
10111011
[[package]]
10121012
name = "lsp-server"
10131013
version = "0.7.7"
1014+
source = "registry+https://github.com/rust-lang/crates.io-index"
1015+
checksum = "550446e84739dcaf6d48a4a093973850669e13e8a34d8f8d64851041be267cd9"
10141016
dependencies = [
10151017
"crossbeam-channel",
1016-
"ctrlc",
10171018
"log",
1018-
"lsp-types",
10191019
"serde",
10201020
"serde_json",
10211021
]
10221022

10231023
[[package]]
10241024
name = "lsp-server"
1025-
version = "0.7.7"
1026-
source = "registry+https://github.com/rust-lang/crates.io-index"
1027-
checksum = "550446e84739dcaf6d48a4a093973850669e13e8a34d8f8d64851041be267cd9"
1025+
version = "0.7.8"
10281026
dependencies = [
10291027
"crossbeam-channel",
1028+
"ctrlc",
10301029
"log",
1030+
"lsp-types",
10311031
"serde",
1032+
"serde_derive",
10321033
"serde_json",
10331034
]
10341035

@@ -1289,7 +1290,6 @@ name = "paths"
12891290
version = "0.0.0"
12901291
dependencies = [
12911292
"camino",
1292-
"serde",
12931293
]
12941294

12951295
[[package]]
@@ -1357,6 +1357,7 @@ dependencies = [
13571357
"paths",
13581358
"rustc-hash 2.0.0",
13591359
"serde",
1360+
"serde_derive",
13601361
"serde_json",
13611362
"span",
13621363
"stdx",
@@ -1446,6 +1447,7 @@ dependencies = [
14461447
"rustc-hash 2.0.0",
14471448
"semver",
14481449
"serde",
1450+
"serde_derive",
14491451
"serde_json",
14501452
"span",
14511453
"stdx",
@@ -1674,7 +1676,7 @@ dependencies = [
16741676
"intern",
16751677
"itertools",
16761678
"load-cargo",
1677-
"lsp-server 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)",
1679+
"lsp-server 0.7.7",
16781680
"lsp-types",
16791681
"memchr",
16801682
"mimalloc",
@@ -1693,6 +1695,7 @@ dependencies = [
16931695
"scip",
16941696
"semver",
16951697
"serde",
1698+
"serde_derive",
16961699
"serde_json",
16971700
"stdx",
16981701
"syntax",
@@ -1820,18 +1823,18 @@ dependencies = [
18201823

18211824
[[package]]
18221825
name = "serde"
1823-
version = "1.0.206"
1826+
version = "1.0.216"
18241827
source = "registry+https://github.com/rust-lang/crates.io-index"
1825-
checksum = "5b3e4cd94123dd520a128bcd11e34d9e9e423e7e3e50425cb1b4b1e3549d0284"
1828+
checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e"
18261829
dependencies = [
18271830
"serde_derive",
18281831
]
18291832

18301833
[[package]]
18311834
name = "serde_derive"
1832-
version = "1.0.206"
1835+
version = "1.0.216"
18331836
source = "registry+https://github.com/rust-lang/crates.io-index"
1834-
checksum = "fabfb6138d2383ea8208cf98ccf69cdfb1aff4088460681d84189aa259762f97"
1837+
checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e"
18351838
dependencies = [
18361839
"proc-macro2",
18371840
"quote",
@@ -1922,12 +1925,6 @@ version = "0.3.2"
19221925
source = "registry+https://github.com/rust-lang/crates.io-index"
19231926
checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a"
19241927

1925-
[[package]]
1926-
name = "stable_deref_trait"
1927-
version = "1.2.0"
1928-
source = "registry+https://github.com/rust-lang/crates.io-index"
1929-
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
1930-
19311928
[[package]]
19321929
name = "stdx"
19331930
version = "0.0.0"
@@ -1944,9 +1941,9 @@ dependencies = [
19441941

19451942
[[package]]
19461943
name = "syn"
1947-
version = "2.0.74"
1944+
version = "2.0.87"
19481945
source = "registry+https://github.com/rust-lang/crates.io-index"
1949-
checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7"
1946+
checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d"
19501947
dependencies = [
19511948
"proc-macro2",
19521949
"quote",
@@ -2262,13 +2259,9 @@ dependencies = [
22622259

22632260
[[package]]
22642261
name = "triomphe"
2265-
version = "0.1.13"
2262+
version = "0.1.14"
22662263
source = "registry+https://github.com/rust-lang/crates.io-index"
2267-
checksum = "e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369"
2268-
dependencies = [
2269-
"serde",
2270-
"stable_deref_trait",
2271-
]
2264+
checksum = "ef8f7726da4807b58ea5c96fdc122f80702030edc33b35aff9190a51148ccc85"
22722265

22732266
[[package]]
22742267
name = "tt"

src/tools/rust-analyzer/Cargo.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,8 @@ pulldown-cmark = { version = "0.9.0", default-features = false }
138138
rayon = "1.8.0"
139139
rustc-hash = "2.0.0"
140140
semver = "1.0.14"
141-
serde = { version = "1.0.192", features = ["derive"] }
141+
serde = { version = "1.0.192" }
142+
serde_derive = { version = "1.0.192" }
142143
serde_json = "1.0.108"
143144
smallvec = { version = "1.10.0", features = [
144145
"const_new",
@@ -157,7 +158,7 @@ tracing-subscriber = { version = "0.3.18", default-features = false, features =
157158
"time",
158159
"tracing-log",
159160
] }
160-
triomphe = { version = "0.1.10", default-features = false, features = ["std"] }
161+
triomphe = { version = "0.1.14", default-features = false, features = ["std"] }
161162
url = "2.3.1"
162163
xshell = "0.2.5"
163164

src/tools/rust-analyzer/crates/paths/Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@ doctest = false
1414

1515
[dependencies]
1616
camino.workspace = true
17-
serde = { workspace = true, optional = true }
1817

1918
[features]
20-
serde1 = ["camino/serde1", "dep:serde"]
19+
serde1 = ["camino/serde1"]
2120

2221
[lints]
2322
workspace = true

src/tools/rust-analyzer/crates/proc-macro-api/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ doctest = false
1414

1515
[dependencies]
1616
serde.workspace = true
17+
serde_derive.workspace = true
1718
serde_json = { workspace = true, features = ["unbounded_depth"] }
1819
tracing.workspace = true
1920
rustc-hash.workspace = true

src/tools/rust-analyzer/crates/proc-macro-api/src/msg.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ pub(crate) mod flat;
44
use std::io::{self, BufRead, Write};
55

66
use paths::Utf8PathBuf;
7-
use serde::{de::DeserializeOwned, Deserialize, Serialize};
7+
use serde::de::DeserializeOwned;
8+
use serde_derive::{Deserialize, Serialize};
89

910
use crate::ProcMacroKind;
1011

@@ -123,7 +124,7 @@ impl ExpnGlobals {
123124
}
124125
}
125126

126-
pub trait Message: Serialize + DeserializeOwned {
127+
pub trait Message: serde::Serialize + DeserializeOwned {
127128
fn read<R: BufRead>(
128129
from_proto: ProtocolRead<R>,
129130
inp: &mut R,

src/tools/rust-analyzer/crates/proc-macro-api/src/msg/flat.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ use std::collections::VecDeque;
3939

4040
use intern::Symbol;
4141
use rustc_hash::FxHashMap;
42-
use serde::{Deserialize, Serialize};
42+
use serde_derive::{Deserialize, Serialize};
4343
use span::{EditionedFileId, ErasedFileAstId, Span, SpanAnchor, SyntaxContextId, TextRange};
4444

4545
use crate::msg::EXTENDED_LEAF_DATA;

src/tools/rust-analyzer/crates/project-model/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ rustc-hash.workspace = true
1919
semver.workspace = true
2020
serde_json.workspace = true
2121
serde.workspace = true
22+
serde_derive.workspace = true
2223
tracing.workspace = true
2324
triomphe.workspace = true
2425
la-arena.workspace = true

src/tools/rust-analyzer/crates/project-model/src/build_dependencies.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use itertools::Itertools;
1515
use la_arena::ArenaMap;
1616
use paths::{AbsPath, AbsPathBuf, Utf8PathBuf};
1717
use rustc_hash::{FxHashMap, FxHashSet};
18-
use serde::Deserialize;
18+
use serde::Deserialize as _;
1919
use toolchain::Tool;
2020

2121
use crate::{

src/tools/rust-analyzer/crates/project-model/src/cargo_workspace.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use cargo_metadata::{CargoOpt, MetadataCommand};
88
use la_arena::{Arena, Idx};
99
use paths::{AbsPath, AbsPathBuf, Utf8PathBuf};
1010
use rustc_hash::{FxHashMap, FxHashSet};
11-
use serde::Deserialize;
11+
use serde_derive::Deserialize;
1212
use serde_json::from_value;
1313
use span::Edition;
1414
use toolchain::Tool;

src/tools/rust-analyzer/crates/ra-salsa/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ parking_lot = "0.12.1"
2020
rustc-hash = "2.0.0"
2121
smallvec = "1.0.0"
2222
oorandom = "11"
23-
triomphe = "0.1.11"
23+
triomphe.workspace = true
2424
itertools.workspace = true
2525

2626
ra-salsa-macros = { version = "0.0.0", path = "ra-salsa-macros", package = "salsa-macros" }

0 commit comments

Comments
 (0)