pub async fn run_server<AS: Clone + Sync + Send + 'static, S, E>(
routes: Router<AS>,
) -> Result<()>where
for<'a> Router<AS>: Service<IncomingStream<'a, TcpListener>, Error = Infallible, Response = S> + Send + Clone,
S: Service<Request, Response = Response, Error = Infallible> + Clone + Send + 'static,
S::Future: Send,
Serve<TcpListener, Router<AS>, S>: IntoFuture<Output = Result<(), E>>,
E: Error + Send + Sync + 'static,