pub trait HandlerEndpointAlg<Context, Inputs, Args, Transform, Output> {
// Required method
fn finish_handler<Handler>(&self, handler: Handler) -> Self::Endpoint
where Self: HandlerAlg,
Handler: OperationAlg + ApplyAlg<Context, Args, Output = Output> + Send + Sync + 'static;
}Expand description
Compiles a typed handler declaration supported by an interpreter.
Required Methods§
Sourcefn finish_handler<Handler>(&self, handler: Handler) -> Self::Endpointwhere
Self: HandlerAlg,
Handler: OperationAlg + ApplyAlg<Context, Args, Output = Output> + Send + Sync + 'static,
fn finish_handler<Handler>(&self, handler: Handler) -> Self::Endpointwhere
Self: HandlerAlg,
Handler: OperationAlg + ApplyAlg<Context, Args, Output = Output> + Send + Sync + 'static,
Interprets a typed first-order handler as a concrete endpoint.
Inputs, Args, Transform, and Output remain type-level evidence;
only the handler value needs to be supplied at runtime.
The handler states its own signature, because an interpretation that names an operation to a reader rather than applying it has nowhere else to read the name and the argument names from.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".