Skip to content

Commit 90c345b

Browse files
authored
Merge pull request #18728 from Veykril/push-ozqlrzmqklwt
internal: Split `serde` derive feature into `serde_derive` usage
2 parents 3309dfa + 23e2f8a commit 90c345b

File tree

19 files changed

+51
-49
lines changed

19 files changed

+51
-49
lines changed

src/tools/rust-analyzer/Cargo.lock

+18-25
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

+3-2
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

+1-2
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

+1
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

+3-2
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

+1-1
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

+1
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

+1-1
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

+1-1
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

+1-1
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" }

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

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ rayon.workspace = true
3636
rustc-hash.workspace = true
3737
serde_json = { workspace = true, features = ["preserve_order"] }
3838
serde.workspace = true
39+
serde_derive.workspace = true
3940
tenthash = "0.4.0"
4041
num_cpus = "1.15.0"
4142
mimalloc = { version = "0.1.30", default-features = false, optional = true }

src/tools/rust-analyzer/crates/rust-analyzer/src/flycheck.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ use std::{fmt, io, process::Command, time::Duration};
66
use crossbeam_channel::{select_biased, unbounded, Receiver, Sender};
77
use paths::{AbsPath, AbsPathBuf, Utf8PathBuf};
88
use rustc_hash::FxHashMap;
9-
use serde::Deserialize;
9+
use serde::Deserialize as _;
10+
use serde_derive::Deserialize;
1011

1112
pub(crate) use cargo_metadata::diagnostic::{
1213
Applicability, Diagnostic, DiagnosticCode, DiagnosticLevel, DiagnosticSpan,

src/tools/rust-analyzer/crates/rust-analyzer/src/test_runner.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ use std::process::Command;
55

66
use crossbeam_channel::Sender;
77
use paths::AbsPath;
8-
use serde::Deserialize;
8+
use serde::Deserialize as _;
9+
use serde_derive::Deserialize;
910
use toolchain::Tool;
1011

1112
use crate::{

src/tools/rust-analyzer/crates/rust-analyzer/src/tracing/json.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ where
5454
fn on_event(&self, _event: &Event<'_>, _ctx: Context<'_, S>) {}
5555

5656
fn on_close(&self, id: Id, ctx: Context<'_, S>) {
57-
#[derive(serde::Serialize)]
57+
#[derive(serde_derive::Serialize)]
5858
struct JsonDataInner {
5959
name: &'static str,
6060
elapsed_ms: u128,

src/tools/rust-analyzer/crates/span/src/lib.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -262,8 +262,9 @@ pub struct MacroFileId {
262262
/// `MacroCallId` identifies a particular macro invocation, like
263263
/// `println!("Hello, {}", world)`.
264264
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
265-
pub struct MacroCallId(ra_salsa::InternId);
265+
pub struct MacroCallId(InternId);
266266

267+
#[cfg(feature = "ra-salsa")]
267268
impl ra_salsa::InternKey for MacroCallId {
268269
fn from_intern_id(v: ra_salsa::InternId) -> Self {
269270
MacroCallId(v)
@@ -362,6 +363,7 @@ mod intern_id_proxy {
362363
use std::fmt;
363364
use std::num::NonZeroU32;
364365

366+
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
365367
pub(super) struct InternId {
366368
value: NonZeroU32,
367369
}

src/tools/rust-analyzer/lib/lsp-server/Cargo.toml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "lsp-server"
3-
version = "0.7.7"
3+
version = "0.7.8"
44
description = "Generic LSP server scaffold."
55
license = "MIT OR Apache-2.0"
66
repository = "https://github.com/rust-lang/rust-analyzer/tree/master/lib/lsp-server"
@@ -9,7 +9,8 @@ edition = "2021"
99
[dependencies]
1010
log = "0.4.17"
1111
serde_json = "1.0.108"
12-
serde = { version = "1.0.192", features = ["derive"] }
12+
serde = { version = "1.0.216" }
13+
serde_derive = { version = "1.0.216" }
1314
crossbeam-channel.workspace = true
1415

1516
[dev-dependencies]

src/tools/rust-analyzer/lib/lsp-server/src/msg.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ use std::{
33
io::{self, BufRead, Write},
44
};
55

6-
use serde::{de::DeserializeOwned, Deserialize, Serialize};
6+
use serde::de::DeserializeOwned;
7+
use serde_derive::{Deserialize, Serialize};
78

89
use crate::error::ExtractError;
910

@@ -196,7 +197,7 @@ impl Message {
196197
}
197198

198199
impl Response {
199-
pub fn new_ok<R: Serialize>(id: RequestId, result: R) -> Response {
200+
pub fn new_ok<R: serde::Serialize>(id: RequestId, result: R) -> Response {
200201
Response { id, result: Some(serde_json::to_value(result).unwrap()), error: None }
201202
}
202203
pub fn new_err(id: RequestId, code: i32, message: String) -> Response {
@@ -206,7 +207,7 @@ impl Response {
206207
}
207208

208209
impl Request {
209-
pub fn new<P: Serialize>(id: RequestId, method: String, params: P) -> Request {
210+
pub fn new<P: serde::Serialize>(id: RequestId, method: String, params: P) -> Request {
210211
Request { id, method, params: serde_json::to_value(params).unwrap() }
211212
}
212213
pub fn extract<P: DeserializeOwned>(
@@ -231,7 +232,7 @@ impl Request {
231232
}
232233

233234
impl Notification {
234-
pub fn new(method: String, params: impl Serialize) -> Notification {
235+
pub fn new(method: String, params: impl serde::Serialize) -> Notification {
235236
Notification { method, params: serde_json::to_value(params).unwrap() }
236237
}
237238
pub fn extract<P: DeserializeOwned>(

src/tools/rust-analyzer/lib/lsp-server/src/req_queue.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
use std::collections::HashMap;
22

3-
use serde::Serialize;
4-
53
use crate::{ErrorCode, Request, RequestId, Response, ResponseError};
64

75
/// Manages the set of pending requests, both incoming and outgoing.
@@ -56,7 +54,7 @@ impl<I> Incoming<I> {
5654
}
5755

5856
impl<O> Outgoing<O> {
59-
pub fn register<P: Serialize>(&mut self, method: String, params: P, data: O) -> Request {
57+
pub fn register<P: serde::Serialize>(&mut self, method: String, params: P, data: O) -> Request {
6058
let id = RequestId::from(self.next_id);
6159
self.pending.insert(id.clone(), data);
6260
self.next_id += 1;

src/tools/rust-analyzer/xtask/Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ xflags = "0.3.0"
1616
time = { version = "0.3", default-features = false }
1717
zip = { version = "0.6", default-features = false, features = ["deflate", "time"] }
1818
stdx.workspace = true
19-
proc-macro2 = "1.0.47"
19+
# https://github.com/dtolnay/proc-macro2/issues/475
20+
proc-macro2 = "=1.0.86"
2021
quote = "1.0.20"
2122
ungrammar = "1.16.1"
2223
either.workspace = true

0 commit comments

Comments
 (0)