From 02af9c06ad239b86f4ab5e90d286fe9037fde3ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Kj=C3=A4ll?= Date: Fri, 19 Sep 2025 10:36:42 +0200 Subject: [PATCH] fix tests on 32-bit architecture --- src/se/content.rs | 36 ++++++++++++++++++++++++++ src/se/element.rs | 60 +++++++++++++++++++++++++++++++++++++++++++ src/se/key.rs | 6 +++++ src/se/simple_type.rs | 12 +++++++++ tests/serde-de.rs | 12 +++++++++ tests/serde-se.rs | 18 +++++++++++++ 6 files changed, 144 insertions(+) diff --git a/src/se/content.rs b/src/se/content.rs index f27579a2..6bdd90c1 100644 --- a/src/se/content.rs +++ b/src/se/content.rs @@ -650,13 +650,19 @@ pub(super) mod tests { serialize_as!(i16_: -4200i16 => "-4200", Text); serialize_as!(i32_: -42000000i32 => "-42000000", Text); serialize_as!(i64_: -42000000000000i64 => "-42000000000000", Text); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(isize_: -42000000000000isize => "-42000000000000", Text); + #[cfg(target_pointer_width = "32")] + serialize_as!(isize_: -42000000isize => "-42000000", Text); serialize_as!(u8_: 42u8 => "42", Text); serialize_as!(u16_: 4200u16 => "4200", Text); serialize_as!(u32_: 42000000u32 => "42000000", Text); serialize_as!(u64_: 42000000000000u64 => "42000000000000", Text); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(usize_: 42000000000000usize => "42000000000000", Text); + #[cfg(target_pointer_width = "32")] + serialize_as!(usize_: 42000000usize => "42000000", Text); serde_if_integer128! { serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000", Text); @@ -785,13 +791,19 @@ pub(super) mod tests { text!(i16_: -4200i16 => "-4200"); text!(i32_: -42000000i32 => "-42000000"); text!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] text!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + text!(isize_: -42000000isize => "-42000000"); text!(u8_: 42u8 => "42"); text!(u16_: 4200u16 => "4200"); text!(u32_: 42000000u32 => "42000000"); text!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] text!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + text!(usize_: 42000000usize => "42000000"); serde_if_integer128! { text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); @@ -910,13 +922,19 @@ pub(super) mod tests { value!(i16_: -4200i16 => "-4200"); value!(i32_: -42000000i32 => "-42000000"); value!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] value!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + value!(isize_: -42000000isize => "-42000000"); value!(u8_: 42u8 => "42"); value!(u16_: 4200u16 => "4200"); value!(u32_: 42000000u32 => "42000000"); value!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] value!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + value!(usize_: 42000000usize => "42000000"); serde_if_integer128! { value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); @@ -1119,13 +1137,19 @@ pub(super) mod tests { serialize_as!(i16_: -4200i16 => "-4200", Text); serialize_as!(i32_: -42000000i32 => "-42000000", Text); serialize_as!(i64_: -42000000000000i64 => "-42000000000000", Text); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(isize_: -42000000000000isize => "-42000000000000", Text); + #[cfg(target_pointer_width = "32")] + serialize_as!(isize_: -42000000isize => "-42000000", Text); serialize_as!(u8_: 42u8 => "42", Text); serialize_as!(u16_: 4200u16 => "4200", Text); serialize_as!(u32_: 42000000u32 => "42000000", Text); serialize_as!(u64_: 42000000000000u64 => "42000000000000", Text); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(usize_: 42000000000000usize => "42000000000000", Text); + #[cfg(target_pointer_width = "32")] + serialize_as!(usize_: 42000000usize => "42000000", Text); serde_if_integer128! { serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000", Text); @@ -1247,13 +1271,19 @@ pub(super) mod tests { text!(i16_: -4200i16 => "-4200"); text!(i32_: -42000000i32 => "-42000000"); text!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] text!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + text!(isize_: -42000000isize => "-42000000"); text!(u8_: 42u8 => "42"); text!(u16_: 4200u16 => "4200"); text!(u32_: 42000000u32 => "42000000"); text!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] text!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + text!(usize_: 42000000usize => "42000000"); serde_if_integer128! { text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); @@ -1372,13 +1402,19 @@ pub(super) mod tests { value!(i16_: -4200i16 => "-4200"); value!(i32_: -42000000i32 => "-42000000"); value!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] value!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + value!(isize_: -42000000isize => "-42000000"); value!(u8_: 42u8 => "42"); value!(u16_: 4200u16 => "4200"); value!(u32_: 42000000u32 => "42000000"); value!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] value!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + value!(usize_: 42000000usize => "42000000"); serde_if_integer128! { value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); diff --git a/src/se/element.rs b/src/se/element.rs index f9c43093..27103986 100644 --- a/src/se/element.rs +++ b/src/se/element.rs @@ -689,13 +689,19 @@ mod tests { serialize_as!(i16_: -4200i16 => "-4200"); serialize_as!(i32_: -42000000i32 => "-42000000"); serialize_as!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + serialize_as!(isize_: -42000000isize => "-42000000"); serialize_as!(u8_: 42u8 => "42"); serialize_as!(u16_: 4200u16 => "4200"); serialize_as!(u32_: 42000000u32 => "42000000"); serialize_as!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + serialize_as!(usize_: 42000000usize => "42000000"); serde_if_integer128! { serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); @@ -791,13 +797,19 @@ mod tests { text!(i16_: -4200i16 => "-4200"); text!(i32_: -42000000i32 => "-42000000"); text!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] text!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + text!(isize_: -42000000isize => "-42000000"); text!(u8_: 42u8 => "42"); text!(u16_: 4200u16 => "4200"); text!(u32_: 42000000u32 => "42000000"); text!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] text!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + text!(usize_: 42000000usize => "42000000"); serde_if_integer128! { text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); @@ -916,13 +928,19 @@ mod tests { text!(i16_: -4200i16 => "-4200"); text!(i32_: -42000000i32 => "-42000000"); text!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] text!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + text!(isize_: -42000000isize => "-42000000"); text!(u8_: 42u8 => "42"); text!(u16_: 4200u16 => "4200"); text!(u32_: 42000000u32 => "42000000"); text!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] text!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + text!(usize_: 42000000usize => "42000000"); serde_if_integer128! { text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); @@ -1045,13 +1063,19 @@ mod tests { value!(i16_: -4200i16 => "-4200"); value!(i32_: -42000000i32 => "-42000000"); value!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] value!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + value!(isize_: -42000000isize => "-42000000"); value!(u8_: 42u8 => "42"); value!(u16_: 4200u16 => "4200"); value!(u32_: 42000000u32 => "42000000"); value!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] value!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + value!(usize_: 42000000usize => "42000000"); serde_if_integer128! { value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); @@ -1156,13 +1180,19 @@ mod tests { value!(i16_: -4200i16 => "-4200"); value!(i32_: -42000000i32 => "-42000000"); value!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] value!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + value!(isize_: -42000000isize => "-42000000"); value!(u8_: 42u8 => "42"); value!(u16_: 4200u16 => "4200"); value!(u32_: 42000000u32 => "42000000"); value!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] value!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + value!(usize_: 42000000usize => "42000000"); serde_if_integer128! { value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); @@ -1410,13 +1440,19 @@ mod tests { serialize_as!(i16_: -4200i16 => "-4200"); serialize_as!(i32_: -42000000i32 => "-42000000"); serialize_as!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + serialize_as!(isize_: -42000000isize => "-42000000"); serialize_as!(u8_: 42u8 => "42"); serialize_as!(u16_: 4200u16 => "4200"); serialize_as!(u32_: 42000000u32 => "42000000"); serialize_as!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + serialize_as!(usize_: 42000000usize => "42000000"); serde_if_integer128! { serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); @@ -1515,13 +1551,19 @@ mod tests { text!(i16_: -4200i16 => "-4200"); text!(i32_: -42000000i32 => "-42000000"); text!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] text!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + text!(isize_: -42000000isize => "-42000000"); text!(u8_: 42u8 => "42"); text!(u16_: 4200u16 => "4200"); text!(u32_: 42000000u32 => "42000000"); text!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] text!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + text!(usize_: 42000000usize => "42000000"); serde_if_integer128! { text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); @@ -1641,13 +1683,19 @@ mod tests { text!(i16_: -4200i16 => "-4200"); text!(i32_: -42000000i32 => "-42000000"); text!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] text!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + text!(isize_: -42000000isize => "-42000000"); text!(u8_: 42u8 => "42"); text!(u16_: 4200u16 => "4200"); text!(u32_: 42000000u32 => "42000000"); text!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] text!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + text!(usize_: 42000000usize => "42000000"); serde_if_integer128! { text!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); @@ -1772,13 +1820,19 @@ mod tests { value!(i16_: -4200i16 => "-4200"); value!(i32_: -42000000i32 => "-42000000"); value!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] value!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + value!(isize_: -42000000isize => "-42000000"); value!(u8_: 42u8 => "42"); value!(u16_: 4200u16 => "4200"); value!(u32_: 42000000u32 => "42000000"); value!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] value!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + value!(usize_: 42000000usize => "42000000"); serde_if_integer128! { value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); @@ -1886,13 +1940,19 @@ mod tests { value!(i16_: -4200i16 => "-4200"); value!(i32_: -42000000i32 => "-42000000"); value!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] value!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + value!(isize_: -42000000isize => "-42000000"); value!(u8_: 42u8 => "42"); value!(u16_: 4200u16 => "4200"); value!(u32_: 42000000u32 => "42000000"); value!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] value!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + value!(usize_: 42000000usize => "42000000"); serde_if_integer128! { value!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); diff --git a/src/se/key.rs b/src/se/key.rs index 1d193ee1..5303aec3 100644 --- a/src/se/key.rs +++ b/src/se/key.rs @@ -234,13 +234,19 @@ mod tests { serialize_as!(i16_: -4200i16 => "-4200"); serialize_as!(i32_: -42000000i32 => "-42000000"); serialize_as!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + serialize_as!(isize_: -42000000isize => "-42000000"); serialize_as!(u8_: 42u8 => "42"); serialize_as!(u16_: 4200u16 => "4200"); serialize_as!(u32_: 42000000u32 => "42000000"); serialize_as!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + serialize_as!(usize_: 42000000usize => "42000000"); serde_if_integer128! { serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); diff --git a/src/se/simple_type.rs b/src/se/simple_type.rs index 7ca621b8..20edabfd 100644 --- a/src/se/simple_type.rs +++ b/src/se/simple_type.rs @@ -957,13 +957,19 @@ mod tests { serialize_as!(i16_: -4200i16 => "-4200"); serialize_as!(i32_: -42000000i32 => "-42000000"); serialize_as!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + serialize_as!(isize_: -42000000isize => "-42000000"); serialize_as!(u8_: 42u8 => "42"); serialize_as!(u16_: 4200u16 => "4200"); serialize_as!(u32_: 42000000u32 => "42000000"); serialize_as!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + serialize_as!(usize_: 42000000usize => "42000000"); serde_if_integer128! { serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); @@ -1073,13 +1079,19 @@ mod tests { serialize_as!(i16_: -4200i16 => "-4200"); serialize_as!(i32_: -42000000i32 => "-42000000"); serialize_as!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + serialize_as!(isize_: -42000000isize => "-42000000"); serialize_as!(u8_: 42u8 => "42"); serialize_as!(u16_: 4200u16 => "4200"); serialize_as!(u32_: 42000000u32 => "42000000"); serialize_as!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + serialize_as!(usize_: 42000000usize => "42000000"); serde_if_integer128! { serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000"); diff --git a/tests/serde-de.rs b/tests/serde-de.rs index cc82d5f6..af7e9e42 100644 --- a/tests/serde-de.rs +++ b/tests/serde-de.rs @@ -322,13 +322,19 @@ mod trivial { in_struct!(i16_: i16 = "-4200", -4200i16); in_struct!(i32_: i32 = "-42000000", -42000000i32); in_struct!(i64_: i64 = "-42000000000000", -42000000000000i64); + #[cfg(not(target_pointer_width = "32"))] in_struct!(isize_: isize = "-42000000000000", -42000000000000isize); + #[cfg(target_pointer_width = "32")] + in_struct!(isize_: isize = "-42000000", -42000000isize); in_struct!(u8_: u8 = "42", 42u8); in_struct!(u16_: u16 = "4200", 4200u16); in_struct!(u32_: u32 = "42000000", 42000000u32); in_struct!(u64_: u64 = "42000000000000", 42000000000000u64); + #[cfg(not(target_pointer_width = "32"))] in_struct!(usize_: usize = "42000000000000", 42000000000000usize); + #[cfg(target_pointer_width = "32")] + in_struct!(usize_: usize = "42000000", 42000000usize); serde_if_integer128! { in_struct!(u128_: u128 = "420000000000000000000000000000", 420000000000000000000000000000u128); @@ -384,13 +390,19 @@ mod trivial { in_struct!(i16_: i16 = "", -4200i16); in_struct!(i32_: i32 = "", -42000000i32); in_struct!(i64_: i64 = "", -42000000000000i64); + #[cfg(not(target_pointer_width = "32"))] in_struct!(isize_: isize = "", -42000000000000isize); + #[cfg(target_pointer_width = "32")] + in_struct!(isize_: isize = "", -42000000isize); in_struct!(u8_: u8 = "", 42u8); in_struct!(u16_: u16 = "", 4200u16); in_struct!(u32_: u32 = "", 42000000u32); in_struct!(u64_: u64 = "", 42000000000000u64); + #[cfg(not(target_pointer_width = "32"))] in_struct!(usize_: usize = "", 42000000000000usize); + #[cfg(target_pointer_width = "32")] + in_struct!(usize_: usize = "", 42000000usize); serde_if_integer128! { in_struct!(u128_: u128 = "", 420000000000000000000000000000u128); diff --git a/tests/serde-se.rs b/tests/serde-se.rs index 051e47c9..e8c6cc09 100644 --- a/tests/serde-se.rs +++ b/tests/serde-se.rs @@ -250,13 +250,19 @@ mod without_root { err!(i16_: -4200i16 => Unsupported("cannot serialize `i16` without defined root tag")); err!(i32_: -42000000i32 => Unsupported("cannot serialize `i32` without defined root tag")); err!(i64_: -42000000000000i64 => Unsupported("cannot serialize `i64` without defined root tag")); + #[cfg(not(target_pointer_width = "32"))] err!(isize_: -42000000000000isize => Unsupported("cannot serialize `i64` without defined root tag")); + #[cfg(target_pointer_width = "32")] + err!(isize_: -42000000isize => Unsupported("cannot serialize `i64` without defined root tag")); err!(u8_: 42u8 => Unsupported("cannot serialize `u8` without defined root tag")); err!(u16_: 4200u16 => Unsupported("cannot serialize `u16` without defined root tag")); err!(u32_: 42000000u32 => Unsupported("cannot serialize `u32` without defined root tag")); err!(u64_: 42000000000000u64 => Unsupported("cannot serialize `u64` without defined root tag")); + #[cfg(not(target_pointer_width = "32"))] err!(usize_: 42000000000000usize => Unsupported("cannot serialize `u64` without defined root tag")); + #[cfg(target_pointer_width = "32")] + 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")); @@ -1296,13 +1302,19 @@ mod without_root { err!(i16_: -4200i16 => Unsupported("cannot serialize `i16` without defined root tag")); err!(i32_: -42000000i32 => Unsupported("cannot serialize `i32` without defined root tag")); err!(i64_: -42000000000000i64 => Unsupported("cannot serialize `i64` without defined root tag")); + #[cfg(not(target_pointer_width = "32"))] err!(isize_: -42000000000000isize => Unsupported("cannot serialize `i64` without defined root tag")); + #[cfg(target_pointer_width = "32")] + err!(isize_: -42000000isize => Unsupported("cannot serialize `i64` without defined root tag")); err!(u8_: 42u8 => Unsupported("cannot serialize `u8` without defined root tag")); err!(u16_: 4200u16 => Unsupported("cannot serialize `u16` without defined root tag")); err!(u32_: 42000000u32 => Unsupported("cannot serialize `u32` without defined root tag")); err!(u64_: 42000000000000u64 => Unsupported("cannot serialize `u64` without defined root tag")); + #[cfg(not(target_pointer_width = "32"))] err!(usize_: 42000000000000usize => Unsupported("cannot serialize `u64` without defined root tag")); + #[cfg(target_pointer_width = "32")] + 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")); @@ -1846,13 +1858,19 @@ mod with_root { serialize_as!(i16_: -4200i16 => "-4200"); serialize_as!(i32_: -42000000i32 => "-42000000"); serialize_as!(i64_: -42000000000000i64 => "-42000000000000"); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(isize_: -42000000000000isize => "-42000000000000"); + #[cfg(target_pointer_width = "32")] + serialize_as!(isize_: -42000000isize => "-42000000"); serialize_as!(u8_: 42u8 => "42"); serialize_as!(u16_: 4200u16 => "4200"); serialize_as!(u32_: 42000000u32 => "42000000"); serialize_as!(u64_: 42000000000000u64 => "42000000000000"); + #[cfg(not(target_pointer_width = "32"))] serialize_as!(usize_: 42000000000000usize => "42000000000000"); + #[cfg(target_pointer_width = "32")] + serialize_as!(usize_: 42000000usize => "42000000"); serde_if_integer128! { serialize_as!(i128_: -420000000000000000000000000000i128 => "-420000000000000000000000000000");