use crate::Timestamped;
use core::fmt::Debug;
#[cfg(any(
all(feature = "runtime-tokio", not(target_arch = "wasm32")),
feature = "runtime-smol",
feature = "runtime-async-std"
))]
pub trait Fluxion: Timestamped + Clone + Send + Sync + Unpin + 'static + Debug + Ord
where
Self::Inner: Clone + Send + Sync + Unpin + 'static + Debug + Ord,
{
}
#[cfg(any(
all(feature = "runtime-tokio", not(target_arch = "wasm32")),
feature = "runtime-smol",
feature = "runtime-async-std"
))]
impl<T> Fluxion for T
where
T: Timestamped + Clone + Send + Sync + Unpin + 'static + Debug + Ord,
T::Inner: Clone + Send + Sync + Unpin + 'static + Debug + Ord,
{
}
#[cfg(not(any(
all(feature = "runtime-tokio", not(target_arch = "wasm32")),
feature = "runtime-smol",
feature = "runtime-async-std"
)))]
pub trait Fluxion: Timestamped + Clone + Unpin + 'static + Debug + Ord
where
Self::Inner: Clone + Unpin + 'static + Debug + Ord,
{
}
#[cfg(not(any(
all(feature = "runtime-tokio", not(target_arch = "wasm32")),
feature = "runtime-smol",
feature = "runtime-async-std"
)))]
impl<T> Fluxion for T
where
T: Timestamped + Clone + Unpin + 'static + Debug + Ord,
T::Inner: Clone + Unpin + 'static + Debug + Ord,
{
}