Skip to content

Instantly share code, notes, and snippets.

@hawkw
Last active January 23, 2019 22:58
Show Gist options
  • Save hawkw/fa439ddd685c28e2f3511353e01d5d5e to your computer and use it in GitHub Desktop.
Save hawkw/fa439ddd685c28e2f3511353e01d5d5e to your computer and use it in GitHub Desktop.
some good type errors (looks better with line wrapping)
error[E0277]: `(dyn transport::io::internal::Io + 'static)` cannot be shared between threads safely
--> src/app/main.rs:534:22
|
534 | .push(buffer::layer(MAX_IN_FLIGHT))
| ^^^^ `(dyn transport::io::internal::Io + 'static)` cannot be shared between threads safely
|
= help: the trait `std::marker::Sync` is not implemented for `(dyn transport::io::internal::Io + 'static)`
= note: required because of the requirements on the impl of `std::marker::Sync` for `std::ptr::Unique<(dyn transport::io::internal::Io + 'static)>`
= note: required because it appears within the type `std::boxed::Box<(dyn transport::io::internal::Io + 'static)>`
= note: required because it appears within the type `transport::io::BoxedIo`
= note: required because it appears within the type `transport::connection::Connection`
= note: required because it appears within the type `transport::metrics::io::Io<transport::connection::Connection>`
= note: required because it appears within the type `std::option::Option<transport::metrics::io::Io<transport::connection::Connection>>`
= note: required because it appears within the type `hyper::client::conn::Handshake<transport::metrics::io::Io<transport::connection::Connection>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>`
= note: required because it appears within the type `proxy::http::h2::ConnectState<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>`
= note: required because it appears within the type `proxy::http::h2::ConnectFuture<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>`
= note: required because it appears within the type `proxy::http::client::ClientNewServiceFuture<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>`
= note: required because it appears within the type `proxy::reconnect::tower_reconnect::State<proxy::http::client::ClientNewServiceFuture<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>, proxy::http::client::ClientService<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>`
= note: required because it appears within the type `proxy::reconnect::tower_reconnect::Reconnect<proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>, ()>`
= note: required because it appears within the type `proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>`
= note: required because it appears within the type `svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>`
= note: required because it appears within the type `svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>`
= note: required because it appears within the type `proxy::buffer::tower_buffer::SpawnError<svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>`
= note: required because it appears within the type `proxy::buffer::Error<never::Never, svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>`
= note: required because it appears within the type `proxy::http::settings::router::Error<proxy::buffer::tower_buffer::Error<svc::stack::Either<svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>, svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>>>, proxy::buffer::Error<never::Never, svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>>`
= note: required because it appears within the type `proxy::buffer::tower_buffer::ServiceError<proxy::http::settings::router::Error<proxy::buffer::tower_buffer::Error<svc::stack::Either<svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>, svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>>>, proxy::buffer::Error<never::Never, svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>>>`
= note: required because of the requirements on the impl of `std::marker::Send` for `std::sync::Arc<proxy::buffer::tower_buffer::ServiceError<proxy::http::settings::router::Error<proxy::buffer::tower_buffer::Error<svc::stack::Either<svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>, svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>>>, proxy::buffer::Error<never::Never, svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>>>>`
= note: required because it appears within the type `proxy::buffer::tower_buffer::ResponseState<proxy::http::metrics::service::ResponseFuture<tap::service::ResponseFuture<app::inbound::Endpoint, tap::grpc::server::Tap, proxy::http::metrics::service::RequestBody<_, app::classify::Class>, proxy::http::settings::router::Service<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::buffer::Stack<proxy::http::normalize_uri::Stack<svc::stack::stack_per_request::Stack<proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, http::Request<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, app::classify::Response>, proxy::http::settings::router::Error<proxy::buffer::tower_buffer::Error<svc::stack::Either<svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>, svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>>>, proxy::buffer::Error<never::Never, svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>>>`
= note: required because it appears within the type `proxy::buffer::tower_buffer::ResponseFuture<proxy::http::metrics::service::ResponseFuture<tap::service::ResponseFuture<app::inbound::Endpoint, tap::grpc::server::Tap, proxy::http::metrics::service::RequestBody<_, app::classify::Class>, proxy::http::settings::router::Service<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::buffer::Stack<proxy::http::normalize_uri::Stack<svc::stack::stack_per_request::Stack<proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, http::Request<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, app::classify::Response>, proxy::http::settings::router::Error<proxy::buffer::tower_buffer::Error<svc::stack::Either<svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>, svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>>>, proxy::buffer::Error<never::Never, svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>>>`
= note: required because it appears within the type `proxy::http::router::linkerd2_router::State<proxy::buffer::tower_buffer::ResponseFuture<proxy::http::metrics::service::ResponseFuture<tap::service::ResponseFuture<app::inbound::Endpoint, tap::grpc::server::Tap, proxy::http::metrics::service::RequestBody<_, app::classify::Class>, proxy::http::settings::router::Service<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::buffer::Stack<proxy::http::normalize_uri::Stack<svc::stack::stack_per_request::Stack<proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, http::Request<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, app::classify::Response>, proxy::http::settings::router::Error<proxy::buffer::tower_buffer::Error<svc::stack::Either<svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>, svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>>>, proxy::buffer::Error<never::Never, svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>>>, proxy::buffer::Error<proxy::buffer::Error<never::Never, svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>, proxy::http::metrics::service::Service<tap::service::Service<app::inbound::Endpoint, futures::sync::mpsc::Receiver<tap::grpc::server::Tap>, tap::grpc::server::Tap, proxy::http::settings::router::Service<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::buffer::Stack<proxy::http::normalize_uri::Stack<svc::stack::stack_per_request::Stack<proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, http::Request<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, app::classify::Response>>>`
= note: required because it appears within the type `proxy::http::router::linkerd2_router::ResponseFuture<proxy::buffer::tower_buffer::ResponseFuture<proxy::http::metrics::service::ResponseFuture<tap::service::ResponseFuture<app::inbound::Endpoint, tap::grpc::server::Tap, proxy::http::metrics::service::RequestBody<_, app::classify::Class>, proxy::http::settings::router::Service<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::buffer::Stack<proxy::http::normalize_uri::Stack<svc::stack::stack_per_request::Stack<proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, http::Request<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, app::classify::Response>, proxy::http::settings::router::Error<proxy::buffer::tower_buffer::Error<svc::stack::Either<svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>, svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>>>, proxy::buffer::Error<never::Never, svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>>>, proxy::buffer::Error<proxy::buffer::Error<never::Never, svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>, proxy::http::metrics::service::Service<tap::service::Service<app::inbound::Endpoint, futures::sync::mpsc::Receiver<tap::grpc::server::Tap>, tap::grpc::server::Tap, proxy::http::settings::router::Service<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::buffer::Stack<proxy::http::normalize_uri::Stack<svc::stack::stack_per_request::Stack<proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, http::Request<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, app::classify::Response>>>`
= note: required because it appears within the type `proxy::http::router::ResponseFuture<proxy::http::router::linkerd2_router::ResponseFuture<proxy::buffer::tower_buffer::ResponseFuture<proxy::http::metrics::service::ResponseFuture<tap::service::ResponseFuture<app::inbound::Endpoint, tap::grpc::server::Tap, proxy::http::metrics::service::RequestBody<_, app::classify::Class>, proxy::http::settings::router::Service<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::buffer::Stack<proxy::http::normalize_uri::Stack<svc::stack::stack_per_request::Stack<proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, http::Request<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, app::classify::Response>, proxy::http::settings::router::Error<proxy::buffer::tower_buffer::Error<svc::stack::Either<svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>, svc::stack::Either<proxy::http::glue::Error, proxy::http::glue::Error>>>, proxy::buffer::Error<never::Never, svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>>>, proxy::buffer::Error<proxy::buffer::Error<never::Never, svc::stack::Either<proxy::http::normalize_uri::Service<svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, svc::stack::Either<svc::stack::stack_per_request::Service<proxy::http::client::Config, proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, proxy::reconnect::Service<proxy::http::client::Config, proxy::http::client::Client<transport::metrics::io::Connect<timeout::Timeout<transport::connect::Target>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>, proxy::http::metrics::service::Service<tap::service::Service<app::inbound::Endpoint, futures::sync::mpsc::Receiver<tap::grpc::server::Tap>, tap::grpc::server::Tap, proxy::http::settings::router::Service<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::buffer::Stack<proxy::http::normalize_uri::Stack<svc::stack::stack_per_request::Stack<proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, http::Request<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, app::classify::Response>>>>`
= note: required because of the requirements on the impl of `svc::stack::Layer<_, _, proxy::http::insert_target::Stack<svc::stack::phantom_data::Stack<_, svc::stack::shared::Stack<proxy::http::router::Service<http::Request<_>, app::inbound::RecognizeEndpoint, proxy::buffer::Stack<proxy::http::metrics::service::Stack<tap::service::Stack<tap::daemon::Register<tap::grpc::server::Tap>, svc::stack::phantom_data::Stack<app::inbound::Endpoint, proxy::http::settings::router::Stack<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::buffer::Stack<proxy::http::normalize_uri::Stack<svc::stack::stack_per_request::Stack<proxy::reconnect::Stack<proxy::http::client::Stack<app::inbound::rewrite_loopback_addr::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, http::Request<tap::service::Payload<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>>, app::metric_labels::EndpointLabels, app::classify::Response>, http::Request<_>>>>>>>` for `proxy::buffer::Layer<http::Request<_>>`
error[E0599]: no method named `push` found for type `proxy::buffer::Stack<proxy::http::header_from_target::Stack<&str, proxy::http::profiles::router::Stack<app::profiles::Client<proxy::limit::tower_in_flight_limit::InFlightLimit<proxy::buffer::tower_buffer::Buffer<tower_http::AddOrigin<svc::stack::watch::Service<app::control::Config, conditional::Conditional<transport::tls::config::ClientConfig, transport::tls::config::ReasonForNoTls>, proxy::grpc::service::req_body_as_payload::Stack<proxy::http::metrics::service::Stack<proxy::timeout::Stack<proxy::reconnect::Stack<app::control::resolve::Stack<app::control::client::Stack<transport::connect::Stack, proxy::http::metrics::service::RequestBody<proxy::grpc::body::GrpcBody<tower_grpc::BoxBody>, app::classify::Class>>>>>, app::metric_labels::ControlLabels, app::classify::Response>>>>, http::Request<tower_grpc::BoxBody>>>>, proxy::buffer::Stack<proxy::http::balance::Stack<proxy::resolve::Stack<app::outbound::discovery::Resolve<control::destination::Resolver>, svc::stack::watch::Stack<app::outbound::Endpoint, conditional::Conditional<transport::tls::config::ClientConfig, transport::tls::config::ReasonForNoTls>, proxy::http::metrics::service::Stack<tap::service::Stack<tap::daemon::Register<tap::grpc::server::Tap>, app::outbound::orig_proto_upgrade::Stack<proxy::http::settings::router::Stack<tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::buffer::Stack<proxy::http::normalize_uri::Stack<svc::stack::stack_per_request::Stack<proxy::reconnect::Stack<proxy::http::client::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, http::Request<tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::http::glue::HttpBody>>, app::metric_labels::EndpointLabels, app::classify::Response>>>, proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, proxy::http::metrics::service::ResponseBody<tap::service::Payload<proxy::http::glue::HttpBody, tap::grpc::server::TapResponsePayload>, app::classify::Eos>>, http::Request<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>>>, svc::stack::layer::AndThen<app::dst::Route, proxy::http::metrics::classify::Layer, svc::stack::layer::AndThen<app::dst::Route, proxy::http::metrics::service::Layer<app::metric_labels::RouteLabels, app::classify::Response>, svc::stack::layer::AndThen<app::dst::Route, proxy::http::retry::Layer<std::sync::Arc<std::sync::Mutex<proxy::http::metrics::Registry<app::metric_labels::RouteLabels, app::classify::Class>>>, app::metric_labels::RouteLabels, proxy::http::metrics::service::RequestBody<_, app::classify::Class>, proxy::http::metrics::service::ResponseBody<proxy::http::balance::hyper_balance::PendingUntilFirstDataBody<proxy::http::balance::tower_balance::load::peak_ewma::Handle, proxy::http::metrics::service::ResponseBody<tap::service::Payload<proxy::http::glue::HttpBody, tap::grpc::server::TapResponsePayload>, app::classify::Eos>>, app::classify::Eos>>, svc::stack::layer::AndThen<app::dst::Route, proxy::http::metrics::service::Layer<app::metric_labels::RouteLabels, app::classify::Response>, svc::stack::layer::AndThen<app::dst::Route, proxy::http::insert_target::Layer, svc::stack::phantom_data::Layer<app::dst::Route, svc::stack::shared::Stack<proxy::buffer::tower_buffer::Buffer<proxy::http::balance::tower_balance::Balance<proxy::http::balance::tower_balance::load::WithPeakEwma<proxy::resolve::Discover<app::outbound::discovery::Resolution<control::destination::Resolution>, svc::stack::watch::Stack<app::outbound::Endpoint, conditional::Conditional<transport::tls::config::ClientConfig, transport::tls::config::ReasonForNoTls>, proxy::http::metrics::service::Stack<tap::service::Stack<tap::daemon::Register<tap::grpc::server::Tap>, app::outbound::orig_proto_upgrade::Stack<proxy::http::settings::router::Stack<tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::buffer::Stack<proxy::http::normalize_uri::Stack<svc::stack::stack_per_request::Stack<proxy::reconnect::Stack<proxy::http::client::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, http::Request<tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::http::glue::HttpBody>>, app::metric_labels::EndpointLabels, app::classify::Response>>>, proxy::http::balance::hyper_balance::PendingUntilFirstData>, proxy::http::balance::tower_balance::choose::PowerOfTwoChoices>, http::Request<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>>>>>>>>>>>>, http::Request<_>>` in the current scope
--> src/app/main.rs:389:22
|
389 | .push(router::layer(|req: &http::Request<_>| {
| ^^^^
|
::: src/proxy/buffer.rs:19:1
|
19 | pub struct Stack<M, Req> {
| ------------------------ method `push` not found for this
|
= note: the method `push` exists but the following trait bounds were not satisfied:
`proxy::buffer::Stack<proxy::http::header_from_target::Stack<&str, proxy::http::profiles::router::Stack<app::profiles::Client<proxy::limit::tower_in_flight_limit::InFlightLimit<proxy::buffer::tower_buffer::Buffer<tower_http::AddOrigin<svc::stack::watch::Service<app::control::Config, conditional::Conditional<transport::tls::config::ClientConfig, transport::tls::config::ReasonForNoTls>, proxy::grpc::service::req_body_as_payload::Stack<proxy::http::metrics::service::Stack<proxy::timeout::Stack<proxy::reconnect::Stack<app::control::resolve::Stack<app::control::client::Stack<transport::connect::Stack, proxy::http::metrics::service::RequestBody<proxy::grpc::body::GrpcBody<tower_grpc::BoxBody>, app::classify::Class>>>>>, app::metric_labels::ControlLabels, app::classify::Response>>>>, http::Request<tower_grpc::BoxBody>>>>, proxy::buffer::Stack<proxy::http::balance::Stack<proxy::resolve::Stack<app::outbound::discovery::Resolve<control::destination::Resolver>, svc::stack::watch::Stack<app::outbound::Endpoint, conditional::Conditional<transport::tls::config::ClientConfig, transport::tls::config::ReasonForNoTls>, proxy::http::metrics::service::Stack<tap::service::Stack<tap::daemon::Register<tap::grpc::server::Tap>, app::outbound::orig_proto_upgrade::Stack<proxy::http::settings::router::Stack<tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::buffer::Stack<proxy::http::normalize_uri::Stack<svc::stack::stack_per_request::Stack<proxy::reconnect::Stack<proxy::http::client::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, http::Request<tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::http::glue::HttpBody>>, app::metric_labels::EndpointLabels, app::classify::Response>>>, proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, proxy::http::metrics::service::ResponseBody<tap::service::Payload<proxy::http::glue::HttpBody, tap::grpc::server::TapResponsePayload>, app::classify::Eos>>, http::Request<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>>>, svc::stack::layer::AndThen<app::dst::Route, proxy::http::metrics::classify::Layer, svc::stack::layer::AndThen<app::dst::Route, proxy::http::metrics::service::Layer<app::metric_labels::RouteLabels, app::classify::Response>, svc::stack::layer::AndThen<app::dst::Route, proxy::http::retry::Layer<std::sync::Arc<std::sync::Mutex<proxy::http::metrics::Registry<app::metric_labels::RouteLabels, app::classify::Class>>>, app::metric_labels::RouteLabels, proxy::http::metrics::service::RequestBody<_, app::classify::Class>, proxy::http::metrics::service::ResponseBody<proxy::http::balance::hyper_balance::PendingUntilFirstDataBody<proxy::http::balance::tower_balance::load::peak_ewma::Handle, proxy::http::metrics::service::ResponseBody<tap::service::Payload<proxy::http::glue::HttpBody, tap::grpc::server::TapResponsePayload>, app::classify::Eos>>, app::classify::Eos>>, svc::stack::layer::AndThen<app::dst::Route, proxy::http::metrics::service::Layer<app::metric_labels::RouteLabels, app::classify::Response>, svc::stack::layer::AndThen<app::dst::Route, proxy::http::insert_target::Layer, svc::stack::phantom_data::Layer<app::dst::Route, svc::stack::shared::Stack<proxy::buffer::tower_buffer::Buffer<proxy::http::balance::tower_balance::Balance<proxy::http::balance::tower_balance::load::WithPeakEwma<proxy::resolve::Discover<app::outbound::discovery::Resolution<control::destination::Resolution>, svc::stack::watch::Stack<app::outbound::Endpoint, conditional::Conditional<transport::tls::config::ClientConfig, transport::tls::config::ReasonForNoTls>, proxy::http::metrics::service::Stack<tap::service::Stack<tap::daemon::Register<tap::grpc::server::Tap>, app::outbound::orig_proto_upgrade::Stack<proxy::http::settings::router::Stack<tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::buffer::Stack<proxy::http::normalize_uri::Stack<svc::stack::stack_per_request::Stack<proxy::reconnect::Stack<proxy::http::client::Stack<transport::metrics::StackConnect<transport::connect::Target, proxy::timeout::Stack<transport::connect::Stack>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>>, http::Request<tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>>>>, tap::service::Payload<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>, app::classify::Class>, tap::grpc::server::TapRequestPayload>, proxy::http::glue::HttpBody>>, app::metric_labels::EndpointLabels, app::classify::Response>>>, proxy::http::balance::hyper_balance::PendingUntilFirstData>, proxy::http::balance::tower_balance::choose::PowerOfTwoChoices>, http::Request<proxy::http::metrics::service::RequestBody<proxy::http::metrics::service::RequestBody<_, app::classify::Class>, app::classify::Class>>>>>>>>>>>>, http::Request<_>> : svc::stack::Stack<_>`
= help: items from traits can only be used if the trait is implemented and in scope
= note: the following traits define an item `push`, perhaps you need to implement one of them:
candidate #1: `smallvec::VecLike`
candidate #2: `svc::stack::Layer`
candidate #3: `svc::stack::Stack`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment