diff --git a/Cargo.lock b/Cargo.lock index 24deeab..4f5824d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11,6 +11,7 @@ dependencies = [ "indexmap", "rustc-hash", "serde", + "serde_core", "serde_json", "serde_test", "utoipa", @@ -291,18 +292,28 @@ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "serde" -version = "1.0.219" +version = "1.0.221" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +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 = "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", @@ -311,14 +322,14 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.143" +version = "1.0.144" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" +checksum = "56177480b00303e689183f110b4e727bb4211d692c62d4fcd16d02be93077d40" dependencies = [ "itoa", "memchr", "ryu", - "serde", + "serde_core", ] [[package]] diff --git a/benzina/Cargo.toml b/benzina/Cargo.toml index 90c300f..0667a0d 100644 --- a/benzina/Cargo.toml +++ b/benzina/Cargo.toml @@ -23,8 +23,8 @@ rustdoc-args = ["--cfg", "docsrs"] [dependencies] diesel = { version = "2.2", default-features = false, optional = true } -serde = { version = "1", optional = true } -serde_json = { version = "1", optional = true } +serde_core = { version = "1.0.221", optional = true } +serde_json = { version = "1.0.144", optional = true } utoipa = { version = "5", optional = true } benzina-derive = { path = "../benzina-derive", version = "=0.4.0", optional = true } uuid = { version = ">=0.7.0, <2.0.0", default-features = false, optional = true } @@ -32,6 +32,7 @@ indexmap = { version = "2.10", optional = true } rustc-hash = { version = "2.1.1", optional = true } [dev-dependencies] +serde = "1.0.221" serde_test = "1" uuid = { version = ">=0.7.0, <2.0.0", default-features = false, features = ["v4"] } @@ -44,13 +45,13 @@ postgres = ["benzina-derive?/postgres", "dep:diesel", "diesel/postgres_backend"] typed-uuid = ["postgres", "diesel/uuid", "dep:uuid"] mysql = ["benzina-derive?/mysql"] -serde = ["dep:serde", "uuid?/serde"] +serde = ["dep:serde_core", "uuid?/serde"] utoipa = ["dep:utoipa"] example-generated = ["typed-uuid"] dangerous-construction = ["typed-uuid"] -json = ["postgres", "dep:serde", "dep:serde_json", "diesel/serde_json"] +json = ["postgres", "dep:serde_core", "dep:serde_json", "diesel/serde_json"] ctid = ["postgres", "diesel/i-implement-a-third-party-backend-and-opt-into-breaking-changes"] [lints] diff --git a/benzina/src/__private.rs b/benzina/src/__private.rs index 908cbd8..e53890e 100644 --- a/benzina/src/__private.rs +++ b/benzina/src/__private.rs @@ -3,7 +3,7 @@ pub use ::diesel; #[cfg(feature = "derive")] pub use ::indexmap; #[cfg(feature = "serde")] -pub use ::serde; +pub use ::serde_core; pub use ::std; #[cfg(feature = "typed-uuid")] pub use ::uuid; diff --git a/benzina/src/json/binary.rs b/benzina/src/json/binary.rs index 15a3724..8e73505 100644 --- a/benzina/src/json/binary.rs +++ b/benzina/src/json/binary.rs @@ -7,7 +7,7 @@ use diesel::{ serialize::ToSql, sql_types, }; -use serde::{Serialize, de::DeserializeOwned}; +use serde_core::{Serialize, de::DeserializeOwned}; use crate::json::convert::{sql_deserialize_binary, sql_serialize_binary}; diff --git a/benzina/src/json/convert.rs b/benzina/src/json/convert.rs index 3c0b166..8a4ff22 100644 --- a/benzina/src/json/convert.rs +++ b/benzina/src/json/convert.rs @@ -4,7 +4,7 @@ use diesel::{ pg::{Pg, PgValue}, serialize::IsNull, }; -use serde::{Serialize, de::DeserializeOwned}; +use serde_core::{Serialize, de::DeserializeOwned}; /// Allows using [`deserialize_as`] for benzina [`Json`] and [`Jsonb`] structs. /// diff --git a/benzina/src/json/mod.rs b/benzina/src/json/mod.rs index 38e441e..7279d48 100644 --- a/benzina/src/json/mod.rs +++ b/benzina/src/json/mod.rs @@ -7,7 +7,7 @@ use diesel::{ serialize::ToSql, sql_types, }; -use serde::{Serialize, de::DeserializeOwned}; +use serde_core::{Serialize, de::DeserializeOwned}; use crate::json::convert::{sql_deserialize, sql_serialize}; diff --git a/benzina/src/json/nullable.rs b/benzina/src/json/nullable.rs index 07f8606..1a26ef2 100644 --- a/benzina/src/json/nullable.rs +++ b/benzina/src/json/nullable.rs @@ -7,7 +7,7 @@ use diesel::{ serialize::{IsNull, ToSql}, sql_types::Nullable, }; -use serde::{Serialize, de::DeserializeOwned}; +use serde_core::{Serialize, de::DeserializeOwned}; macro_rules! impl_nullable { ( diff --git a/benzina/src/serde.rs b/benzina/src/serde.rs index bd5a6ee..00ab650 100644 --- a/benzina/src/serde.rs +++ b/benzina/src/serde.rs @@ -1,6 +1,6 @@ use std::fmt; -use serde::{ +use serde_core::{ Deserialize, Deserializer, Serialize, Serializer, de::{self, Unexpected, Visitor}, }; diff --git a/benzina/src/typed_uuid.rs b/benzina/src/typed_uuid.rs index 4f0db55..3418e0a 100644 --- a/benzina/src/typed_uuid.rs +++ b/benzina/src/typed_uuid.rs @@ -398,15 +398,15 @@ macro_rules! __typed_uuid__impl_dangerous_construction { #[cfg(feature = "serde")] macro_rules! __typed_uuid__impl_serde { ($name:ident) => { - impl $crate::__private::serde::Serialize for $name { + impl $crate::__private::serde_core::Serialize for $name { fn serialize( &self, serializer: S, ) -> $crate::__private::std::result::Result where - S: $crate::__private::serde::Serializer, + S: $crate::__private::serde_core::Serializer, { - $crate::__private::serde::Serialize::serialize(&self.0, serializer) + $crate::__private::serde_core::Serialize::serialize(&self.0, serializer) } } };