pub trait OperationService<Op, Exts>: Service<Self::Normalized, Response = Op::Output, Error = Op::Error>where
Op: OperationShape,{
type Normalized;
// Required method
fn normalize(input: Op::Input, exts: Exts) -> Self::Normalized;
}
Expand description
A utility trait used to provide an even interface for all operation services.
This serves to take [Service
]s of the form Service<(Op::Input, Ext0, Ext1, ...)>
to the canonical
representation of Service<(Input, (Ext0, Ext1, ...))>
inline with
IntoService
.
See operation
documentation for more info.
Required Associated Types§
type Normalized
Required Methods§
fn normalize(input: Op::Input, exts: Exts) -> Self::Normalized
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.