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,