From 585550a5be2dd3d988f97408ad75cc14ac093865 Mon Sep 17 00:00:00 2001 From: hcpl Date: Sun, 2 Sep 2018 00:34:56 +0300 Subject: [PATCH] Add support for `NonZeroU128` --- serde/src/de/impls.rs | 9 ++++++++- serde/src/ser/impls.rs | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/serde/src/de/impls.rs b/serde/src/de/impls.rs index 6c4ad5ea..5e0eba3b 100644 --- a/serde/src/de/impls.rs +++ b/serde/src/de/impls.rs @@ -2242,10 +2242,17 @@ nonzero_integers! { NonZeroU16, NonZeroU32, NonZeroU64, - // FIXME: https://github.com/serde-rs/serde/issues/1136 NonZeroU128, NonZeroUsize, } +// Currently 128-bit integers do not work on Emscripten targets so we need an +// additional `#[cfg]` +serde_if_integer128! { + nonzero_integers! { + NonZeroU128, + } +} + //////////////////////////////////////////////////////////////////////////////// impl<'de, T, E> Deserialize<'de> for Result diff --git a/serde/src/ser/impls.rs b/serde/src/ser/impls.rs index 5a1952e4..cafd53cd 100644 --- a/serde/src/ser/impls.rs +++ b/serde/src/ser/impls.rs @@ -469,10 +469,17 @@ nonzero_integers! { NonZeroU16, NonZeroU32, NonZeroU64, - // FIXME: https://github.com/serde-rs/serde/issues/1136 NonZeroU128, NonZeroUsize, } +// Currently 128-bit integers do not work on Emscripten targets so we need an +// additional `#[cfg]` +serde_if_integer128! { + nonzero_integers! { + NonZeroU128, + } +} + impl Serialize for Cell where T: Serialize + Copy,