1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
// Conditional Send/Sync traits for WASM compatibility. // // On native targets: MaybeSend = Send, MaybeSync = Sync. // On wasm32 targets: MaybeSend/MaybeSync are no-ops. #[cfg(not(target_arch = "wasm32"))] pub trait MaybeSend: Send {} #[cfg(not(target_arch = "wasm32"))] impl<T: Send> MaybeSend for T {} #[cfg(target_arch = "wasm32")] pub trait MaybeSend {} #[cfg(target_arch = "wasm32")] impl<T> MaybeSend for T {} #[cfg(not(target_arch = "wasm32"))] pub trait MaybeSync: Sync {} #[cfg(not(target_arch = "wasm32"))] impl<T: Sync> MaybeSync for T {} #[cfg(target_arch = "wasm32")] pub trait MaybeSync {} #[cfg(target_arch = "wasm32")] impl<T> MaybeSync for T {}