cratestack_cose/
maybe_send.rs1use std::future::Future;
12use std::pin::Pin;
13
14#[cfg(not(target_arch = "wasm32"))]
16pub trait MaybeSendSync: Send + Sync {}
17#[cfg(not(target_arch = "wasm32"))]
18impl<T: Send + Sync + ?Sized> MaybeSendSync for T {}
19
20#[cfg(target_arch = "wasm32")]
22pub trait MaybeSendSync {}
23#[cfg(target_arch = "wasm32")]
24impl<T: ?Sized> MaybeSendSync for T {}
25
26#[cfg(not(target_arch = "wasm32"))]
28pub trait MaybeSend: Send {}
29#[cfg(not(target_arch = "wasm32"))]
30impl<T: Send + ?Sized> MaybeSend for T {}
31
32#[cfg(target_arch = "wasm32")]
34pub trait MaybeSend {}
35#[cfg(target_arch = "wasm32")]
36impl<T: ?Sized> MaybeSend for T {}
37
38#[cfg(not(target_arch = "wasm32"))]
40pub(crate) type BoxFuture<'a, T> = Pin<Box<dyn Future<Output = T> + Send + 'a>>;
41#[cfg(target_arch = "wasm32")]
43pub(crate) type BoxFuture<'a, T> = Pin<Box<dyn Future<Output = T> + 'a>>;