diff --git a/Cargo.toml b/Cargo.toml index 539eb761..8943c39f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,9 @@ include = ["src/*", "LICENSE-MIT.md", "README.md"] arbitrary = { version = "1", features = ["derive"], optional = true } document-features = { version = "0.2", optional = true } encoding_rs = { version = "0.8", optional = true } -serde = { version = ">=1.0.139", optional = true } +# 1.0.180 is the first version that requires compiler with integer128 support (1.26) +# Because serde_if_integer128 is deprecated since 1.0.221, we do not use it anymore +serde = { version = ">=1.0.180", optional = true } tokio = { version = "1.10", optional = true, default-features = false, features = ["io-util"] } memchr = "2.1" diff --git a/Changelog.md b/Changelog.md index 96bc8f53..7c9cef04 100644 --- a/Changelog.md +++ b/Changelog.md @@ -20,6 +20,10 @@ ### Misc Changes +- [#908]: Increase minimal supported `serde` version from 1.0.139 to 1.0.180. + +[#908]: https://github.com/tafia/quick-xml/pull/908 + ## 0.38.4 -- 2025-11-?? diff --git a/src/de/key.rs b/src/de/key.rs index bf5ba5fc..75b82239 100644 --- a/src/de/key.rs +++ b/src/de/key.rs @@ -5,7 +5,7 @@ use crate::events::BytesStart; use crate::name::QName; use crate::utils::CowRef; use serde::de::{DeserializeSeed, Deserializer, EnumAccess, Visitor}; -use serde::{forward_to_deserialize_any, serde_if_integer128}; +use serde::forward_to_deserialize_any; use std::borrow::Cow; macro_rules! deserialize_num { @@ -155,10 +155,8 @@ impl<'de, 'd> Deserializer<'de> for QNameDeserializer<'de, 'd> { deserialize_num!(deserialize_u32, visit_u32); deserialize_num!(deserialize_u64, visit_u64); - serde_if_integer128! { - deserialize_num!(deserialize_i128, visit_i128); - deserialize_num!(deserialize_u128, visit_u128); - } + deserialize_num!(deserialize_i128, visit_i128); + deserialize_num!(deserialize_u128, visit_u128); deserialize_num!(deserialize_f32, visit_f32); deserialize_num!(deserialize_f64, visit_f64); @@ -389,10 +387,8 @@ mod tests { deserialized_to!(u32_: u32 = "3" => 3); deserialized_to!(u64_: u64 = "3" => 3); - serde_if_integer128! { - deserialized_to!(i128_: i128 = "-2" => -2); - deserialized_to!(u128_: u128 = "2" => 2); - } + deserialized_to!(i128_: i128 = "-2" => -2); + deserialized_to!(u128_: u128 = "2" => 2); deserialized_to!(f32_: f32 = "1.23" => 1.23); deserialized_to!(f64_: f64 = "1.23" => 1.23); diff --git a/src/de/map.rs b/src/de/map.rs index 1b2879bf..cfa0bca8 100644 --- a/src/de/map.rs +++ b/src/de/map.rs @@ -14,7 +14,6 @@ use crate::{ }; use serde::de::value::BorrowedStrDeserializer; use serde::de::{self, DeserializeSeed, Deserializer as _, MapAccess, SeqAccess, Visitor}; -use serde::serde_if_integer128; use std::borrow::Cow; use std::ops::Range; diff --git a/src/de/mod.rs b/src/de/mod.rs index 35ba64c6..a8a8282a 100644 --- a/src/de/mod.rs +++ b/src/de/mod.rs @@ -1973,10 +1973,6 @@ //! [quick-xml#586]: https://github.com/tafia/quick-xml/issues/586 //! [`impl_deserialize_for_internally_tagged_enum!`]: crate::impl_deserialize_for_internally_tagged_enum -// Macros should be defined before the modules that using them -// Also, macros should be imported before using them -use serde::serde_if_integer128; - macro_rules! forward_to_simple_type { ($deserialize:ident, $($mut:tt)?) => { #[inline] @@ -2003,10 +1999,8 @@ macro_rules! deserialize_primitives { forward_to_simple_type!(deserialize_u32, $($mut)?); forward_to_simple_type!(deserialize_u64, $($mut)?); - serde_if_integer128! { - forward_to_simple_type!(deserialize_i128, $($mut)?); - forward_to_simple_type!(deserialize_u128, $($mut)?); - } + forward_to_simple_type!(deserialize_i128, $($mut)?); + forward_to_simple_type!(deserialize_u128, $($mut)?); forward_to_simple_type!(deserialize_f32, $($mut)?); forward_to_simple_type!(deserialize_f64, $($mut)?); diff --git a/src/de/simple_type.rs b/src/de/simple_type.rs index db0ab04a..5e615f14 100644 --- a/src/de/simple_type.rs +++ b/src/de/simple_type.rs @@ -13,7 +13,6 @@ use serde::de::value::UnitDeserializer; use serde::de::{ DeserializeSeed, Deserializer, EnumAccess, IntoDeserializer, SeqAccess, VariantAccess, Visitor, }; -use serde::serde_if_integer128; use std::borrow::Cow; use std::ops::Range; @@ -172,10 +171,8 @@ impl<'de, 'a> Deserializer<'de> for AtomicDeserializer<'de, 'a> { deserialize_num!(deserialize_u32 => visit_u32); deserialize_num!(deserialize_u64 => visit_u64); - serde_if_integer128! { - deserialize_num!(deserialize_i128 => visit_i128); - deserialize_num!(deserialize_u128 => visit_u128); - } + deserialize_num!(deserialize_i128 => visit_i128); + deserialize_num!(deserialize_u128 => visit_u128); deserialize_num!(deserialize_f32 => visit_f32); deserialize_num!(deserialize_f64 => visit_f64); @@ -633,10 +630,8 @@ impl<'de, 'a> Deserializer<'de> for SimpleTypeDeserializer<'de, 'a> { deserialize_primitive!(deserialize_u32); deserialize_primitive!(deserialize_u64); - serde_if_integer128! { - deserialize_primitive!(deserialize_i128); - deserialize_primitive!(deserialize_u128); - } + deserialize_primitive!(deserialize_i128); + deserialize_primitive!(deserialize_u128); deserialize_primitive!(deserialize_f32); deserialize_primitive!(deserialize_f64); @@ -984,10 +979,8 @@ mod tests { deserialized_to!(u32_: u32 = "3" => 3); deserialized_to!(u64_: u64 = "3" => 3); - serde_if_integer128! { - deserialized_to!(i128_: i128 = "-2" => -2); - deserialized_to!(u128_: u128 = "2" => 2); - } + deserialized_to!(i128_: i128 = "-2" => -2); + deserialized_to!(u128_: u128 = "2" => 2); deserialized_to!(f32_: f32 = "1.23" => 1.23); deserialized_to!(f64_: f64 = "1.23" => 1.23); @@ -1182,10 +1175,8 @@ mod tests { simple!(utf8, u32_: u32 = "3" => 3); simple!(utf8, u64_: u64 = "3" => 3); - serde_if_integer128! { - simple!(utf8, i128_: i128 = "-2" => -2); - simple!(utf8, u128_: u128 = "2" => 2); - } + simple!(utf8, i128_: i128 = "-2" => -2); + simple!(utf8, u128_: u128 = "2" => 2); simple!(utf8, f32_: f32 = "1.23" => 1.23); simple!(utf8, f64_: f64 = "1.23" => 1.23); @@ -1272,10 +1263,8 @@ mod tests { utf16!(u32_: u32 = "3" => 3); utf16!(u64_: u64 = "3" => 3); - serde_if_integer128! { - utf16!(i128_: i128 = "-2" => -2); - utf16!(u128_: u128 = "2" => 2); - } + utf16!(i128_: i128 = "-2" => -2); + utf16!(u128_: u128 = "2" => 2); utf16!(f32_: f32 = "1.23" => 1.23); utf16!(f64_: f64 = "1.23" => 1.23); diff --git a/src/de/text.rs b/src/de/text.rs index e8a0ad51..5333f7a4 100644 --- a/src/de/text.rs +++ b/src/de/text.rs @@ -5,7 +5,6 @@ use crate::{ }; use serde::de::value::BorrowedStrDeserializer; use serde::de::{DeserializeSeed, Deserializer, EnumAccess, VariantAccess, Visitor}; -use serde::serde_if_integer128; use std::borrow::Cow; /// A deserializer for a single text node of a mixed sequence of tags and text. diff --git a/src/se/content.rs b/src/se/content.rs index 4ffaabd5..d2969b88 100644 --- a/src/se/content.rs +++ b/src/se/content.rs @@ -7,7 +7,6 @@ use crate::se::{Indent, QuoteLevel, SeError, TextFormat, WriteResult, XmlName}; use serde::ser::{ Impossible, Serialize, SerializeSeq, SerializeTuple, SerializeTupleStruct, Serializer, }; -use serde::serde_if_integer128; use std::fmt::Write; macro_rules! write_primitive { @@ -202,10 +201,8 @@ impl<'w, 'i, W: Write> Serializer for ContentSerializer<'w, 'i, W> { write_primitive!(serialize_u32(u32)); write_primitive!(serialize_u64(u64)); - serde_if_integer128! { - write_primitive!(serialize_i128(i128)); - write_primitive!(serialize_u128(u128)); - } + write_primitive!(serialize_i128(i128)); + write_primitive!(serialize_u128(u128)); write_primitive!(serialize_f32(f32)); write_primitive!(serialize_f64(f64)); @@ -665,10 +662,8 @@ pub(super) mod tests { serialize_as!(u64_: 42000000000000u64 => "42000000000000", Text); serialize_as!(usize_: 42000000usize => "42000000", Text); - serde_if_integer128! { - serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000", Text); - serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000", Text); - } + serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000", Text); + serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000", Text); serialize_as!(f32_: 4.2f32 => "4.2", Text); serialize_as!(f64_: 4.2f64 => "4.2", Text); @@ -800,10 +795,8 @@ pub(super) mod tests { text!(u64_: 42000000000000u64 => "42000000000000"); text!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); text!(f32_: 4.2f32 => "4.2"); text!(f64_: 4.2f64 => "4.2"); @@ -925,10 +918,8 @@ pub(super) mod tests { value!(u64_: 42000000000000u64 => "42000000000000"); value!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); value!(f32_: 4.2f32 => "4.2"); value!(f64_: 4.2f64 => "4.2"); @@ -1136,10 +1127,8 @@ pub(super) mod tests { serialize_as!(u64_: 42000000000000u64 => "42000000000000", Text); serialize_as!(usize_: 42000000usize => "42000000", Text); - serde_if_integer128! { - serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000", Text); - serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000", Text); - } + serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000", Text); + serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000", Text); serialize_as!(f32_: 4.2f32 => "4.2", Text); serialize_as!(f64_: 4.2f64 => "4.2", Text); @@ -1264,10 +1253,8 @@ pub(super) mod tests { text!(u64_: 42000000000000u64 => "42000000000000"); text!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); text!(f32_: 4.2f32 => "4.2"); text!(f64_: 4.2f64 => "4.2"); @@ -1389,10 +1376,8 @@ pub(super) mod tests { value!(u64_: 42000000000000u64 => "42000000000000"); value!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); value!(f32_: 4.2f32 => "4.2"); value!(f64_: 4.2f64 => "4.2"); diff --git a/src/se/element.rs b/src/se/element.rs index 3dea52aa..28dec26d 100644 --- a/src/se/element.rs +++ b/src/se/element.rs @@ -10,7 +10,6 @@ use serde::ser::{ Impossible, Serialize, SerializeMap, SerializeSeq, SerializeStruct, SerializeStructVariant, SerializeTuple, SerializeTupleStruct, SerializeTupleVariant, Serializer, }; -use serde::serde_if_integer128; use std::fmt::Write; /// Writes simple type content between [`ElementSerializer::key`] tags. @@ -88,10 +87,8 @@ impl<'w, 'k, W: Write> Serializer for ElementSerializer<'w, 'k, W> { write_primitive!(serialize_u32(u32)); write_primitive!(serialize_u64(u64)); - serde_if_integer128! { - write_primitive!(serialize_i128(i128)); - write_primitive!(serialize_u128(u128)); - } + write_primitive!(serialize_i128(i128)); + write_primitive!(serialize_u128(u128)); write_primitive!(serialize_f32(f32)); write_primitive!(serialize_f64(f64)); @@ -700,10 +697,8 @@ mod tests { serialize_as!(u64_: 42000000000000u64 => "42000000000000"); serialize_as!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); serialize_as!(f32_: 4.2f32 => "4.2"); serialize_as!(f64_: 4.2f64 => "4.2"); @@ -802,10 +797,8 @@ mod tests { text!(u64_: 42000000000000u64 => "42000000000000"); text!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); text!(f32_: 4.2f32 => "4.2"); text!(f64_: 4.2f64 => "4.2"); @@ -927,10 +920,8 @@ mod tests { text!(u64_: 42000000000000u64 => "42000000000000"); text!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); text!(f32_: 4.2f32 => "4.2"); text!(f64_: 4.2f64 => "4.2"); @@ -1056,10 +1047,8 @@ mod tests { value!(u64_: 42000000000000u64 => "42000000000000"); value!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); value!(f32_: 4.2f32 => "4.2"); value!(f64_: 4.2f64 => "4.2"); @@ -1167,10 +1156,8 @@ mod tests { value!(u64_: 42000000000000u64 => "42000000000000"); value!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); value!(f32_: 4.2f32 => "4.2"); value!(f64_: 4.2f64 => "4.2"); @@ -1423,10 +1410,8 @@ mod tests { serialize_as!(u64_: 42000000000000u64 => "42000000000000"); serialize_as!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); serialize_as!(f32_: 4.2f32 => "4.2"); serialize_as!(f64_: 4.2f64 => "4.2"); @@ -1528,10 +1513,8 @@ mod tests { text!(u64_: 42000000000000u64 => "42000000000000"); text!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); text!(f32_: 4.2f32 => "4.2"); text!(f64_: 4.2f64 => "4.2"); @@ -1654,10 +1637,8 @@ mod tests { text!(u64_: 42000000000000u64 => "42000000000000"); text!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); text!(f32_: 4.2f32 => "4.2"); text!(f64_: 4.2f64 => "4.2"); @@ -1785,10 +1766,8 @@ mod tests { value!(u64_: 42000000000000u64 => "42000000000000"); value!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); value!(f32_: 4.2f32 => "4.2"); value!(f64_: 4.2f64 => "4.2"); @@ -1899,10 +1878,8 @@ mod tests { value!(u64_: 42000000000000u64 => "42000000000000"); value!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); value!(f32_: 4.2f32 => "4.2"); value!(f64_: 4.2f64 => "4.2"); diff --git a/src/se/key.rs b/src/se/key.rs index 28d56fcf..24aed68e 100644 --- a/src/se/key.rs +++ b/src/se/key.rs @@ -1,6 +1,5 @@ use crate::se::SeError; use serde::ser::{Impossible, Serialize, Serializer}; -use serde::serde_if_integer128; use std::fmt::{self, Write}; /// A serializer, that ensures, that only plain types can be serialized, @@ -246,10 +245,8 @@ mod tests { serialize_as!(u64_: 42000000000000u64 => "42000000000000"); serialize_as!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); serialize_as!(f32_: 4.2f32 => "4.2"); serialize_as!(f64_: 4.2f64 => "4.2"); diff --git a/src/se/mod.rs b/src/se/mod.rs index 1ac3782b..d0ca0bb3 100644 --- a/src/se/mod.rs +++ b/src/se/mod.rs @@ -25,10 +25,8 @@ macro_rules! write_primitive { write_primitive!(serialize_u32(u32)); write_primitive!(serialize_u64(u64)); - serde_if_integer128! { - write_primitive!(serialize_i128(i128)); - write_primitive!(serialize_u128(u128)); - } + write_primitive!(serialize_i128(i128)); + write_primitive!(serialize_u128(u128)); write_primitive!(serialize_f32(f32)); write_primitive!(serialize_f64(f64)); @@ -84,7 +82,6 @@ use self::element::{ElementSerializer, Map, Struct, Tuple}; use crate::de::TEXT_KEY; use crate::writer::{Indentation, ToFmtWrite}; use serde::ser::{self, Serialize}; -use serde::serde_if_integer128; use std::fmt::Write; use std::str::from_utf8; @@ -781,10 +778,8 @@ impl<'w, 'r, W: Write> ser::Serializer for Serializer<'w, 'r, W> { forward!(serialize_u32(u32)); forward!(serialize_u64(u64)); - serde_if_integer128! { - forward!(serialize_i128(i128)); - forward!(serialize_u128(u128)); - } + forward!(serialize_i128(i128)); + forward!(serialize_u128(u128)); forward!(serialize_f32(f32)); forward!(serialize_f64(f64)); diff --git a/src/se/simple_type.rs b/src/se/simple_type.rs index 4e07713b..68a93071 100644 --- a/src/se/simple_type.rs +++ b/src/se/simple_type.rs @@ -10,7 +10,6 @@ use serde::ser::{ Impossible, Serialize, SerializeSeq, SerializeTuple, SerializeTupleStruct, SerializeTupleVariant, Serializer, }; -use serde::serde_if_integer128; use std::fmt::{self, Write}; #[derive(Debug, Clone, Copy, PartialEq, Eq)] @@ -281,10 +280,8 @@ impl Serializer for AtomicSerializer { write_atomic!(serialize_u32(u32)); write_atomic!(serialize_u64(u64)); - serde_if_integer128! { - write_atomic!(serialize_i128(i128)); - write_atomic!(serialize_u128(u128)); - } + write_atomic!(serialize_i128(i128)); + write_atomic!(serialize_u128(u128)); write_atomic!(serialize_f32(f32)); write_atomic!(serialize_f64(f64)); @@ -1104,10 +1101,8 @@ mod tests { serialize_as!(u64_: 42000000000000u64 => "42000000000000"); serialize_as!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); serialize_as!(f32_: 4.2f32 => "4.2"); serialize_as!(f64_: 4.2f64 => "4.2"); @@ -1220,10 +1215,8 @@ mod tests { serialize_as!(u64_: 42000000000000u64 => "42000000000000"); serialize_as!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); serialize_as!(f32_: 4.2f32 => "4.2"); serialize_as!(f64_: 4.2f64 => "4.2"); diff --git a/src/se/text.rs b/src/se/text.rs index 7094adba..600e521a 100644 --- a/src/se/text.rs +++ b/src/se/text.rs @@ -4,7 +4,6 @@ use crate::de::TEXT_KEY; use crate::se::simple_type::{SimpleSeq, SimpleTypeSerializer}; use crate::se::SeError; use serde::ser::{Impossible, Serialize, Serializer}; -use serde::serde_if_integer128; use std::fmt::Write; macro_rules! write_primitive { @@ -49,10 +48,8 @@ impl Serializer for TextSerializer { write_primitive!(serialize_u32(u32)); write_primitive!(serialize_u64(u64)); - serde_if_integer128! { - write_primitive!(serialize_i128(i128)); - write_primitive!(serialize_u128(u128)); - } + write_primitive!(serialize_i128(i128)); + write_primitive!(serialize_u128(u128)); write_primitive!(serialize_f32(f32)); write_primitive!(serialize_f64(f64)); diff --git a/tests/serde-de.rs b/tests/serde-de.rs index ff51ab11..98cbf2b3 100644 --- a/tests/serde-de.rs +++ b/tests/serde-de.rs @@ -5,7 +5,6 @@ use quick_xml::DeError; use pretty_assertions::assert_eq; use serde::de::IgnoredAny; -use serde::serde_if_integer128; use serde::Deserialize; mod serde_helpers; @@ -112,10 +111,8 @@ mod trivial { eof!(u64_: u64 = $value); eof!(usize_: usize = $value); - serde_if_integer128! { - eof!(u128_: u128 = $value); - eof!(i128_: i128 = $value); - } + eof!(u128_: u128 = $value); + eof!(i128_: i128 = $value); eof!(f32_: f32 = $value); eof!(f64_: f64 = $value); @@ -613,10 +610,8 @@ mod trivial { in_struct!(u64_: u64 = "42000000000000", 42000000000000u64); in_struct!(usize_: usize = "42000000", 42000000usize); - serde_if_integer128! { - in_struct!(u128_: u128 = "420000000000000000000000000000", 420000000000000000000000000000u128); - in_struct!(i128_: i128 = "-420000000000000000000000000000", -420000000000000000000000000000i128); - } + in_struct!(u128_: u128 = "420000000000000000000000000000", 420000000000000000000000000000u128); + in_struct!(i128_: i128 = "-420000000000000000000000000000", -420000000000000000000000000000i128); in_struct!(f32_: f32 = "4.2", 4.2f32); in_struct!(f64_: f64 = "4.2", 4.2f64); @@ -675,10 +670,8 @@ mod trivial { in_struct!(u64_: u64 = "", 42000000000000u64); in_struct!(usize_: usize = "", 42000000usize); - serde_if_integer128! { - in_struct!(u128_: u128 = "", 420000000000000000000000000000u128); - in_struct!(i128_: i128 = "", -420000000000000000000000000000i128); - } + in_struct!(u128_: u128 = "", 420000000000000000000000000000u128); + in_struct!(i128_: i128 = "", -420000000000000000000000000000i128); in_struct!(f32_: f32 = "", 4.2f32); in_struct!(f64_: f64 = "", 4.2f64); @@ -1558,10 +1551,8 @@ mod xml_schema_lists { list!(u32_: u32 = r#""# => vec![1, 2, 3]); list!(u64_: u64 = r#""# => vec![1, 2, 3]); - serde_if_integer128! { - list!(i128_: i128 = r#""# => vec![1, -2, 3]); - list!(u128_: u128 = r#""# => vec![1, 2, 3]); - } + list!(i128_: i128 = r#""# => vec![1, -2, 3]); + list!(u128_: u128 = r#""# => vec![1, 2, 3]); list!(f32_: f32 = r#""# => vec![1.23, -4.56, 7.89]); list!(f64_: f64 = r#""# => vec![1.23, -4.56, 7.89]); @@ -1606,10 +1597,8 @@ mod xml_schema_lists { list!(u32_: u32 = "1 2 3" => vec![1, 2, 3]); list!(u64_: u64 = "1 2 3" => vec![1, 2, 3]); - serde_if_integer128! { - list!(i128_: i128 = "1 -2 3" => vec![1, -2, 3]); - list!(u128_: u128 = "1 2 3" => vec![1, 2, 3]); - } + list!(i128_: i128 = "1 -2 3" => vec![1, -2, 3]); + list!(u128_: u128 = "1 2 3" => vec![1, 2, 3]); list!(f32_: f32 = "1.23 -4.56 7.89" => vec![1.23, -4.56, 7.89]); list!(f64_: f64 = "1.23 -4.56 7.89" => vec![1.23, -4.56, 7.89]); @@ -1645,10 +1634,8 @@ mod xml_schema_lists { list!(u32_: u32 = "" => vec![1, 2, 3]); list!(u64_: u64 = "" => vec![1, 2, 3]); - serde_if_integer128! { - list!(i128_: i128 = "" => vec![1, -2, 3]); - list!(u128_: u128 = "" => vec![1, 2, 3]); - } + list!(i128_: i128 = "" => vec![1, -2, 3]); + list!(u128_: u128 = "" => vec![1, 2, 3]); list!(f32_: f32 = "" => vec![1.23, -4.56, 7.89]); list!(f64_: f64 = "" => vec![1.23, -4.56, 7.89]); diff --git a/tests/serde-se.rs b/tests/serde-se.rs index 92c255d1..0bd7cb2b 100644 --- a/tests/serde-se.rs +++ b/tests/serde-se.rs @@ -2,7 +2,7 @@ use quick_xml::de::from_str; use quick_xml::se::{SeError, Serializer}; use quick_xml::utils::Bytes; -use serde::{serde_if_integer128, Deserialize, Serialize}; +use serde::{Deserialize, Serialize}; use std::collections::BTreeMap; #[derive(Debug, PartialEq, Deserialize, Serialize)] @@ -258,10 +258,8 @@ mod without_root { err!(u64_: 42000000000000u64 => Unsupported("cannot serialize `u64` without defined root tag")); err!(usize_: 42000000usize => Unsupported("cannot serialize `u64` without defined root tag")); - serde_if_integer128! { - err!(i128_: -420000000000000000000000000000i128 => Unsupported("cannot serialize `i128` without defined root tag")); - err!(u128_: 420000000000000000000000000000u128 => Unsupported("cannot serialize `u128` without defined root tag")); - } + err!(i128_: -420000000000000000000000000000i128 => Unsupported("cannot serialize `i128` without defined root tag")); + err!(u128_: 420000000000000000000000000000u128 => Unsupported("cannot serialize `u128` without defined root tag")); err!(f32_: 4.2f32 => Unsupported("cannot serialize `f32` without defined root tag")); err!(f64_: 4.2f64 => Unsupported("cannot serialize `f64` without defined root tag")); @@ -1304,10 +1302,8 @@ mod without_root { err!(u64_: 42000000000000u64 => Unsupported("cannot serialize `u64` without defined root tag")); err!(usize_: 42000000usize => Unsupported("cannot serialize `u64` without defined root tag")); - serde_if_integer128! { - err!(i128_: -420000000000000000000000000000i128 => Unsupported("cannot serialize `i128` without defined root tag")); - err!(u128_: 420000000000000000000000000000u128 => Unsupported("cannot serialize `u128` without defined root tag")); - } + err!(i128_: -420000000000000000000000000000i128 => Unsupported("cannot serialize `i128` without defined root tag")); + err!(u128_: 420000000000000000000000000000u128 => Unsupported("cannot serialize `u128` without defined root tag")); err!(f32_: 4.2f32 => Unsupported("cannot serialize `f32` without defined root tag")); err!(f64_: 4.2f64 => Unsupported("cannot serialize `f64` without defined root tag")); @@ -1854,10 +1850,8 @@ mod with_root { serialize_as!(u64_: 42000000000000u64 => "42000000000000"); serialize_as!(usize_: 42000000usize => "42000000"); - serde_if_integer128! { - serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); - serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); - } + serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); + serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000"); serialize_as!(f32_: 4.2f32 => "4.2"); serialize_as!(f64_: 4.2f64 => "4.2");