pub(crate) trait BroadcastClonewhere
Self: Sized,{
type Id: Eq + Hash + Copy;
// Required methods
fn clone_for_broadcast(&self) -> Option<Self>;
fn source(
data: &StructuredSerializedData,
) -> &Option<HashMap<Self::Id, Self>>;
fn destination(
data: &mut StructuredSerializedData,
) -> &mut Option<HashMap<Self::Id, Self>>;
}
Required Associated Types§
Required Methods§
Sourcefn clone_for_broadcast(&self) -> Option<Self>
fn clone_for_broadcast(&self) -> Option<Self>
Clone this value so that it can be reused with a broadcast channel. Only return None if cloning is impossible.
Sourcefn source(data: &StructuredSerializedData) -> &Option<HashMap<Self::Id, Self>>
fn source(data: &StructuredSerializedData) -> &Option<HashMap<Self::Id, Self>>
The field from which to clone values.
Sourcefn destination(
data: &mut StructuredSerializedData,
) -> &mut Option<HashMap<Self::Id, Self>>
fn destination( data: &mut StructuredSerializedData, ) -> &mut Option<HashMap<Self::Id, Self>>
The field into which to place cloned values.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.