Skip to content

Commit d1acdb5

Browse files
committed
Remove usage of deprecated serde_if_integer128 and bump serde dependency >=1.0.139 -> >=1.0.180 due to that
1 parent 595033e commit d1acdb5

File tree

15 files changed

+93
-185
lines changed

15 files changed

+93
-185
lines changed

Cargo.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ include = ["src/*", "LICENSE-MIT.md", "README.md"]
2222
arbitrary = { version = "1", features = ["derive"], optional = true }
2323
document-features = { version = "0.2", optional = true }
2424
encoding_rs = { version = "0.8", optional = true }
25-
serde = { version = ">=1.0.139", optional = true }
25+
# 1.0.180 is the first version that requires compiler with integer128 support (1.26)
26+
# Because serde_if_integer128 is deprecated since 1.0.221, we do not use it anymore
27+
serde = { version = ">=1.0.180", optional = true }
2628
tokio = { version = "1.10", optional = true, default-features = false, features = ["io-util"] }
2729
memchr = "2.1"
2830

Changelog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@
2020

2121
### Misc Changes
2222

23+
- [#908]: Increase minimal supported `serde` version from 1.0.139 to 1.0.180.
24+
25+
[#908]: https://github.com/tafia/quick-xml/pull/908
26+
2327

2428
## 0.38.4 -- 2025-11-??
2529

src/de/key.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use crate::events::BytesStart;
55
use crate::name::QName;
66
use crate::utils::CowRef;
77
use serde::de::{DeserializeSeed, Deserializer, EnumAccess, Visitor};
8-
use serde::{forward_to_deserialize_any, serde_if_integer128};
8+
use serde::forward_to_deserialize_any;
99
use std::borrow::Cow;
1010

1111
macro_rules! deserialize_num {
@@ -155,10 +155,8 @@ impl<'de, 'd> Deserializer<'de> for QNameDeserializer<'de, 'd> {
155155
deserialize_num!(deserialize_u32, visit_u32);
156156
deserialize_num!(deserialize_u64, visit_u64);
157157

158-
serde_if_integer128! {
159-
deserialize_num!(deserialize_i128, visit_i128);
160-
deserialize_num!(deserialize_u128, visit_u128);
161-
}
158+
deserialize_num!(deserialize_i128, visit_i128);
159+
deserialize_num!(deserialize_u128, visit_u128);
162160

163161
deserialize_num!(deserialize_f32, visit_f32);
164162
deserialize_num!(deserialize_f64, visit_f64);
@@ -389,10 +387,8 @@ mod tests {
389387
deserialized_to!(u32_: u32 = "3" => 3);
390388
deserialized_to!(u64_: u64 = "3" => 3);
391389

392-
serde_if_integer128! {
393-
deserialized_to!(i128_: i128 = "-2" => -2);
394-
deserialized_to!(u128_: u128 = "2" => 2);
395-
}
390+
deserialized_to!(i128_: i128 = "-2" => -2);
391+
deserialized_to!(u128_: u128 = "2" => 2);
396392

397393
deserialized_to!(f32_: f32 = "1.23" => 1.23);
398394
deserialized_to!(f64_: f64 = "1.23" => 1.23);

src/de/map.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ use crate::{
1414
};
1515
use serde::de::value::BorrowedStrDeserializer;
1616
use serde::de::{self, DeserializeSeed, Deserializer as _, MapAccess, SeqAccess, Visitor};
17-
use serde::serde_if_integer128;
1817
use std::borrow::Cow;
1918
use std::ops::Range;
2019

src/de/mod.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1973,10 +1973,6 @@
19731973
//! [quick-xml#586]: https://github.com/tafia/quick-xml/issues/586
19741974
//! [`impl_deserialize_for_internally_tagged_enum!`]: crate::impl_deserialize_for_internally_tagged_enum
19751975
1976-
// Macros should be defined before the modules that using them
1977-
// Also, macros should be imported before using them
1978-
use serde::serde_if_integer128;
1979-
19801976
macro_rules! forward_to_simple_type {
19811977
($deserialize:ident, $($mut:tt)?) => {
19821978
#[inline]
@@ -2003,10 +1999,8 @@ macro_rules! deserialize_primitives {
20031999
forward_to_simple_type!(deserialize_u32, $($mut)?);
20042000
forward_to_simple_type!(deserialize_u64, $($mut)?);
20052001

2006-
serde_if_integer128! {
2007-
forward_to_simple_type!(deserialize_i128, $($mut)?);
2008-
forward_to_simple_type!(deserialize_u128, $($mut)?);
2009-
}
2002+
forward_to_simple_type!(deserialize_i128, $($mut)?);
2003+
forward_to_simple_type!(deserialize_u128, $($mut)?);
20102004

20112005
forward_to_simple_type!(deserialize_f32, $($mut)?);
20122006
forward_to_simple_type!(deserialize_f64, $($mut)?);

src/de/simple_type.rs

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ use serde::de::value::UnitDeserializer;
1313
use serde::de::{
1414
DeserializeSeed, Deserializer, EnumAccess, IntoDeserializer, SeqAccess, VariantAccess, Visitor,
1515
};
16-
use serde::serde_if_integer128;
1716
use std::borrow::Cow;
1817
use std::ops::Range;
1918

@@ -172,10 +171,8 @@ impl<'de, 'a> Deserializer<'de> for AtomicDeserializer<'de, 'a> {
172171
deserialize_num!(deserialize_u32 => visit_u32);
173172
deserialize_num!(deserialize_u64 => visit_u64);
174173

175-
serde_if_integer128! {
176-
deserialize_num!(deserialize_i128 => visit_i128);
177-
deserialize_num!(deserialize_u128 => visit_u128);
178-
}
174+
deserialize_num!(deserialize_i128 => visit_i128);
175+
deserialize_num!(deserialize_u128 => visit_u128);
179176

180177
deserialize_num!(deserialize_f32 => visit_f32);
181178
deserialize_num!(deserialize_f64 => visit_f64);
@@ -633,10 +630,8 @@ impl<'de, 'a> Deserializer<'de> for SimpleTypeDeserializer<'de, 'a> {
633630
deserialize_primitive!(deserialize_u32);
634631
deserialize_primitive!(deserialize_u64);
635632

636-
serde_if_integer128! {
637-
deserialize_primitive!(deserialize_i128);
638-
deserialize_primitive!(deserialize_u128);
639-
}
633+
deserialize_primitive!(deserialize_i128);
634+
deserialize_primitive!(deserialize_u128);
640635

641636
deserialize_primitive!(deserialize_f32);
642637
deserialize_primitive!(deserialize_f64);
@@ -984,10 +979,8 @@ mod tests {
984979
deserialized_to!(u32_: u32 = "3" => 3);
985980
deserialized_to!(u64_: u64 = "3" => 3);
986981

987-
serde_if_integer128! {
988-
deserialized_to!(i128_: i128 = "-2" => -2);
989-
deserialized_to!(u128_: u128 = "2" => 2);
990-
}
982+
deserialized_to!(i128_: i128 = "-2" => -2);
983+
deserialized_to!(u128_: u128 = "2" => 2);
991984

992985
deserialized_to!(f32_: f32 = "1.23" => 1.23);
993986
deserialized_to!(f64_: f64 = "1.23" => 1.23);
@@ -1182,10 +1175,8 @@ mod tests {
11821175
simple!(utf8, u32_: u32 = "3" => 3);
11831176
simple!(utf8, u64_: u64 = "3" => 3);
11841177

1185-
serde_if_integer128! {
1186-
simple!(utf8, i128_: i128 = "-2" => -2);
1187-
simple!(utf8, u128_: u128 = "2" => 2);
1188-
}
1178+
simple!(utf8, i128_: i128 = "-2" => -2);
1179+
simple!(utf8, u128_: u128 = "2" => 2);
11891180

11901181
simple!(utf8, f32_: f32 = "1.23" => 1.23);
11911182
simple!(utf8, f64_: f64 = "1.23" => 1.23);
@@ -1272,10 +1263,8 @@ mod tests {
12721263
utf16!(u32_: u32 = "3" => 3);
12731264
utf16!(u64_: u64 = "3" => 3);
12741265

1275-
serde_if_integer128! {
1276-
utf16!(i128_: i128 = "-2" => -2);
1277-
utf16!(u128_: u128 = "2" => 2);
1278-
}
1266+
utf16!(i128_: i128 = "-2" => -2);
1267+
utf16!(u128_: u128 = "2" => 2);
12791268

12801269
utf16!(f32_: f32 = "1.23" => 1.23);
12811270
utf16!(f64_: f64 = "1.23" => 1.23);

src/de/text.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ use crate::{
55
};
66
use serde::de::value::BorrowedStrDeserializer;
77
use serde::de::{DeserializeSeed, Deserializer, EnumAccess, VariantAccess, Visitor};
8-
use serde::serde_if_integer128;
98
use std::borrow::Cow;
109

1110
/// A deserializer for a single text node of a mixed sequence of tags and text.

src/se/content.rs

Lines changed: 14 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ use crate::se::{Indent, QuoteLevel, SeError, TextFormat, WriteResult, XmlName};
77
use serde::ser::{
88
Impossible, Serialize, SerializeSeq, SerializeTuple, SerializeTupleStruct, Serializer,
99
};
10-
use serde::serde_if_integer128;
1110
use std::fmt::Write;
1211

1312
macro_rules! write_primitive {
@@ -202,10 +201,8 @@ impl<'w, 'i, W: Write> Serializer for ContentSerializer<'w, 'i, W> {
202201
write_primitive!(serialize_u32(u32));
203202
write_primitive!(serialize_u64(u64));
204203

205-
serde_if_integer128! {
206-
write_primitive!(serialize_i128(i128));
207-
write_primitive!(serialize_u128(u128));
208-
}
204+
write_primitive!(serialize_i128(i128));
205+
write_primitive!(serialize_u128(u128));
209206

210207
write_primitive!(serialize_f32(f32));
211208
write_primitive!(serialize_f64(f64));
@@ -665,10 +662,8 @@ pub(super) mod tests {
665662
serialize_as!(u64_: 42000000000000u64 => "42000000000000", Text);
666663
serialize_as!(usize_: 42000000usize => "42000000", Text);
667664

668-
serde_if_integer128! {
669-
serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000", Text);
670-
serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000", Text);
671-
}
665+
serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000", Text);
666+
serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000", Text);
672667

673668
serialize_as!(f32_: 4.2f32 => "4.2", Text);
674669
serialize_as!(f64_: 4.2f64 => "4.2", Text);
@@ -800,10 +795,8 @@ pub(super) mod tests {
800795
text!(u64_: 42000000000000u64 => "42000000000000");
801796
text!(usize_: 42000000usize => "42000000");
802797

803-
serde_if_integer128! {
804-
text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000");
805-
text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000");
806-
}
798+
text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000");
799+
text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000");
807800

808801
text!(f32_: 4.2f32 => "4.2");
809802
text!(f64_: 4.2f64 => "4.2");
@@ -925,10 +918,8 @@ pub(super) mod tests {
925918
value!(u64_: 42000000000000u64 => "42000000000000");
926919
value!(usize_: 42000000usize => "42000000");
927920

928-
serde_if_integer128! {
929-
value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000");
930-
value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000");
931-
}
921+
value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000");
922+
value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000");
932923

933924
value!(f32_: 4.2f32 => "4.2");
934925
value!(f64_: 4.2f64 => "4.2");
@@ -1136,10 +1127,8 @@ pub(super) mod tests {
11361127
serialize_as!(u64_: 42000000000000u64 => "42000000000000", Text);
11371128
serialize_as!(usize_: 42000000usize => "42000000", Text);
11381129

1139-
serde_if_integer128! {
1140-
serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000", Text);
1141-
serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000", Text);
1142-
}
1130+
serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000", Text);
1131+
serialize_as!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000", Text);
11431132

11441133
serialize_as!(f32_: 4.2f32 => "4.2", Text);
11451134
serialize_as!(f64_: 4.2f64 => "4.2", Text);
@@ -1264,10 +1253,8 @@ pub(super) mod tests {
12641253
text!(u64_: 42000000000000u64 => "42000000000000");
12651254
text!(usize_: 42000000usize => "42000000");
12661255

1267-
serde_if_integer128! {
1268-
text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000");
1269-
text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000");
1270-
}
1256+
text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000");
1257+
text!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000");
12711258

12721259
text!(f32_: 4.2f32 => "4.2");
12731260
text!(f64_: 4.2f64 => "4.2");
@@ -1389,10 +1376,8 @@ pub(super) mod tests {
13891376
value!(u64_: 42000000000000u64 => "42000000000000");
13901377
value!(usize_: 42000000usize => "42000000");
13911378

1392-
serde_if_integer128! {
1393-
value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000");
1394-
value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000");
1395-
}
1379+
value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000");
1380+
value!(u128_: 420000000000000000000000000000u128 => "420000000000000000000000000000");
13961381

13971382
value!(f32_: 4.2f32 => "4.2");
13981383
value!(f64_: 4.2f64 => "4.2");

0 commit comments

Comments
 (0)