pub trait Process {
type Output;
// Required method
fn exec<I, V, D, IRW, VRW>(
self,
types: IdVal,
id_rw: IRW,
val_rw: VRW,
dist: D,
) -> Result<Self::Output, Error>
where I: 'static + Id,
V: 'static + Val,
D: 'static + Fn(&V, &V) -> V + Send,
IRW: 'static + ReadWrite<Type = I>,
VRW: 'static + ReadWrite<Type = V>;
}
Expand description
Defines an action which has to read and/or write given identifier and value types.
It is made to be used with the IdVal
type.
The reason behind is that IdVal
will contains the giant match
for all possible
(IdType, ValType) tuples.And we want to write this match
only once!
Required Associated Types§
Required Methods§
fn exec<I, V, D, IRW, VRW>( self, types: IdVal, id_rw: IRW, val_rw: VRW, dist: D, ) -> Result<Self::Output, Error>
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.