[INFO] fetching crate exc-core 0.7.0-alpha.0...
[INFO] checking exc-core-0.7.0-alpha.0 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate exc-core 0.7.0-alpha.0 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate exc-core 0.7.0-alpha.0 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate exc-core 0.7.0-alpha.0
[INFO] finished tweaking crates.io crate exc-core 0.7.0-alpha.0
[INFO] tweaked toml for crates.io crate exc-core 0.7.0-alpha.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tower-make v0.3.0
[INFO] [stderr]   Downloaded exc-service v0.7.3
[INFO] [stderr]   Downloaded positions v0.2.1
[INFO] [stderr]   Downloaded exc-make v0.7.3
[INFO] [stderr]   Downloaded exc-types v0.7.3
[INFO] [stderr]   Downloaded smol_str v0.1.24
[INFO] [stderr]   Downloaded exc-symbol v0.7.3
[INFO] [stderr]   Downloaded indicator v0.4.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 81efb42e123f68c8af9425539946c7422f9661d08e1518e777f7b17b7376d561
[INFO] running `Command { std: "docker" "start" "-a" "81efb42e123f68c8af9425539946c7422f9661d08e1518e777f7b17b7376d561", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "81efb42e123f68c8af9425539946c7422f9661d08e1518e777f7b17b7376d561", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81efb42e123f68c8af9425539946c7422f9661d08e1518e777f7b17b7376d561", kill_on_drop: false }`
[INFO] [stdout] 81efb42e123f68c8af9425539946c7422f9661d08e1518e777f7b17b7376d561
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 29bb8dd37f312b79dd414f076d9e7a6a06c9cbb15498c264c55fa0db17b0413c
[INFO] running `Command { std: "docker" "start" "-a" "29bb8dd37f312b79dd414f076d9e7a6a06c9cbb15498c264c55fa0db17b0413c", kill_on_drop: false }`
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling rust_decimal v1.35.0
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]     Checking tower-layer v0.3.2
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.92
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]     Checking smol_str v0.1.24
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling time-macros v0.2.17
[INFO] [stderr]    Compiling darling_core v0.20.8
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]     Checking tower-make v0.3.0
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]    Compiling wasm-bindgen-test-macro v0.3.42
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]     Checking async-stream v0.3.5
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.92
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking tokio-stream v0.1.15
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking time v0.3.34
[INFO] [stderr]    Compiling rust_decimal_macros v1.34.2
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.92
[INFO] [stderr]    Compiling darling_macro v0.20.8
[INFO] [stderr]     Checking wasm-bindgen v0.2.92
[INFO] [stderr]    Compiling darling v0.20.8
[INFO] [stderr]    Compiling serde_with_macros v2.3.3
[INFO] [stderr]     Checking js-sys v0.3.69
[INFO] [stderr]     Checking console_error_panic_hook v0.1.7
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking serde_with v2.3.3
[INFO] [stderr]     Checking indicator v0.4.4
[INFO] [stderr]     Checking exc-service v0.7.3
[INFO] [stderr]     Checking positions v0.2.1
[INFO] [stderr]     Checking exc-symbol v0.7.3
[INFO] [stderr]     Checking exc-types v0.7.3
[INFO] [stderr]     Checking exc-make v0.7.3
[INFO] [stderr]     Checking exc-core v0.7.0-alpha.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | / impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout] 51 | | where
[INFO] [stdout] 52 | |     S: Clone + Send + 'static,
[INFO] [stdout] 53 | |     S: ExcService<SubscribeTrades>,
[INFO] [stdout] 54 | |     S: ExcService<SubscribeBidAsk>,
[INFO] [stdout] 55 | |     <S as Service<SubscribeTrades>>::Future: Send,
[INFO] [stdout] 56 | |     <S as Service<SubscribeBidAsk>>::Future: Send,
[INFO] [stdout]    | |__________________________________________________^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | / impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout] 51 | | where
[INFO] [stdout] 52 | |     S: Clone + Send + 'static,
[INFO] [stdout] 53 | |     S: ExcService<SubscribeTrades>,
[INFO] [stdout] 54 | |     S: ExcService<SubscribeBidAsk>,
[INFO] [stdout] 55 | |     <S as Service<SubscribeTrades>>::Future: Send,
[INFO] [stdout] 56 | |     <S as Service<SubscribeBidAsk>>::Future: Send,
[INFO] [stdout]    | |__________________________________________________^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout] 50  | / impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout] 51  | | where
[INFO] [stdout] 52  | |     S: Clone + Send + 'static,
[INFO] [stdout] 53  | |     S: ExcService<SubscribeTrades>,
[INFO] [stdout] ...   |
[INFO] [stdout] 125 | |     }
[INFO] [stdout] 126 | | }
[INFO] [stdout]     | |_^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout] 50  | / impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout] 51  | | where
[INFO] [stdout] 52  | |     S: Clone + Send + 'static,
[INFO] [stdout] 53  | |     S: ExcService<SubscribeTrades>,
[INFO] [stdout] ...   |
[INFO] [stdout] 125 | |     }
[INFO] [stdout] 126 | | }
[INFO] [stdout]     | |_^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     type Response = TickerStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     type Response = TickerStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     type Error = ExchangeError;
[INFO] [stdout]    |     ^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     type Error = ExchangeError;
[INFO] [stdout]    |     ^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     type Future = BoxFuture<'static, Result<Self::Response, Self::Error>>;
[INFO] [stdout]    |     ^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     type Future = BoxFuture<'static, Result<Self::Response, Self::Error>>;
[INFO] [stdout]    |     ^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |     type Future = BoxFuture<'static, Result<Self::Response, Self::Error>>;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     <S as Service<SubscribeTrades>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:60:19
[INFO] [stdout]    |
[INFO] [stdout] 60 |     type Future = BoxFuture<'static, Result<Self::Response, Self::Error>>;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     <S as Service<SubscribeBidAsk>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     <S as Service<SubscribeTrades>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     <S as Service<SubscribeBidAsk>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn call(&mut self, req: SubscribeTickers) -> Self::Future {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn call(&mut self, req: SubscribeTickers) -> Self::Future {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn call(&mut self, req: SubscribeTickers) -> Self::Future {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     <S as Service<SubscribeTrades>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn call(&mut self, req: SubscribeTickers) -> Self::Future {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     <S as Service<SubscribeBidAsk>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:60:61
[INFO] [stdout]    |
[INFO] [stdout] 60 |     type Future = BoxFuture<'static, Result<Self::Response, Self::Error>>;
[INFO] [stdout]    |                                                             ^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     <S as Service<SubscribeTrades>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:60:61
[INFO] [stdout]    |
[INFO] [stdout] 60 |     type Future = BoxFuture<'static, Result<Self::Response, Self::Error>>;
[INFO] [stdout]    |                                                             ^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     <S as Service<SubscribeBidAsk>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:62:71
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     <S as Service<SubscribeTrades>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:62:71
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     <S as Service<SubscribeBidAsk>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:66:50
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn call(&mut self, req: SubscribeTickers) -> Self::Future {
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     <S as Service<SubscribeTrades>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:66:50
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn call(&mut self, req: SubscribeTickers) -> Self::Future {
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     <S as Service<SubscribeBidAsk>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:62:85
[INFO] [stdout]    |
[INFO] [stdout] 62 |       fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
[INFO] [stdout]    |  _____________________________________________________________________________________^
[INFO] [stdout] 63 | |         Service::<SubscribeTrades>::poll_ready(&mut self.svc, cx)
[INFO] [stdout] 64 | |     }
[INFO] [stdout]    | |_____^ the trait `Service<SubscribeTrades>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     <S as Service<SubscribeTrades>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:62:85
[INFO] [stdout]    |
[INFO] [stdout] 62 |       fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), Self::Error>> {
[INFO] [stdout]    |  _____________________________________________________________________________________^
[INFO] [stdout] 63 | |         Service::<SubscribeTrades>::poll_ready(&mut self.svc, cx)
[INFO] [stdout] 64 | |     }
[INFO] [stdout]    | |_____^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     <S as Service<SubscribeBidAsk>>::Future: Send,
[INFO] [stdout]    |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:63:48
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Service::<SubscribeTrades>::poll_ready(&mut self.svc, cx)
[INFO] [stdout]    |         -------------------------------------- ^^^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Service::<SubscribeTrades>::poll_ready(&mut self.svc, cx)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:66:63
[INFO] [stdout]     |
[INFO] [stdout] 66  |       fn call(&mut self, req: SubscribeTickers) -> Self::Future {
[INFO] [stdout]     |  _______________________________________________________________^
[INFO] [stdout] 67  | |         let trade = Service::<SubscribeTrades>::call(
[INFO] [stdout] 68  | |             &mut self.svc,
[INFO] [stdout] 69  | |             SubscribeTrades {
[INFO] [stdout] ...   |
[INFO] [stdout] 124 | |         .boxed()
[INFO] [stdout] 125 | |     }
[INFO] [stdout]     | |_____^ the trait `Service<SubscribeTrades>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]     |
[INFO] [stdout] 50  | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55  |     <S as Service<SubscribeTrades>>::Future: Send,
[INFO] [stdout]     |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:66:63
[INFO] [stdout]     |
[INFO] [stdout] 66  |       fn call(&mut self, req: SubscribeTickers) -> Self::Future {
[INFO] [stdout]     |  _______________________________________________________________^
[INFO] [stdout] 67  | |         let trade = Service::<SubscribeTrades>::call(
[INFO] [stdout] 68  | |             &mut self.svc,
[INFO] [stdout] 69  | |             SubscribeTrades {
[INFO] [stdout] ...   |
[INFO] [stdout] 124 | |         .boxed()
[INFO] [stdout] 125 | |     }
[INFO] [stdout]     | |_____^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`, which is required by `TradeBidAsk<S>: Service<SubscribeTickers>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `TradeBidAsk<S>` to implement `Service<SubscribeTickers>`
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:50:9
[INFO] [stdout]     |
[INFO] [stdout] 50  | impl<S> Service<SubscribeTickers> for TradeBidAsk<S>
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56  |     <S as Service<SubscribeBidAsk>>::Future: Send,
[INFO] [stdout]     |                                              ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |           let trade = Service::<SubscribeTrades>::call(
[INFO] [stdout]    |                       -------------------------------- required by a bound introduced by this call
[INFO] [stdout] 68 |               &mut self.svc,
[INFO] [stdout] 69 | /             SubscribeTrades {
[INFO] [stdout] 70 | |                 instrument: req.instrument.clone(),
[INFO] [stdout] 71 | |             },
[INFO] [stdout]    | |_____________^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:84:26
[INFO] [stdout]     |
[INFO] [stdout] 84  |               let stream = try_stream! {
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 85  | |                 let mut ticker = Ticker {
[INFO] [stdout] 86  | |                     ts: OffsetDateTime::now_utc(),
[INFO] [stdout] 87  | |                     last: Decimal::ZERO,
[INFO] [stdout] ...   |
[INFO] [stdout] 120 | |                 }
[INFO] [stdout] 121 | |             };
[INFO] [stdout]     | |_____________^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `try_stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:84:26
[INFO] [stdout]     |
[INFO] [stdout] 84  |               let stream = try_stream! {
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 85  | |                 let mut ticker = Ticker {
[INFO] [stdout] 86  | |                     ts: OffsetDateTime::now_utc(),
[INFO] [stdout] 87  | |                     last: Decimal::ZERO,
[INFO] [stdout] ...   |
[INFO] [stdout] 120 | |                 }
[INFO] [stdout] 121 | |             };
[INFO] [stdout]     | |_____________^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `try_stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade_bid_ask.rs:67:21
[INFO] [stdout]    |
[INFO] [stdout] 67 |           let trade = Service::<SubscribeTrades>::call(
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 68 | |             &mut self.svc,
[INFO] [stdout] 69 | |             SubscribeTrades {
[INFO] [stdout] 70 | |                 instrument: req.instrument.clone(),
[INFO] [stdout] 71 | |             },
[INFO] [stdout] 72 | |         );
[INFO] [stdout]    | |_________^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 52 |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]    |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/trade_bid_ask.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{future::BoxFuture, FutureExt, StreamExt, TryStreamExt};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]  --> src/util/trade_bid_ask.rs:7:45
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{future::BoxFuture, FutureExt, StreamExt, TryStreamExt};
[INFO] [stdout]   |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:75:9
[INFO] [stdout]     |
[INFO] [stdout] 75  | /         async move {
[INFO] [stdout] 76  | |             let trades = trade.await?.map_ok(Either::Left);
[INFO] [stdout] 77  | |             let bid_asks = svc
[INFO] [stdout] 78  | |                 .call(SubscribeBidAsk {
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | |             Ok(stream.boxed())
[INFO] [stdout] 123 | |         }
[INFO] [stdout]     | |_________^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:75:9
[INFO] [stdout]     |
[INFO] [stdout] 75  | /         async move {
[INFO] [stdout] 76  | |             let trades = trade.await?.map_ok(Either::Left);
[INFO] [stdout] 77  | |             let bid_asks = svc
[INFO] [stdout] 78  | |                 .call(SubscribeBidAsk {
[INFO] [stdout] ...   |
[INFO] [stdout] 122 | |             Ok(stream.boxed())
[INFO] [stdout] 123 | |         }
[INFO] [stdout]     | |_________^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:84:26
[INFO] [stdout]     |
[INFO] [stdout] 84  |               let stream = try_stream! {
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 85  | |                 let mut ticker = Ticker {
[INFO] [stdout] 86  | |                     ts: OffsetDateTime::now_utc(),
[INFO] [stdout] 87  | |                     last: Decimal::ZERO,
[INFO] [stdout] ...   |
[INFO] [stdout] 120 | |                 }
[INFO] [stdout] 121 | |             };
[INFO] [stdout]     | |_____________^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::__private::try_stream_inner` which comes from the expansion of the macro `try_stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:84:26
[INFO] [stdout]     |
[INFO] [stdout] 84  |               let stream = try_stream! {
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 85  | |                 let mut ticker = Ticker {
[INFO] [stdout] 86  | |                     ts: OffsetDateTime::now_utc(),
[INFO] [stdout] 87  | |                     last: Decimal::ZERO,
[INFO] [stdout] ...   |
[INFO] [stdout] 120 | |                 }
[INFO] [stdout] 121 | |             };
[INFO] [stdout]     | |_____________^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::__private::try_stream_inner` which comes from the expansion of the macro `try_stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:111:58
[INFO] [stdout]     |
[INFO] [stdout] 111 | ...                   ticker.bid = bid_ask.bid.map(|b| b.0);
[INFO] [stdout]     |                                                    ^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:111:58
[INFO] [stdout]     |
[INFO] [stdout] 111 | ...                   ticker.bid = bid_ask.bid.map(|b| b.0);
[INFO] [stdout]     |                                                    ^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:112:58
[INFO] [stdout]     |
[INFO] [stdout] 112 | ...                   ticker.ask = bid_ask.ask.map(|a| a.0);
[INFO] [stdout]     |                                                    ^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:112:58
[INFO] [stdout]     |
[INFO] [stdout] 112 | ...                   ticker.ask = bid_ask.ask.map(|a| a.0);
[INFO] [stdout]     |                                                    ^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:113:63
[INFO] [stdout]     |
[INFO] [stdout] 113 | ...                   ticker.bid_size = bid_ask.bid.map(|b| b.1);
[INFO] [stdout]     |                                                         ^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:113:63
[INFO] [stdout]     |
[INFO] [stdout] 113 | ...                   ticker.bid_size = bid_ask.bid.map(|b| b.1);
[INFO] [stdout]     |                                                         ^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:114:63
[INFO] [stdout]     |
[INFO] [stdout] 114 | ...                   ticker.ask_size = bid_ask.ask.map(|a| a.1);
[INFO] [stdout]     |                                                         ^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeBidAsk>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]    --> src/util/trade_bid_ask.rs:114:63
[INFO] [stdout]     |
[INFO] [stdout] 114 | ...                   ticker.ask_size = bid_ask.ask.map(|a| a.1);
[INFO] [stdout]     |                                                         ^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 52  |     S: Clone + Send + 'static + tower::Service<exc_types::SubscribeTrades>,
[INFO] [stdout]     |                               ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 48 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exc-core` (lib) due to 49 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "29bb8dd37f312b79dd414f076d9e7a6a06c9cbb15498c264c55fa0db17b0413c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "29bb8dd37f312b79dd414f076d9e7a6a06c9cbb15498c264c55fa0db17b0413c", kill_on_drop: false }`
[INFO] [stdout] 29bb8dd37f312b79dd414f076d9e7a6a06c9cbb15498c264c55fa0db17b0413c
