Skip to content

Commit c1e8197

Browse files
authored
refactor: Switch serde dependency to serde_core (#1036)
Improve build parallelism :)
2 parents 9154dcb + d85d6cd commit c1e8197

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+446
-430
lines changed

Cargo.lock

Lines changed: 18 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/serde_spanned/Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ pre-release-replacements = [
2525

2626
[features]
2727
default = ["std", "serde"]
28-
alloc = ["serde?/alloc"]
29-
std = ["alloc", "serde?/std"]
30-
serde = ["dep:serde"]
28+
alloc = ["serde_core?/alloc"]
29+
std = ["alloc", "serde_core?/std"]
30+
serde = ["dep:serde_core"]
3131

3232
[dependencies]
33-
serde = { version = "1.0.145", optional = true, default-features = false }
33+
serde_core = { version = "1.0.221", optional = true, default-features = false }
3434

3535
[dev-dependencies]
3636
serde = "1"

crates/serde_spanned/src/de.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//! Deserialzation support for [`Spanned`]
22
3-
use serde::de::value::BorrowedStrDeserializer;
4-
use serde::de::IntoDeserializer as _;
3+
use serde_core::de::value::BorrowedStrDeserializer;
4+
use serde_core::de::IntoDeserializer as _;
55

66
use crate::Spanned;
77

@@ -13,8 +13,8 @@ pub fn is_spanned(name: &'static str) -> bool {
1313
/// Deserializer / format support for emitting [`Spanned`]
1414
pub struct SpannedDeserializer<'de, T, E>
1515
where
16-
T: serde::de::IntoDeserializer<'de, E>,
17-
E: serde::de::Error,
16+
T: serde_core::de::IntoDeserializer<'de, E>,
17+
E: serde_core::de::Error,
1818
{
1919
start: Option<usize>,
2020
end: Option<usize>,
@@ -25,8 +25,8 @@ where
2525

2626
impl<'de, T, E> SpannedDeserializer<'de, T, E>
2727
where
28-
T: serde::de::IntoDeserializer<'de, E>,
29-
E: serde::de::Error,
28+
T: serde_core::de::IntoDeserializer<'de, E>,
29+
E: serde_core::de::Error,
3030
{
3131
/// Create a deserializer to emit [`Spanned`]
3232
pub fn new(value: T, span: core::ops::Range<usize>) -> Self {
@@ -40,15 +40,15 @@ where
4040
}
4141
}
4242

43-
impl<'de, T, E> serde::de::MapAccess<'de> for SpannedDeserializer<'de, T, E>
43+
impl<'de, T, E> serde_core::de::MapAccess<'de> for SpannedDeserializer<'de, T, E>
4444
where
45-
T: serde::de::IntoDeserializer<'de, E>,
46-
E: serde::de::Error,
45+
T: serde_core::de::IntoDeserializer<'de, E>,
46+
E: serde_core::de::Error,
4747
{
4848
type Error = E;
4949
fn next_key_seed<K>(&mut self, seed: K) -> Result<Option<K::Value>, Self::Error>
5050
where
51-
K: serde::de::DeserializeSeed<'de>,
51+
K: serde_core::de::DeserializeSeed<'de>,
5252
{
5353
if self.start.is_some() {
5454
seed.deserialize(BorrowedStrDeserializer::new(Spanned::<T>::START_FIELD))
@@ -66,7 +66,7 @@ where
6666

6767
fn next_value_seed<V>(&mut self, seed: V) -> Result<V::Value, Self::Error>
6868
where
69-
V: serde::de::DeserializeSeed<'de>,
69+
V: serde_core::de::DeserializeSeed<'de>,
7070
{
7171
if let Some(start) = self.start.take() {
7272
seed.deserialize(start.into_deserializer())

crates/serde_spanned/src/spanned.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -175,19 +175,19 @@ impl<T: Ord> Ord for Spanned<T> {
175175
}
176176

177177
#[cfg(feature = "serde")]
178-
impl<'de, T> serde::de::Deserialize<'de> for Spanned<T>
178+
impl<'de, T> serde_core::de::Deserialize<'de> for Spanned<T>
179179
where
180-
T: serde::de::Deserialize<'de>,
180+
T: serde_core::de::Deserialize<'de>,
181181
{
182182
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
183183
where
184-
D: serde::de::Deserializer<'de>,
184+
D: serde_core::de::Deserializer<'de>,
185185
{
186186
struct SpannedVisitor<T>(::core::marker::PhantomData<T>);
187187

188-
impl<'de, T> serde::de::Visitor<'de> for SpannedVisitor<T>
188+
impl<'de, T> serde_core::de::Visitor<'de> for SpannedVisitor<T>
189189
where
190-
T: serde::de::Deserialize<'de>,
190+
T: serde_core::de::Deserialize<'de>,
191191
{
192192
type Value = Spanned<T>;
193193

@@ -197,7 +197,7 @@ where
197197

198198
fn visit_map<V>(self, mut visitor: V) -> Result<Spanned<T>, V::Error>
199199
where
200-
V: serde::de::MapAccess<'de>,
200+
V: serde_core::de::MapAccess<'de>,
201201
{
202202
let mut start: Option<usize> = None;
203203
let mut end: Option<usize> = None;
@@ -206,24 +206,24 @@ where
206206
match key {
207207
START_FIELD => {
208208
if start.is_some() {
209-
return Err(serde::de::Error::duplicate_field(START_FIELD));
209+
return Err(serde_core::de::Error::duplicate_field(START_FIELD));
210210
}
211211
start = Some(visitor.next_value()?);
212212
}
213213
END_FIELD => {
214214
if end.is_some() {
215-
return Err(serde::de::Error::duplicate_field(END_FIELD));
215+
return Err(serde_core::de::Error::duplicate_field(END_FIELD));
216216
}
217217
end = Some(visitor.next_value()?);
218218
}
219219
VALUE_FIELD => {
220220
if value.is_some() {
221-
return Err(serde::de::Error::duplicate_field(VALUE_FIELD));
221+
return Err(serde_core::de::Error::duplicate_field(VALUE_FIELD));
222222
}
223223
value = Some(visitor.next_value()?);
224224
}
225225
field => {
226-
return Err(serde::de::Error::unknown_field(
226+
return Err(serde_core::de::Error::unknown_field(
227227
field,
228228
&[START_FIELD, END_FIELD, VALUE_FIELD],
229229
));
@@ -235,9 +235,9 @@ where
235235
span: start..end,
236236
value,
237237
}),
238-
(None, _, _) => Err(serde::de::Error::missing_field(START_FIELD)),
239-
(_, None, _) => Err(serde::de::Error::missing_field(END_FIELD)),
240-
(_, _, None) => Err(serde::de::Error::missing_field(VALUE_FIELD)),
238+
(None, _, _) => Err(serde_core::de::Error::missing_field(START_FIELD)),
239+
(_, None, _) => Err(serde_core::de::Error::missing_field(END_FIELD)),
240+
(_, _, None) => Err(serde_core::de::Error::missing_field(VALUE_FIELD)),
241241
}
242242
}
243243
}
@@ -251,10 +251,10 @@ where
251251
}
252252

253253
#[cfg(feature = "serde")]
254-
impl<T: serde::ser::Serialize> serde::ser::Serialize for Spanned<T> {
254+
impl<T: serde_core::ser::Serialize> serde_core::ser::Serialize for Spanned<T> {
255255
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
256256
where
257-
S: serde::ser::Serializer,
257+
S: serde_core::ser::Serializer,
258258
{
259259
self.value.serialize(serializer)
260260
}

crates/toml/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ pre-release-replacements = [
2929

3030
[features]
3131
default = ["std", "serde", "parse", "display"]
32-
std = ["indexmap?/std", "serde?/std", "toml_parser?/std", "toml_writer?/std", "toml_datetime/std", "serde_spanned/std"]
33-
serde = ["dep:serde", "toml_datetime/serde", "serde_spanned/serde"]
32+
std = ["indexmap?/std", "serde_core?/std", "toml_parser?/std", "toml_writer?/std", "toml_datetime/std", "serde_spanned/std"]
33+
serde = ["dep:serde_core", "toml_datetime/serde", "serde_spanned/serde"]
3434
parse = ["dep:toml_parser", "dep:winnow"]
3535
display = ["dep:toml_writer"]
3636
fast_hash = ["preserve_order", "dep:foldhash"]
@@ -49,7 +49,7 @@ unbounded = []
4949
preserve_order = ["dep:indexmap", "std"]
5050

5151
[dependencies]
52-
serde = { version = "1.0.145", default-features = false, features = ["alloc"], optional = true }
52+
serde_core = { version = "1.0.221", default-features = false, features = ["alloc"], optional = true }
5353
indexmap = { version = "2.3.0", default-features = false, optional = true }
5454
toml_parser = { version = "1.0.2", path = "../toml_parser", default-features = false, features = ["alloc"], optional = true }
5555
winnow = { version = "0.7.10", default-features = false, optional = true }

crates/toml/src/de/deserializer/array.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ impl<'i> ArrayDeserializer<'i> {
1515
}
1616
}
1717

18-
impl<'de> serde::Deserializer<'de> for ArrayDeserializer<'de> {
18+
impl<'de> serde_core::Deserializer<'de> for ArrayDeserializer<'de> {
1919
type Error = Error;
2020

2121
fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
2222
where
23-
V: serde::de::Visitor<'de>,
23+
V: serde_core::de::Visitor<'de>,
2424
{
2525
visitor.visit_seq(ArraySeqAccess::new(self.input))
2626
}
@@ -32,7 +32,7 @@ impl<'de> serde::Deserializer<'de> for ArrayDeserializer<'de> {
3232
visitor: V,
3333
) -> Result<V::Value, Error>
3434
where
35-
V: serde::de::Visitor<'de>,
35+
V: serde_core::de::Visitor<'de>,
3636
{
3737
if serde_spanned::de::is_spanned(name) {
3838
let span = self.span.clone();
@@ -42,14 +42,14 @@ impl<'de> serde::Deserializer<'de> for ArrayDeserializer<'de> {
4242
self.deserialize_any(visitor)
4343
}
4444

45-
serde::forward_to_deserialize_any! {
45+
serde_core::forward_to_deserialize_any! {
4646
bool u8 u16 u32 u64 i8 i16 i32 i64 f32 f64 char str string seq
4747
bytes byte_buf map option unit newtype_struct
4848
ignored_any unit_struct tuple_struct tuple enum identifier
4949
}
5050
}
5151

52-
impl<'de> serde::de::IntoDeserializer<'de, Error> for ArrayDeserializer<'de> {
52+
impl<'de> serde_core::de::IntoDeserializer<'de, Error> for ArrayDeserializer<'de> {
5353
type Deserializer = Self;
5454

5555
fn into_deserializer(self) -> Self::Deserializer {
@@ -69,12 +69,12 @@ impl<'i> ArraySeqAccess<'i> {
6969
}
7070
}
7171

72-
impl<'de> serde::de::SeqAccess<'de> for ArraySeqAccess<'de> {
72+
impl<'de> serde_core::de::SeqAccess<'de> for ArraySeqAccess<'de> {
7373
type Error = Error;
7474

7575
fn next_element_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, Self::Error>
7676
where
77-
T: serde::de::DeserializeSeed<'de>,
77+
T: serde_core::de::DeserializeSeed<'de>,
7878
{
7979
match self.iter.next() {
8080
Some(v) => {

0 commit comments

Comments
 (0)