diff --git a/serde/src/de/impls.rs b/serde/src/de/impls.rs index 66825b1f..141629a5 100644 --- a/serde/src/de/impls.rs +++ b/serde/src/de/impls.rs @@ -2565,6 +2565,11 @@ macro_rules! atomic_impl { #[cfg(all(feature = "std", std_integer_atomics))] atomic_impl! { AtomicBool - AtomicI8 AtomicI16 AtomicI32 AtomicI64 AtomicIsize - AtomicU8 AtomicU16 AtomicU32 AtomicU64 AtomicUsize + AtomicI8 AtomicI16 AtomicI32 AtomicIsize + AtomicU8 AtomicU16 AtomicU32 AtomicUsize +} + +#[cfg(all(feature = "std", std_integer_atomics, not(target_os = "emscripten")))] +atomic_impl! { + AtomicI64 AtomicU64 } diff --git a/serde/src/lib.rs b/serde/src/lib.rs index e4834fd7..0452bc6d 100644 --- a/serde/src/lib.rs +++ b/serde/src/lib.rs @@ -214,9 +214,11 @@ mod lib { #[cfg(all(feature = "std", std_integer_atomics))] pub use std::sync::atomic::{ - AtomicBool, AtomicI16, AtomicI32, AtomicI64, AtomicI8, AtomicIsize, AtomicU16, AtomicU32, - AtomicU64, AtomicU8, AtomicUsize, Ordering, + AtomicBool, AtomicI16, AtomicI32, AtomicI8, AtomicIsize, AtomicU16, AtomicU32, AtomicU8, + AtomicUsize, Ordering, }; + #[cfg(all(feature = "std", std_integer_atomics, not(target_os = "emscripten")))] + pub use std::sync::atomic::{AtomicI64, AtomicU64}; #[cfg(any(core_duration, feature = "std"))] pub use self::core::time::Duration; diff --git a/serde/src/ser/impls.rs b/serde/src/ser/impls.rs index c2a08efd..619be8b2 100644 --- a/serde/src/ser/impls.rs +++ b/serde/src/ser/impls.rs @@ -861,6 +861,11 @@ macro_rules! atomic_impl { #[cfg(all(feature = "std", std_integer_atomics))] atomic_impl! { AtomicBool - AtomicI8 AtomicI16 AtomicI32 AtomicI64 AtomicIsize - AtomicU8 AtomicU16 AtomicU32 AtomicU64 AtomicUsize + AtomicI8 AtomicI16 AtomicI32 AtomicIsize + AtomicU8 AtomicU16 AtomicU32 AtomicUsize +} + +#[cfg(all(feature = "std", std_integer_atomics, not(target_os = "emscripten")))] +atomic_impl! { + AtomicI64 AtomicU64 }