Skip to content

Commit

Permalink
Decouple serde from its derive crate
Browse files Browse the repository at this point in the history
This makes it possible for cargo to build `serde` and `serde_derive`
crates in parallel.
nickelc committed Nov 28, 2024
1 parent d5ce853 commit d03013a
Showing 9 changed files with 19 additions and 17 deletions.
3 changes: 2 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -19,7 +19,8 @@ http = "1.1"
mime = "0.3"
pin-project-lite = "0.2"
reqwest = { version = "0.12", default-features = false, features = ["multipart", "stream"] }
serde = { version = "1.0.122", features = ["derive"] }
serde = "1.0.215"
serde_derive = "1.0.215"
serde_json = "1.0"
tokio = { version = "1.6.1", default-features = false, features = ["fs"] }
tokio-util = { version = "0.7", features = ["codec", "io"] }
4 changes: 2 additions & 2 deletions src/comments.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//! Mod comments interface
use serde::ser::{SerializeMap, Serializer};
use serde::Serialize;
use serde::ser::{Serialize, SerializeMap, Serializer};
use serde_derive::Serialize;

use crate::prelude::*;
use crate::types::id::{CommentId, GameId, ModId};
2 changes: 1 addition & 1 deletion src/metadata.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//! Mod metadata KVP interface
use futures_util::TryStreamExt;
use serde::Deserialize;
use serde_derive::Deserialize;

use crate::prelude::*;
use crate::types::id::{GameId, ModId};
2 changes: 1 addition & 1 deletion src/types/auth.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use serde::Deserialize;
use serde_derive::Deserialize;
use url::Url;

use super::Timestamp;
4 changes: 2 additions & 2 deletions src/types/files.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use std::fmt;

use serde::de::{Deserializer, IgnoredAny, MapAccess, Visitor};
use serde::Deserialize;
use serde::de::{Deserialize, Deserializer, IgnoredAny, MapAccess, Visitor};
use serde_derive::Deserialize;
use url::Url;

use crate::types::{DeserializeField, MissingField, TargetPlatform};
4 changes: 2 additions & 2 deletions src/types/games.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
use std::collections::HashMap;
use std::fmt;

use serde::de::{Deserializer, IgnoredAny, MapAccess, Visitor};
use serde::{Deserialize, Serialize};
use serde::de::{Deserialize, Deserializer, IgnoredAny, MapAccess, Visitor};
use serde_derive::{Deserialize, Serialize};
use url::Url;

use super::id::GameId;
3 changes: 2 additions & 1 deletion src/types/id.rs
Original file line number Diff line number Diff line change
@@ -225,7 +225,8 @@ impl<T> FromStr for Id<T> {
}
}

use serde::{Deserialize, Deserializer, Serialize, Serializer};
use serde::de::{Deserialize, Deserializer};
use serde::ser::{Serialize, Serializer};

impl<'de, T> Deserialize<'de> for Id<T> {
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
6 changes: 3 additions & 3 deletions src/types/mod.rs
Original file line number Diff line number Diff line change
@@ -2,8 +2,8 @@
use std::fmt;

use serde::de::Deserializer;
use serde::{Deserialize, Serialize};
use serde::de::{Deserialize, Deserializer};
use serde_derive::{Deserialize, Serialize};
use url::Url;

#[macro_use]
@@ -335,7 +335,7 @@ impl Timestamp {

#[cfg(test)]
mod tests {
use serde::Deserialize;
use serde_derive::Deserialize;
use serde_test::{assert_de_tokens, assert_tokens, Token};

use super::{deserialize_empty_object, Error, EventType, TargetPlatform};
8 changes: 4 additions & 4 deletions src/types/mods.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
use std::collections::HashMap;
use std::fmt;

use serde::de::{Deserializer, IgnoredAny, MapAccess, SeqAccess, Visitor};
use serde::Deserialize;
use serde::de::{Deserialize, Deserializer, IgnoredAny, MapAccess, SeqAccess, Visitor};
use serde_derive::Deserialize;
use url::Url;

use super::files::File;
@@ -599,7 +599,7 @@ mod tests {

#[test]
fn metadata_from_result_list_serde() {
#[derive(Debug, PartialEq, serde::Deserialize)]
#[derive(Debug, PartialEq, serde_derive::Deserialize)]
struct Entry {
metakey: String,
metavalue: String,
@@ -663,7 +663,7 @@ mod tests {

#[test]
fn metadata_from_mod_serde() {
#[derive(Debug, PartialEq, serde::Deserialize)]
#[derive(Debug, PartialEq, serde_derive::Deserialize)]
struct Mod {
id: u32,
#[serde(rename = "metadata_kvp")]

0 comments on commit d03013a

Please sign in to comment.