[INFO] fetching crate exc 0.7.0-alpha.0...
[INFO] checking exc-0.7.0-alpha.0 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate exc 0.7.0-alpha.0 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate exc 0.7.0-alpha.0 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate exc 0.7.0-alpha.0
[INFO] finished tweaking crates.io crate exc 0.7.0-alpha.0
[INFO] tweaked toml for crates.io crate exc 0.7.0-alpha.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 245 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding ahash v0.7.8 (latest: v0.8.11)
[INFO] [stderr]       Adding base64 v0.21.7 (latest: v0.22.1)
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding bytecheck v0.6.12 (latest: v0.7.0)
[INFO] [stderr]       Adding bytecheck_derive v0.6.12 (latest: v0.7.0)
[INFO] [stderr]       Adding cfg_aliases v0.1.1 (latest: v0.2.0)
[INFO] [stderr]       Adding convert_case v0.4.0 (latest: v0.6.0)
[INFO] [stderr]       Adding foreign-types v0.3.2 (latest: v0.5.0)
[INFO] [stderr]       Adding foreign-types-shared v0.1.1 (latest: v0.3.1)
[INFO] [stderr]       Adding generic-array v0.14.7 (latest: v1.0.0)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding hashbrown v0.12.3 (latest: v0.14.5)
[INFO] [stderr]       Adding hashbrown v0.13.2 (latest: v0.14.5)
[INFO] [stderr]       Adding http v0.2.12 (latest: v1.1.0)
[INFO] [stderr]       Adding http-body v0.4.6 (latest: v1.0.0)
[INFO] [stderr]       Adding hyper v0.14.28 (latest: v1.3.1)
[INFO] [stderr]       Adding hyper-rustls v0.24.2 (latest: v0.27.1)
[INFO] [stderr]       Adding hyper-tls v0.5.0 (latest: v0.6.0)
[INFO] [stderr]       Adding indexmap v1.9.3 (latest: v2.2.6)
[INFO] [stderr]       Adding linux-raw-sys v0.4.13 (latest: v0.6.4)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding ptr_meta v0.1.4 (latest: v0.2.0)
[INFO] [stderr]       Adding ptr_meta_derive v0.1.4 (latest: v0.2.0)
[INFO] [stderr]       Adding radium v0.7.0 (latest: v1.1.0)
[INFO] [stderr]       Adding rustls v0.21.12 (latest: v0.23.5)
[INFO] [stderr]       Adding rustls-webpki v0.101.7 (latest: v0.102.3)
[INFO] [stderr]       Adding serde_qs v0.12.0 (latest: v0.13.0)
[INFO] [stderr]       Adding serde_with v2.3.3 (latest: v3.8.1)
[INFO] [stderr]       Adding serde_with_macros v2.3.3 (latest: v3.8.1)
[INFO] [stderr]       Adding smol_str v0.1.24 (latest: v0.2.1)
[INFO] [stderr]       Adding strsim v0.10.0 (latest: v0.11.1)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.60)
[INFO] [stderr]       Adding tokio-rustls v0.24.1 (latest: v0.26.0)
[INFO] [stderr]       Adding tokio-tungstenite v0.20.1 (latest: v0.21.0)
[INFO] [stderr]       Adding toml_edit v0.21.1 (latest: v0.22.12)
[INFO] [stderr]       Adding tungstenite v0.20.1 (latest: v0.21.0)
[INFO] [stderr]       Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.0+wasi-0.2.0)
[INFO] [stderr]       Adding webpki-roots v0.25.4 (latest: v0.26.1)
[INFO] [stderr]       Adding windows-core v0.52.0 (latest: v0.56.0)
[INFO] [stderr]       Adding windows-sys v0.48.0 (latest: v0.52.0)
[INFO] [stderr]       Adding windows-targets v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_gnullvm v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_gnu v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnu v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnullvm v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding winnow v0.5.40 (latest: v0.6.7)
[INFO] [stderr]       Adding wyz v0.5.1 (latest: v0.6.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded exc-types v0.7.3
[INFO] [stderr]   Downloaded exc-okx v0.7.3
[INFO] [stderr]   Downloaded exc-make v0.7.3
[INFO] [stderr]   Downloaded exc-service v0.7.3
[INFO] [stderr]   Downloaded exc-symbol v0.7.3
[INFO] [stderr]   Downloaded exc-core v0.7.3
[INFO] [stderr]   Downloaded exc-binance v0.7.3
[INFO] [stderr]   Downloaded indicator v0.4.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6802efc4e23810df360c5e0cf5c44bce534a974234a20f20b3eb7ebec29581a1
[INFO] running `Command { std: "docker" "start" "-a" "6802efc4e23810df360c5e0cf5c44bce534a974234a20f20b3eb7ebec29581a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6802efc4e23810df360c5e0cf5c44bce534a974234a20f20b3eb7ebec29581a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6802efc4e23810df360c5e0cf5c44bce534a974234a20f20b3eb7ebec29581a1", kill_on_drop: false }`
[INFO] [stdout] 6802efc4e23810df360c5e0cf5c44bce534a974234a20f20b3eb7ebec29581a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 86108567123d4d899682f3c0a2bd77d509679505d798a70147e6d6a593e15f1c
[INFO] running `Command { std: "docker" "start" "-a" "86108567123d4d899682f3c0a2bd77d509679505d798a70147e6d6a593e15f1c", kill_on_drop: false }`
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling rust_decimal v1.35.0
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling anyhow v1.0.82
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking tower-layer v0.3.2
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]     Checking data-encoding v2.6.0
[INFO] [stderr]     Checking tower-make v0.3.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking either v1.11.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling darling_core v0.20.8
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]    Compiling serde_derive v1.0.200
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.59
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]     Checking async-stream v0.3.5
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling darling_macro v0.20.8
[INFO] [stderr]     Checking thiserror v1.0.59
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]    Compiling darling v0.20.8
[INFO] [stderr]    Compiling serde_with_macros v2.3.3
[INFO] [stderr]     Checking serde v1.0.200
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-stream v0.1.15
[INFO] [stderr]     Checking tokio-tungstenite v0.20.1
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking serde_with v2.3.3
[INFO] [stderr]     Checking smol_str v0.1.24
[INFO] [stderr]     Checking exc-service v0.7.3
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking positions v0.2.1
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking indicator v0.4.4
[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.3
[INFO] [stderr]     Checking exc v0.7.0-alpha.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     L2::Service: ExcService<SubscribeInstruments> + Send + 'static,
[INFO] [stdout] 249 | |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     | |_________________________________________________________________^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     L2::Service: ExcService<SubscribeInstruments> + Send + 'static,
[INFO] [stdout] 249 | |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     | |_________________________________________________________________^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L1 as tower::Layer<S>>::Service: Service<FetchInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 274 | |     }
[INFO] [stdout] 275 | | }
[INFO] [stdout]     | |_^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L1 as tower::Layer<S>>::Service: Service<FetchInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 274 | |     }
[INFO] [stdout] 275 | | }
[INFO] [stdout]     | |_^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 |     type Service = Instruments;
[INFO] [stdout]     |     ^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 |     type Service = Instruments;
[INFO] [stdout]     |     ^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L1 as tower::Layer<S>>::Service: Service<FetchInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     L2::Service: ExcService<SubscribeInstruments> + Send + 'static,
[INFO] [stdout] 249 | |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     | |_________________________________________________________________^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     L2::Service: ExcService<SubscribeInstruments> + Send + 'static,
[INFO] [stdout] 249 | |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     | |_________________________________________________________________^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L1 as tower::Layer<S>>::Service: Service<FetchInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     <L1::Service as Service<FetchInstruments>>::Future: Send,
[INFO] [stdout]     |                                                         ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     |                                                             ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 274 | |     }
[INFO] [stdout] 275 | | }
[INFO] [stdout]     | |_^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L1 as tower::Layer<S>>::Service: Service<FetchInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 274 | |     }
[INFO] [stdout] 275 | | }
[INFO] [stdout]     | |_^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 |     type Service = Instruments;
[INFO] [stdout]     |     ^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 |     type Service = Instruments;
[INFO] [stdout]     |     ^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L1 as tower::Layer<S>>::Service: Service<FetchInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:32
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     <L1::Service as Service<FetchInstruments>>::Future: Send,
[INFO] [stdout]     |                                                         ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:32
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     |                                                             ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     <L1::Service as Service<FetchInstruments>>::Future: Send,
[INFO] [stdout]     |                                                         ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     |                                                             ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:32
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     <L1::Service as Service<FetchInstruments>>::Future: Send,
[INFO] [stdout]     |                                                         ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:32
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     |                                                             ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryLastCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:144:14
[INFO] [stdout]     |
[INFO] [stdout] 144 |         svc: Buffer<S, QueryLastCandles>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryLastCandles>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 142 |         S: ExcService<QueryLastCandles> + 'static + tower::Service<exc_core::exc_types::QueryLastCandles>,
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryFirstCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:239:14
[INFO] [stdout]     |
[INFO] [stdout] 239 |         svc: Buffer<S, QueryFirstCandles>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryFirstCandles>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 237 |         S: ExcService<QueryFirstCandles> + 'static + tower::Service<exc_core::exc_types::QueryFirstCandles>,
[INFO] [stdout]     |                                                    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] 44 | |     <S as Service<CancelOrder>>::Future: Send,
[INFO] [stdout]    | |______________________________________________^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] 44 | |     <S as Service<CancelOrder>>::Future: Send,
[INFO] [stdout]    | |______________________________________________^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |     }
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |     }
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     fn place_with_opts(
[INFO] [stdout] 48 | |         &mut self,
[INFO] [stdout] 49 | |         place: &Place,
[INFO] [stdout] 50 | |         opts: &PlaceOrderOptions,
[INFO] [stdout] 51 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     fn place_with_opts(
[INFO] [stdout] 48 | |         &mut self,
[INFO] [stdout] 49 | |         place: &Place,
[INFO] [stdout] 50 | |         opts: &PlaceOrderOptions,
[INFO] [stdout] 51 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | /     fn place(
[INFO] [stdout] 59 | |         &mut self,
[INFO] [stdout] 60 | |         inst: &str,
[INFO] [stdout] 61 | |         place: &Place,
[INFO] [stdout] 62 | |         client_id: Option<&str>,
[INFO] [stdout] 63 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | /     fn place(
[INFO] [stdout] 59 | |         &mut self,
[INFO] [stdout] 60 | |         inst: &str,
[INFO] [stdout] 61 | |         place: &Place,
[INFO] [stdout] 62 | |         client_id: Option<&str>,
[INFO] [stdout] 63 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn place_with_opts(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn place_with_opts(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn place(
[INFO] [stdout]    |        ^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryLastCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:144:14
[INFO] [stdout]     |
[INFO] [stdout] 144 |         svc: Buffer<S, QueryLastCandles>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryLastCandles>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 142 |         S: ExcService<QueryLastCandles> + 'static + tower::Service<exc_core::exc_types::QueryLastCandles>,
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn place(
[INFO] [stdout]    |        ^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |        ^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |        ^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryFirstCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:239:14
[INFO] [stdout]     |
[INFO] [stdout] 239 |         svc: Buffer<S, QueryFirstCandles>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryFirstCandles>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 237 |         S: ExcService<QueryFirstCandles> + 'static + tower::Service<exc_core::exc_types::QueryFirstCandles>,
[INFO] [stdout]     |                                                    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] 44 | |     <S as Service<CancelOrder>>::Future: Send,
[INFO] [stdout]    | |______________________________________________^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] 44 | |     <S as Service<CancelOrder>>::Future: Send,
[INFO] [stdout]    | |______________________________________________^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |     }
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |     }
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     fn place_with_opts(
[INFO] [stdout] 48 | |         &mut self,
[INFO] [stdout] 49 | |         place: &Place,
[INFO] [stdout] 50 | |         opts: &PlaceOrderOptions,
[INFO] [stdout] 51 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     fn place_with_opts(
[INFO] [stdout] 48 | |         &mut self,
[INFO] [stdout] 49 | |         place: &Place,
[INFO] [stdout] 50 | |         opts: &PlaceOrderOptions,
[INFO] [stdout] 51 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | /     fn place(
[INFO] [stdout] 59 | |         &mut self,
[INFO] [stdout] 60 | |         inst: &str,
[INFO] [stdout] 61 | |         place: &Place,
[INFO] [stdout] 62 | |         client_id: Option<&str>,
[INFO] [stdout] 63 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | /     fn place(
[INFO] [stdout] 59 | |         &mut self,
[INFO] [stdout] 60 | |         inst: &str,
[INFO] [stdout] 61 | |         place: &Place,
[INFO] [stdout] 62 | |         client_id: Option<&str>,
[INFO] [stdout] 63 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn place_with_opts(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn place_with_opts(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn place(
[INFO] [stdout]    |        ^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn place(
[INFO] [stdout]    |        ^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |        ^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |        ^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/instrument/service/mod.rs:161:20
[INFO] [stdout]     |
[INFO] [stdout] 161 |         self.inner.poll_ready(cx)
[INFO] [stdout]     |                    ^^^^^^^^^^ multiple `poll_ready` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `Service` for the type `BoxCloneService<T, U, E>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `ExcService` for the type `S`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 161 |         Service::poll_ready(&mut self.inner, cx)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 161 |         ExcService::poll_ready(&mut self.inner, cx)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/instrument/service/mod.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |         self.inner.call(req)
[INFO] [stdout]     |                    ^^^^ multiple `call` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in the trait `Fn`
[INFO] [stdout]    --> /rustc/c2f2db79ca3024f68d22b45aa22b570775c2c4ad/library/core/src/ops/function.rs:79:5
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Service` for the type `BoxCloneService<T, U, E>`
[INFO] [stdout]     = note: candidate #3 is defined in an impl of the trait `ExcService` for the type `S`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Fn::call(&self.inner, req)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Service::call(&mut self.inner, req)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #3
[INFO] [stdout]     |
[INFO] [stdout] 166 |         ExcService::call(&mut self.inner, req)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:46
[INFO] [stdout]     |
[INFO] [stdout] 253 |       fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 254 | |         let fetch = ServiceBuilder::default()
[INFO] [stdout] 255 | |             .rate_limit(self.opts.fetch_rate_limit.0, self.opts.fetch_rate_limit.1)
[INFO] [stdout] 256 | |             .layer(&self.fetch_instruments)
[INFO] [stdout] ...   |
[INFO] [stdout] 273 | |         Instruments { inner }
[INFO] [stdout] 274 | |     }
[INFO] [stdout]     | |_____^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     <L1::Service as Service<FetchInstruments>>::Future: Send,
[INFO] [stdout]     |                                                         ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:46
[INFO] [stdout]     |
[INFO] [stdout] 253 |       fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 254 | |         let fetch = ServiceBuilder::default()
[INFO] [stdout] 255 | |             .rate_limit(self.opts.fetch_rate_limit.0, self.opts.fetch_rate_limit.1)
[INFO] [stdout] 256 | |             .layer(&self.fetch_instruments)
[INFO] [stdout] ...   |
[INFO] [stdout] 273 | |         Instruments { inner }
[INFO] [stdout] 274 | |     }
[INFO] [stdout]     | |_____^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     |                                                             ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `RateLimit<<L1 as Layer<S>>::Service>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:258:14
[INFO] [stdout]     |
[INFO] [stdout] 254 |           let fetch = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 255 | |             .rate_limit(self.opts.fetch_rate_limit.0, self.opts.fetch_rate_limit.1)
[INFO] [stdout] 256 | |             .layer(&self.fetch_instruments)
[INFO] [stdout] 257 | |             .service(svc.clone())
[INFO] [stdout] 258 | |             .boxed();
[INFO] [stdout]     | |             -^^^^^ method cannot be called on `RateLimit<<L1 as Layer<S>>::Service>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/limit/rate/service.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout] 14  |   pub struct RateLimit<T> {
[INFO] [stdout]     |   ----------------------- doesn't satisfy `_: FutureExt`, `_: Future`, `_: Service<_>` or `_: ServiceExt<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `RateLimit<<L1 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `RateLimit<<L1 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `RateLimit<<L1 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `RateLimit<<L1 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&RateLimit<<L1 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&RateLimit<<L1 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&RateLimit<<L1 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&RateLimit<<L1 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/instrument/service/mod.rs:161:20
[INFO] [stdout]     |
[INFO] [stdout] 161 |         self.inner.poll_ready(cx)
[INFO] [stdout]     |                    ^^^^^^^^^^ multiple `poll_ready` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `Service` for the type `BoxCloneService<T, U, E>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `ExcService` for the type `S`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 161 |         Service::poll_ready(&mut self.inner, cx)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 161 |         ExcService::poll_ready(&mut self.inner, cx)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/instrument/service/mod.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |         self.inner.call(req)
[INFO] [stdout]     |                    ^^^^ multiple `call` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in the trait `Fn`
[INFO] [stdout]    --> /rustc/c2f2db79ca3024f68d22b45aa22b570775c2c4ad/library/core/src/ops/function.rs:79:5
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Service` for the type `BoxCloneService<T, U, E>`
[INFO] [stdout]     = note: candidate #3 is defined in an impl of the trait `ExcService` for the type `S`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Fn::call(&self.inner, req)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Service::call(&mut self.inner, req)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #3
[INFO] [stdout]     |
[INFO] [stdout] 166 |         ExcService::call(&mut self.inner, req)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:46
[INFO] [stdout]     |
[INFO] [stdout] 253 |       fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 254 | |         let fetch = ServiceBuilder::default()
[INFO] [stdout] 255 | |             .rate_limit(self.opts.fetch_rate_limit.0, self.opts.fetch_rate_limit.1)
[INFO] [stdout] 256 | |             .layer(&self.fetch_instruments)
[INFO] [stdout] ...   |
[INFO] [stdout] 273 | |         Instruments { inner }
[INFO] [stdout] 274 | |     }
[INFO] [stdout]     | |_____^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     <L1::Service as Service<FetchInstruments>>::Future: Send,
[INFO] [stdout]     |                                                         ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:46
[INFO] [stdout]     |
[INFO] [stdout] 253 |       fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 254 | |         let fetch = ServiceBuilder::default()
[INFO] [stdout] 255 | |             .rate_limit(self.opts.fetch_rate_limit.0, self.opts.fetch_rate_limit.1)
[INFO] [stdout] 256 | |             .layer(&self.fetch_instruments)
[INFO] [stdout] ...   |
[INFO] [stdout] 273 | |         Instruments { inner }
[INFO] [stdout] 274 | |     }
[INFO] [stdout]     | |_____^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     |                                                             ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `RateLimit<<L2 as Layer<S>>::Service>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:266:14
[INFO] [stdout]     |
[INFO] [stdout] 259 |           let subscribe = ServiceBuilder::default()
[INFO] [stdout]     |  _________________________-
[INFO] [stdout] 260 | |             .rate_limit(
[INFO] [stdout] 261 | |                 self.opts.subscribe_rate_limit.0,
[INFO] [stdout] 262 | |                 self.opts.subscribe_rate_limit.1,
[INFO] [stdout] ...   |
[INFO] [stdout] 265 | |             .service(svc)
[INFO] [stdout] 266 | |             .boxed();
[INFO] [stdout]     | |             -^^^^^ method cannot be called on `RateLimit<<L2 as Layer<S>>::Service>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/limit/rate/service.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout] 14  |   pub struct RateLimit<T> {
[INFO] [stdout]     |   ----------------------- doesn't satisfy `_: FutureExt`, `_: Future`, `_: Service<_>` or `_: ServiceExt<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `RateLimit<<L2 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `RateLimit<<L2 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `RateLimit<<L2 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `RateLimit<<L2 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&RateLimit<<L2 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&RateLimit<<L2 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&RateLimit<<L2 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&RateLimit<<L2 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     | |______________________________________________________________^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     | |______________________________________________________________^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout] 272 | |             .boxed_clone();
[INFO] [stdout]     | |__________________________^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout] 272 | |             .boxed_clone();
[INFO] [stdout]     | |__________________________^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTickers>` is not satisfied
[INFO] [stdout]   --> src/util/subscribe_tickers.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |         ServiceExt::<SubscribeTickers>::oneshot(self, SubscribeTickers::new(inst)).boxed()
[INFO] [stdout]    |         ---------------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTickers>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeTickers>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeTickers>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 17 |     S: ExcService<SubscribeTickers> + Send + tower::Service<exc_core::exc_types::SubscribeTickers>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeTickers>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/subscribe_tickers.rs:22:84
[INFO] [stdout]    |
[INFO] [stdout] 22 |           ServiceExt::<SubscribeTickers>::oneshot(self, SubscribeTickers::new(inst)).boxed()
[INFO] [stdout]    |                                                                                      ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeTickers>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeTickers>: FutureExt`, `Oneshot<&mut S, SubscribeTickers>: Service<_>`, `Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTickers>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTickers>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTickers>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTickers>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTickers>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTickers>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTickers>` is not satisfied
[INFO] [stdout]   --> src/util/subscribe_tickers.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         ServiceExt::<SubscribeTickers>::oneshot(self, SubscribeTickers::new(inst)).boxed()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTickers>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeTickers>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 17 |     S: ExcService<SubscribeTickers> + Send + tower::Service<exc_core::exc_types::SubscribeTickers>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]   --> src/util/trade.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |         ServiceExt::oneshot(self, SubscribeTrades::new(inst)).boxed()
[INFO] [stdout]    |         -------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`, which is required by `&mut S: Service<_>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]    = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<_>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `RateLimit<<L1 as Layer<S>>::Service>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:258:14
[INFO] [stdout]     |
[INFO] [stdout] 254 |           let fetch = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 255 | |             .rate_limit(self.opts.fetch_rate_limit.0, self.opts.fetch_rate_limit.1)
[INFO] [stdout] 256 | |             .layer(&self.fetch_instruments)
[INFO] [stdout] 257 | |             .service(svc.clone())
[INFO] [stdout] 258 | |             .boxed();
[INFO] [stdout]     | |             -^^^^^ method cannot be called on `RateLimit<<L1 as Layer<S>>::Service>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/limit/rate/service.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout] 14  |   pub struct RateLimit<T> {
[INFO] [stdout]     |   ----------------------- doesn't satisfy `_: FutureExt`, `_: Future`, `_: Service<_>` or `_: ServiceExt<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `RateLimit<<L1 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `RateLimit<<L1 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `RateLimit<<L1 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `RateLimit<<L1 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&RateLimit<<L1 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&RateLimit<<L1 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&RateLimit<<L1 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&RateLimit<<L1 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeTrades>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trade.rs:19:63
[INFO] [stdout]    |
[INFO] [stdout] 19 |           ServiceExt::oneshot(self, SubscribeTrades::new(inst)).boxed()
[INFO] [stdout]    |                                                                 ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeTrades>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeTrades>: FutureExt`, `Oneshot<&mut S, SubscribeTrades>: Service<_>`, `Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTrades>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTrades>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTrades>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTrades>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTrades>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTrades>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         ServiceExt::oneshot(self, SubscribeTrades::new(inst)).boxed()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeTrades>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeTrades>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 15 |     S: ExcService<SubscribeTrades> + Send + tower::Service<exc_core::exc_types::SubscribeTrades>,
[INFO] [stdout]    |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]   --> src/util/book.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 |         ServiceExt::oneshot(self, SubscribeBidAsk::new(inst)).boxed()
[INFO] [stdout]    |         -------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`, which is required by `&mut S: Service<_>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]    = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<_>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeBidAsk>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/book.rs:23:63
[INFO] [stdout]    |
[INFO] [stdout] 23 |           ServiceExt::oneshot(self, SubscribeBidAsk::new(inst)).boxed()
[INFO] [stdout]    |                                                                 ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeBidAsk>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeBidAsk>: FutureExt`, `Oneshot<&mut S, SubscribeBidAsk>: Service<_>`, `Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeBidAsk>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeBidAsk>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeBidAsk>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeBidAsk>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeBidAsk>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeBidAsk>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/book.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         ServiceExt::oneshot(self, SubscribeBidAsk::new(inst)).boxed()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeBidAsk>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeBidAsk>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 18 |     S: ExcService<SubscribeBidAsk> + Send + tower::Service<exc_core::exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         ServiceExt::<SubscribeInstruments>::oneshot(
[INFO] [stdout]    |         ------------------------------------------- required by a bound introduced by this call
[INFO] [stdout] 31 |             self,
[INFO] [stdout] 32 |             SubscribeInstruments { tag: Str::new(tag) },
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeInstruments>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeInstruments>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 22 |     S: ExcService<SubscribeInstruments> + Send + tower::Service<exc_core::exc_types::SubscribeInstruments>,
[INFO] [stdout]    |                                                +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeInstruments>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         ServiceExt::<SubscribeInstruments>::oneshot(
[INFO] [stdout] 31 | |             self,
[INFO] [stdout] 32 | |             SubscribeInstruments { tag: Str::new(tag) },
[INFO] [stdout] 33 | |         )
[INFO] [stdout] 34 | |         .boxed()
[INFO] [stdout]    | |         -^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeInstruments>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeInstruments>: FutureExt`, `Oneshot<&mut S, SubscribeInstruments>: Service<_>`, `_: Future` or `_: ServiceExt<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeInstruments>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeInstruments>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeInstruments>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeInstruments>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeInstruments>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeInstruments>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `RateLimit<<L2 as Layer<S>>::Service>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:266:14
[INFO] [stdout]     |
[INFO] [stdout] 259 |           let subscribe = ServiceBuilder::default()
[INFO] [stdout]     |  _________________________-
[INFO] [stdout] 260 | |             .rate_limit(
[INFO] [stdout] 261 | |                 self.opts.subscribe_rate_limit.0,
[INFO] [stdout] 262 | |                 self.opts.subscribe_rate_limit.1,
[INFO] [stdout] ...   |
[INFO] [stdout] 265 | |             .service(svc)
[INFO] [stdout] 266 | |             .boxed();
[INFO] [stdout]     | |             -^^^^^ method cannot be called on `RateLimit<<L2 as Layer<S>>::Service>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/limit/rate/service.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout] 14  |   pub struct RateLimit<T> {
[INFO] [stdout]     |   ----------------------- doesn't satisfy `_: FutureExt`, `_: Future`, `_: Service<_>` or `_: ServiceExt<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `RateLimit<<L2 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `RateLimit<<L2 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `RateLimit<<L2 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `RateLimit<<L2 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&RateLimit<<L2 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&RateLimit<<L2 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&RateLimit<<L2 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&RateLimit<<L2 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         ServiceExt::<SubscribeInstruments>::oneshot(
[INFO] [stdout] 31 | |             self,
[INFO] [stdout] 32 | |             SubscribeInstruments { tag: Str::new(tag) },
[INFO] [stdout] 33 | |         )
[INFO] [stdout]    | |_________^ the trait `Service<SubscribeInstruments>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeInstruments>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeInstruments>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 22 |     S: ExcService<SubscribeInstruments> + Send + tower::Service<exc_core::exc_types::SubscribeInstruments>,
[INFO] [stdout]    |                                                +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:51:55
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ServiceExt::<FetchInstruments>::oneshot(self, FetchInstruments { tag: Str::new(tag) })
[INFO] [stdout]    |         ---------------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `S`, which is required by `&mut S: Service<FetchInstruments>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<FetchInstruments>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 46 |     S: ExcService<FetchInstruments> + Send + tower::Service<exc_core::exc_types::FetchInstruments>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     | |______________________________________________________________^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, FetchInstruments>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 51 | /         ServiceExt::<FetchInstruments>::oneshot(self, FetchInstruments { tag: Str::new(tag) })
[INFO] [stdout] 52 | |             .boxed()
[INFO] [stdout]    | |             -^^^^^ method cannot be called on `Oneshot<&mut S, FetchInstruments>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, FetchInstruments>: FutureExt`, `Oneshot<&mut S, FetchInstruments>: Service<_>`, `Oneshot<&mut S, FetchInstruments>: ServiceExt<_>` or `Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, FetchInstruments>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, FetchInstruments>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, FetchInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, FetchInstruments>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, FetchInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, FetchInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, FetchInstruments>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, FetchInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, FetchInstruments>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     | |______________________________________________________________^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ServiceExt::<FetchInstruments>::oneshot(self, FetchInstruments { tag: Str::new(tag) })
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `S`, which is required by `&mut S: Service<FetchInstruments>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<FetchInstruments>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 46 |     S: ExcService<FetchInstruments> + Send + tower::Service<exc_core::exc_types::FetchInstruments>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryCandles>` is not satisfied
[INFO] [stdout]   --> src/util/fetch_candles.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |         ServiceExt::<QueryCandles>::oneshot(self, QueryCandles::new(inst, period, (start, end)))
[INFO] [stdout]    |         -----------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryCandles>` is not implemented for `S`, which is required by `&mut S: Service<QueryCandles>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<QueryCandles>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 26 |     S: ExcService<QueryCandles> + Send + tower::Service<exc_core::exc_types::QueryCandles>,
[INFO] [stdout]    |                                        +++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout] 272 | |             .boxed_clone();
[INFO] [stdout]     | |__________________________^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout] 272 | |             .boxed_clone();
[INFO] [stdout]     | |__________________________^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, QueryCandles>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/fetch_candles.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 36 | /         ServiceExt::<QueryCandles>::oneshot(self, QueryCandles::new(inst, period, (start, end)))
[INFO] [stdout] 37 | |             .boxed()
[INFO] [stdout]    | |             -^^^^^ method cannot be called on `Oneshot<&mut S, QueryCandles>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, QueryCandles>: FutureExt`, `Oneshot<&mut S, QueryCandles>: Service<_>`, `Oneshot<&mut S, QueryCandles>: ServiceExt<_>` or `Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, QueryCandles>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, QueryCandles>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, QueryCandles>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, QueryCandles>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, QueryCandles>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, QueryCandles>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, QueryCandles>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, QueryCandles>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, QueryCandles>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryCandles>` is not satisfied
[INFO] [stdout]   --> src/util/fetch_candles.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         ServiceExt::<QueryCandles>::oneshot(self, QueryCandles::new(inst, period, (start, end)))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryCandles>` is not implemented for `S`, which is required by `&mut S: Service<QueryCandles>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<QueryCandles>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 26 |     S: ExcService<QueryCandles> + Send + tower::Service<exc_core::exc_types::QueryCandles>,
[INFO] [stdout]    |                                        +++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTickers>` is not satisfied
[INFO] [stdout]   --> src/util/subscribe_tickers.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |         ServiceExt::<SubscribeTickers>::oneshot(self, SubscribeTickers::new(inst)).boxed()
[INFO] [stdout]    |         ---------------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTickers>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeTickers>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeTickers>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 17 |     S: ExcService<SubscribeTickers> + Send + tower::Service<exc_core::exc_types::SubscribeTickers>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:133:34
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ----------- ^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer::<T, Request>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer::<T, Request>::new`
[INFO] [stdout] ...
[INFO] [stdout] 68  |     pub fn new(service: T, bound: usize) -> Self
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryLastCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Service::poll_ready(&mut self.svc, cx).map_err(ExchangeError::from)
[INFO] [stdout]     |             ------------------- ^^^^^^^^^^^^^ the trait `Service<QueryLastCandles>` is not implemented for `S`, which is required by `tower::buffer::Buffer<S, QueryLastCandles>: Service<_>`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `tower::buffer::Buffer<S, QueryLastCandles>` to implement `Service<QueryLastCandles>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 150 |         S: ExcService<QueryLastCandles> + 'static + tower::Service<exc_core::exc_types::QueryLastCandles>,
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryLastCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Service::poll_ready(&mut self.svc, cx).map_err(ExchangeError::from)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryLastCandles>` is not implemented for `S`, which is required by `tower::buffer::Buffer<S, QueryLastCandles>: Service<QueryLastCandles>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `tower::buffer::Buffer<S, QueryLastCandles>` to implement `Service<QueryLastCandles>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 150 |         S: ExcService<QueryLastCandles> + 'static + tower::Service<exc_core::exc_types::QueryLastCandles>,
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeTickers>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/subscribe_tickers.rs:22:84
[INFO] [stdout]    |
[INFO] [stdout] 22 |           ServiceExt::<SubscribeTickers>::oneshot(self, SubscribeTickers::new(inst)).boxed()
[INFO] [stdout]    |                                                                                      ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeTickers>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeTickers>: FutureExt`, `Oneshot<&mut S, SubscribeTickers>: Service<_>`, `Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTickers>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTickers>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTickers>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTickers>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTickers>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTickers>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTickers>` is not satisfied
[INFO] [stdout]   --> src/util/subscribe_tickers.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         ServiceExt::<SubscribeTickers>::oneshot(self, SubscribeTickers::new(inst)).boxed()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTickers>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeTickers>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 17 |     S: ExcService<SubscribeTickers> + Send + tower::Service<exc_core::exc_types::SubscribeTickers>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]   --> src/util/trade.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |         ServiceExt::oneshot(self, SubscribeTrades::new(inst)).boxed()
[INFO] [stdout]    |         -------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`, which is required by `&mut S: Service<_>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]    = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<_>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for struct `Buffer<S, QueryLastCandles>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:169:36
[INFO] [stdout]     |
[INFO] [stdout] 169 |             let mut svc = self.svc.clone();
[INFO] [stdout]     |                                    ^^^^^ method cannot be called on `Buffer<S, QueryLastCandles>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     | ----------------------------- doesn't satisfy `tower::buffer::Buffer<S, QueryLastCandles>: Clone`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `S: Service<QueryLastCandles>`
[INFO] [stdout]             which is required by `tower::buffer::Buffer<S, QueryLastCandles>: Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeTrades>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trade.rs:19:63
[INFO] [stdout]    |
[INFO] [stdout] 19 |           ServiceExt::oneshot(self, SubscribeTrades::new(inst)).boxed()
[INFO] [stdout]    |                                                                 ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeTrades>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeTrades>: FutureExt`, `Oneshot<&mut S, SubscribeTrades>: Service<_>`, `Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTrades>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTrades>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTrades>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTrades>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTrades>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTrades>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         ServiceExt::oneshot(self, SubscribeTrades::new(inst)).boxed()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeTrades>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeTrades>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 15 |     S: ExcService<SubscribeTrades> + Send + tower::Service<exc_core::exc_types::SubscribeTrades>,
[INFO] [stdout]    |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]   --> src/util/book.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 |         ServiceExt::oneshot(self, SubscribeBidAsk::new(inst)).boxed()
[INFO] [stdout]    |         -------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`, which is required by `&mut S: Service<_>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]    = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<_>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeBidAsk>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/book.rs:23:63
[INFO] [stdout]    |
[INFO] [stdout] 23 |           ServiceExt::oneshot(self, SubscribeBidAsk::new(inst)).boxed()
[INFO] [stdout]    |                                                                 ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeBidAsk>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeBidAsk>: FutureExt`, `Oneshot<&mut S, SubscribeBidAsk>: Service<_>`, `Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeBidAsk>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeBidAsk>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeBidAsk>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeBidAsk>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeBidAsk>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeBidAsk>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/book.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         ServiceExt::oneshot(self, SubscribeBidAsk::new(inst)).boxed()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeBidAsk>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeBidAsk>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 18 |     S: ExcService<SubscribeBidAsk> + Send + tower::Service<exc_core::exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         ServiceExt::<SubscribeInstruments>::oneshot(
[INFO] [stdout]    |         ------------------------------------------- required by a bound introduced by this call
[INFO] [stdout] 31 |             self,
[INFO] [stdout] 32 |             SubscribeInstruments { tag: Str::new(tag) },
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeInstruments>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeInstruments>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 22 |     S: ExcService<SubscribeInstruments> + Send + tower::Service<exc_core::exc_types::SubscribeInstruments>,
[INFO] [stdout]    |                                                +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:228:34
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ----------- ^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer::<T, Request>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer::<T, Request>::new`
[INFO] [stdout] ...
[INFO] [stdout] 68  |     pub fn new(service: T, bound: usize) -> Self
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeInstruments>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         ServiceExt::<SubscribeInstruments>::oneshot(
[INFO] [stdout] 31 | |             self,
[INFO] [stdout] 32 | |             SubscribeInstruments { tag: Str::new(tag) },
[INFO] [stdout] 33 | |         )
[INFO] [stdout] 34 | |         .boxed()
[INFO] [stdout]    | |         -^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeInstruments>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeInstruments>: FutureExt`, `Oneshot<&mut S, SubscribeInstruments>: Service<_>`, `_: Future` or `_: ServiceExt<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeInstruments>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeInstruments>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeInstruments>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeInstruments>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeInstruments>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeInstruments>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:228:22
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         ServiceExt::<SubscribeInstruments>::oneshot(
[INFO] [stdout] 31 | |             self,
[INFO] [stdout] 32 | |             SubscribeInstruments { tag: Str::new(tag) },
[INFO] [stdout] 33 | |         )
[INFO] [stdout]    | |_________^ the trait `Service<SubscribeInstruments>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeInstruments>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeInstruments>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 22 |     S: ExcService<SubscribeInstruments> + Send + tower::Service<exc_core::exc_types::SubscribeInstruments>,
[INFO] [stdout]    |                                                +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:51:55
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ServiceExt::<FetchInstruments>::oneshot(self, FetchInstruments { tag: Str::new(tag) })
[INFO] [stdout]    |         ---------------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `S`, which is required by `&mut S: Service<FetchInstruments>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<FetchInstruments>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 46 |     S: ExcService<FetchInstruments> + Send + tower::Service<exc_core::exc_types::FetchInstruments>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:228:22
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, FetchInstruments>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 51 | /         ServiceExt::<FetchInstruments>::oneshot(self, FetchInstruments { tag: Str::new(tag) })
[INFO] [stdout] 52 | |             .boxed()
[INFO] [stdout]    | |             -^^^^^ method cannot be called on `Oneshot<&mut S, FetchInstruments>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, FetchInstruments>: FutureExt`, `Oneshot<&mut S, FetchInstruments>: Service<_>`, `Oneshot<&mut S, FetchInstruments>: ServiceExt<_>` or `Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, FetchInstruments>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, FetchInstruments>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, FetchInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, FetchInstruments>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, FetchInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, FetchInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, FetchInstruments>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, FetchInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, FetchInstruments>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ServiceExt::<FetchInstruments>::oneshot(self, FetchInstruments { tag: Str::new(tag) })
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `S`, which is required by `&mut S: Service<FetchInstruments>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<FetchInstruments>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 46 |     S: ExcService<FetchInstruments> + Send + tower::Service<exc_core::exc_types::FetchInstruments>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryCandles>` is not satisfied
[INFO] [stdout]   --> src/util/fetch_candles.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |         ServiceExt::<QueryCandles>::oneshot(self, QueryCandles::new(inst, period, (start, end)))
[INFO] [stdout]    |         -----------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryCandles>` is not implemented for `S`, which is required by `&mut S: Service<QueryCandles>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<QueryCandles>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 26 |     S: ExcService<QueryCandles> + Send + tower::Service<exc_core::exc_types::QueryCandles>,
[INFO] [stdout]    |                                        +++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for struct `Buffer<S, QueryFirstCandles>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:264:36
[INFO] [stdout]     |
[INFO] [stdout] 264 |             let mut svc = self.svc.clone();
[INFO] [stdout]     |                                    ^^^^^ method cannot be called on `Buffer<S, QueryFirstCandles>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     | ----------------------------- doesn't satisfy `tower::buffer::Buffer<S, QueryFirstCandles>: Clone`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `S: Service<QueryFirstCandles>`
[INFO] [stdout]             which is required by `tower::buffer::Buffer<S, QueryFirstCandles>: Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, QueryCandles>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/fetch_candles.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 36 | /         ServiceExt::<QueryCandles>::oneshot(self, QueryCandles::new(inst, period, (start, end)))
[INFO] [stdout] 37 | |             .boxed()
[INFO] [stdout]    | |             -^^^^^ method cannot be called on `Oneshot<&mut S, QueryCandles>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, QueryCandles>: FutureExt`, `Oneshot<&mut S, QueryCandles>: Service<_>`, `Oneshot<&mut S, QueryCandles>: ServiceExt<_>` or `Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, QueryCandles>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, QueryCandles>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, QueryCandles>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, QueryCandles>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, QueryCandles>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, QueryCandles>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, QueryCandles>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, QueryCandles>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, QueryCandles>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryCandles>` is not satisfied
[INFO] [stdout]   --> src/util/fetch_candles.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         ServiceExt::<QueryCandles>::oneshot(self, QueryCandles::new(inst, period, (start, end)))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryCandles>` is not implemented for `S`, which is required by `&mut S: Service<QueryCandles>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<QueryCandles>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 26 |     S: ExcService<QueryCandles> + Send + tower::Service<exc_core::exc_types::QueryCandles>,
[INFO] [stdout]    |                                        +++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:133:34
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ----------- ^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer::<T, Request>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer::<T, Request>::new`
[INFO] [stdout] ...
[INFO] [stdout] 68  |     pub fn new(service: T, bound: usize) -> Self
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryLastCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Service::poll_ready(&mut self.svc, cx).map_err(ExchangeError::from)
[INFO] [stdout]     |             ------------------- ^^^^^^^^^^^^^ the trait `Service<QueryLastCandles>` is not implemented for `S`, which is required by `tower::buffer::Buffer<S, QueryLastCandles>: Service<_>`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `tower::buffer::Buffer<S, QueryLastCandles>` to implement `Service<QueryLastCandles>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 150 |         S: ExcService<QueryLastCandles> + 'static + tower::Service<exc_core::exc_types::QueryLastCandles>,
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryLastCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Service::poll_ready(&mut self.svc, cx).map_err(ExchangeError::from)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryLastCandles>` is not implemented for `S`, which is required by `tower::buffer::Buffer<S, QueryLastCandles>: Service<QueryLastCandles>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `tower::buffer::Buffer<S, QueryLastCandles>` to implement `Service<QueryLastCandles>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 150 |         S: ExcService<QueryLastCandles> + 'static + tower::Service<exc_core::exc_types::QueryLastCandles>,
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:53:49
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ServiceExt::<PlaceOrder>::oneshot(self, req)
[INFO] [stdout]    |         ---------------------------------       ^^^ the trait `Service<PlaceOrder>` is not implemented for `S`, which is required by `&mut S: Service<PlaceOrder>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<PlaceOrder>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for struct `Buffer<S, QueryLastCandles>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:169:36
[INFO] [stdout]     |
[INFO] [stdout] 169 |             let mut svc = self.svc.clone();
[INFO] [stdout]     |                                    ^^^^^ method cannot be called on `Buffer<S, QueryLastCandles>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     | ----------------------------- doesn't satisfy `tower::buffer::Buffer<S, QueryLastCandles>: Clone`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `S: Service<QueryLastCandles>`
[INFO] [stdout]             which is required by `tower::buffer::Buffer<S, QueryLastCandles>: Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `try_flatten` exists for struct `Oneshot<&mut S, PlaceOrder>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 53 | /         ServiceExt::<PlaceOrder>::oneshot(self, req)
[INFO] [stdout] 54 | |             .try_flatten()
[INFO] [stdout]    | |             -^^^^^^^^^^^ method cannot be called on `Oneshot<&mut S, PlaceOrder>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, PlaceOrder>: TryFutureExt` or `Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]            which is required by `Oneshot<&mut S, PlaceOrder>: TryFutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, PlaceOrder>: TryFutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, PlaceOrder>: TryFutureExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ServiceExt::<PlaceOrder>::oneshot(self, req)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`, which is required by `&mut S: Service<PlaceOrder>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<PlaceOrder>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `place_with_opts` exists for mutable reference `&mut S`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:64:14
[INFO] [stdout]    |
[INFO] [stdout] 64 |         self.place_with_opts(
[INFO] [stdout]    |         -----^^^^^^^^^^^^^^^ method cannot be called on `&mut S` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `&mut S: ExcService<CancelOrder>`
[INFO] [stdout]       `&mut S: ExcService<PlaceOrder>`
[INFO] [stdout]       `S: Service<CancelOrder>`
[INFO] [stdout]       `S: Service<PlaceOrder>`
[INFO] [stdout]   --> src/util/trading.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<S> TradingService for S
[INFO] [stdout]    |         --------------     -
[INFO] [stdout] 41 | where
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout]    |        |
[INFO] [stdout]    |        unsatisfied trait bound introduced here
[INFO] [stdout] 43 |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout]    |                                         ^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] 44 |     <S as Service<CancelOrder>>::Future: Send,
[INFO] [stdout]    |                                          ^^^^ unsatisfied trait bound introduced here
[INFO] [stdout]    = help: items from traits can only be used if the type parameter is bounded by the trait
[INFO] [stdout] help: the following trait defines an item `place_with_opts`, perhaps you need to restrict type parameter `S` with it:
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + TradingService,
[INFO] [stdout]    |                                                                ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:72:50
[INFO] [stdout]    |
[INFO] [stdout] 72 |         ServiceExt::<CancelOrder>::oneshot(self, CancelOrder::new(inst, id.clone()))
[INFO] [stdout]    |         ----------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`, which is required by `&mut S: Service<CancelOrder>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<CancelOrder>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `try_flatten` exists for struct `Oneshot<&mut S, CancelOrder>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 72 | /         ServiceExt::<CancelOrder>::oneshot(self, CancelOrder::new(inst, id.clone()))
[INFO] [stdout] 73 | |             .try_flatten()
[INFO] [stdout]    | |             -^^^^^^^^^^^ method cannot be called on `Oneshot<&mut S, CancelOrder>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, CancelOrder>: TryFutureExt` or `Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]            which is required by `Oneshot<&mut S, CancelOrder>: TryFutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, CancelOrder>: TryFutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, CancelOrder>: TryFutureExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         ServiceExt::<CancelOrder>::oneshot(self, CancelOrder::new(inst, id.clone()))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`, which is required by `&mut S: Service<CancelOrder>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<CancelOrder>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |           ServiceExt::oneshot(
[INFO] [stdout]    |           ------------------- required by a bound introduced by this call
[INFO] [stdout] 91 |               self,
[INFO] [stdout] 92 | /             GetOrder {
[INFO] [stdout] 93 | |                 instrument: Str::new(inst),
[INFO] [stdout] 94 | |                 id: id.clone(),
[INFO] [stdout] 95 | |             },
[INFO] [stdout]    | |_____________^ the trait `Service<_>` is not implemented for `S`, which is required by `&mut S: Service<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]    = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<_>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:228:34
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ----------- ^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer::<T, Request>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer::<T, Request>::new`
[INFO] [stdout] ...
[INFO] [stdout] 68  |     pub fn new(service: T, bound: usize) -> Self
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:228:22
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:228:22
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `try_flatten` exists for struct `Oneshot<&mut S, GetOrder>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | /         ServiceExt::oneshot(
[INFO] [stdout] 91 | |             self,
[INFO] [stdout] 92 | |             GetOrder {
[INFO] [stdout] 93 | |                 instrument: Str::new(inst),
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |         )
[INFO] [stdout] 97 | |         .try_flatten()
[INFO] [stdout]    | |         -^^^^^^^^^^^ method cannot be called on `Oneshot<&mut S, GetOrder>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, GetOrder>: TryFutureExt` or `Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]            which is required by `Oneshot<&mut S, GetOrder>: TryFutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, GetOrder>: TryFutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, GetOrder>: TryFutureExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<GetOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 | /         ServiceExt::oneshot(
[INFO] [stdout] 91 | |             self,
[INFO] [stdout] 92 | |             GetOrder {
[INFO] [stdout] 93 | |                 instrument: Str::new(inst),
[INFO] [stdout] 94 | |                 id: id.clone(),
[INFO] [stdout] 95 | |             },
[INFO] [stdout] 96 | |         )
[INFO] [stdout]    | |_________^ the trait `Service<GetOrder>` is not implemented for `S`, which is required by `&mut S: Service<GetOrder>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<GetOrder>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 86 |     S: ExcService<GetOrder> + Send + tower::Service<exc_core::exc_types::GetOrder>,
[INFO] [stdout]    |                                    +++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeOrders>` is not satisfied
[INFO] [stdout]    --> src/util/trading.rs:114:54
[INFO] [stdout]     |
[INFO] [stdout] 114 |         ServiceExt::<SubscribeOrders>::oneshot(self, SubscribeOrders::new(inst)).boxed()
[INFO] [stdout]     |         --------------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeOrders>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeOrders>`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `&mut S` to implement `Service<SubscribeOrders>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]     |
[INFO] [stdout] 65  | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96  |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]     |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 110 |     S: ExcService<SubscribeOrders> + Send + tower::Service<exc_core::exc_types::SubscribeOrders>,
[INFO] [stdout]     |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for struct `Buffer<S, QueryFirstCandles>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:264:36
[INFO] [stdout]     |
[INFO] [stdout] 264 |             let mut svc = self.svc.clone();
[INFO] [stdout]     |                                    ^^^^^ method cannot be called on `Buffer<S, QueryFirstCandles>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     | ----------------------------- doesn't satisfy `tower::buffer::Buffer<S, QueryFirstCandles>: Clone`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `S: Service<QueryFirstCandles>`
[INFO] [stdout]             which is required by `tower::buffer::Buffer<S, QueryFirstCandles>: Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeOrders>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/util/trading.rs:114:82
[INFO] [stdout]     |
[INFO] [stdout] 114 |           ServiceExt::<SubscribeOrders>::oneshot(self, SubscribeOrders::new(inst)).boxed()
[INFO] [stdout]     |                                                                                    ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeOrders>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout] 11  | / pin_project! {
[INFO] [stdout] 12  | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13  | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14  | |     /// waiting for that [`Future`].
[INFO] [stdout] ...   |
[INFO] [stdout] 19  | |     }
[INFO] [stdout] 20  | | }
[INFO] [stdout]     | |_- doesn't satisfy `Oneshot<&mut S, SubscribeOrders>: FutureExt`, `Oneshot<&mut S, SubscribeOrders>: Service<_>`, `Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]             which is required by `Oneshot<&mut S, SubscribeOrders>: FutureExt`
[INFO] [stdout]             `Oneshot<&mut S, SubscribeOrders>: Service<_>`
[INFO] [stdout]             which is required by `Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>`
[INFO] [stdout]             `&Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]             which is required by `&Oneshot<&mut S, SubscribeOrders>: FutureExt`
[INFO] [stdout]             `&Oneshot<&mut S, SubscribeOrders>: Service<_>`
[INFO] [stdout]             which is required by `&Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>`
[INFO] [stdout]             `&mut Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]             which is required by `&mut Oneshot<&mut S, SubscribeOrders>: FutureExt`
[INFO] [stdout]             `&mut Oneshot<&mut S, SubscribeOrders>: Service<_>`
[INFO] [stdout]             which is required by `&mut Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeOrders>` is not satisfied
[INFO] [stdout]    --> src/util/trading.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         ServiceExt::<SubscribeOrders>::oneshot(self, SubscribeOrders::new(inst)).boxed()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeOrders>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeOrders>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `&mut S` to implement `Service<SubscribeOrders>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout] 11  | / pin_project! {
[INFO] [stdout] 12  | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13  | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14  | |     /// waiting for that [`Future`].
[INFO] [stdout] 15  | |     #[derive(Debug)]
[INFO] [stdout] 16  | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]     | |                ------- required by a bound in this struct
[INFO] [stdout] ...   |
[INFO] [stdout] 19  | |     }
[INFO] [stdout] 20  | | }
[INFO] [stdout]     | |_^ required by this bound in `Oneshot`
[INFO] [stdout]     = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 110 |     S: ExcService<SubscribeOrders> + Send + tower::Service<exc_core::exc_types::SubscribeOrders>,
[INFO] [stdout]     |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<Reconnect>` is not satisfied
[INFO] [stdout]   --> src/util/reconnect.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         ServiceExt::<Reconnect>::call_all(self, iter([Reconnect, Reconnect]))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<Reconnect>` is not implemented for `S`, which is required by `&mut S: Service<Reconnect>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<Reconnect>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 22 |     S: ExcService<Reconnect> + Send + tower::Service<exc_core::exc_types::utils::Reconnect>,
[INFO] [stdout]    |                                     +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `fold` exists for struct `CallAll<&mut S, Iter<IntoIter<Reconnect, 2>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/reconnect.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |  /         ServiceExt::<Reconnect>::call_all(self, iter([Reconnect, Reconnect]))
[INFO] [stdout] 32 |  |             .fold(Ok(()), move |res, x| match state {
[INFO] [stdout]    |  |             -^^^^ method cannot be called on `CallAll<&mut S, Iter<IntoIter<Reconnect, 2>>>` due to unsatisfied trait bounds
[INFO] [stdout]    |  |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/call_all/ordered.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | /  pin_project! {
[INFO] [stdout] 18 | |      /// This is a [`Stream`] of responses resulting from calling the wrapped [`Service`] for each
[INFO] [stdout] 19 | |      /// request received on the wrapped [`Stream`].
[INFO] [stdout] 20 | |      ///
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | |      }
[INFO] [stdout] 96 | |  }
[INFO] [stdout]    | |__- doesn't satisfy `_: Iterator`, `_: StreamExt` or `_: Stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Stream`
[INFO] [stdout]            which is required by `CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: StreamExt`
[INFO] [stdout]            `&CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Stream`
[INFO] [stdout]            which is required by `&CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: StreamExt`
[INFO] [stdout]            `&mut CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Stream`
[INFO] [stdout]            which is required by `&mut CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: StreamExt`
[INFO] [stdout]            `CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Iterator`
[INFO] [stdout]            which is required by `&mut CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]   --> src/util/fetch_candles.rs:79:49
[INFO] [stdout]    |
[INFO] [stdout] 79 |     use futures::{future::BoxFuture, FutureExt, StreamExt};
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/subscribe_tickers.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use futures::{future::BoxFuture, FutureExt};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> src/util/trade.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> src/util/book.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/trading.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{future::BoxFuture, FutureExt, TryFutureExt};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> src/util/instrument.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]  --> src/util/reconnect.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FutureExt, StreamExt,
[INFO] [stdout]   |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/fetch_candles.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::{future::BoxFuture, FutureExt};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]  --> src/util/trading.rs:7:45
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{future::BoxFuture, FutureExt, TryFutureExt};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/reconnect.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FutureExt, StreamExt,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServiceExt`
[INFO] [stdout]   --> src/util/fetch_candles.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 |     use tower::{Layer, Service, ServiceExt};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]   --> src/util/fetch_candles.rs:79:38
[INFO] [stdout]    |
[INFO] [stdout] 79 |     use futures::{future::BoxFuture, FutureExt, StreamExt};
[INFO] [stdout]    |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:53:49
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ServiceExt::<PlaceOrder>::oneshot(self, req)
[INFO] [stdout]    |         ---------------------------------       ^^^ the trait `Service<PlaceOrder>` is not implemented for `S`, which is required by `&mut S: Service<PlaceOrder>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<PlaceOrder>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `try_flatten` exists for struct `Oneshot<&mut S, PlaceOrder>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 53 | /         ServiceExt::<PlaceOrder>::oneshot(self, req)
[INFO] [stdout] 54 | |             .try_flatten()
[INFO] [stdout]    | |             -^^^^^^^^^^^ method cannot be called on `Oneshot<&mut S, PlaceOrder>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, PlaceOrder>: TryFutureExt` or `Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]            which is required by `Oneshot<&mut S, PlaceOrder>: TryFutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, PlaceOrder>: TryFutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, PlaceOrder>: TryFutureExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ServiceExt::<PlaceOrder>::oneshot(self, req)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`, which is required by `&mut S: Service<PlaceOrder>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<PlaceOrder>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `place_with_opts` exists for mutable reference `&mut S`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:64:14
[INFO] [stdout]    |
[INFO] [stdout] 64 |         self.place_with_opts(
[INFO] [stdout]    |         -----^^^^^^^^^^^^^^^ method cannot be called on `&mut S` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `&mut S: ExcService<CancelOrder>`
[INFO] [stdout]       `&mut S: ExcService<PlaceOrder>`
[INFO] [stdout]       `S: Service<CancelOrder>`
[INFO] [stdout]       `S: Service<PlaceOrder>`
[INFO] [stdout]   --> src/util/trading.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<S> TradingService for S
[INFO] [stdout]    |         --------------     -
[INFO] [stdout] 41 | where
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout]    |        |
[INFO] [stdout]    |        unsatisfied trait bound introduced here
[INFO] [stdout] 43 |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout]    |                                         ^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] 44 |     <S as Service<CancelOrder>>::Future: Send,
[INFO] [stdout]    |                                          ^^^^ unsatisfied trait bound introduced here
[INFO] [stdout]    = help: items from traits can only be used if the type parameter is bounded by the trait
[INFO] [stdout] help: the following trait defines an item `place_with_opts`, perhaps you need to restrict type parameter `S` with it:
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + util::trading::TradingService,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:72:50
[INFO] [stdout]    |
[INFO] [stdout] 72 |         ServiceExt::<CancelOrder>::oneshot(self, CancelOrder::new(inst, id.clone()))
[INFO] [stdout]    |         ----------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`, which is required by `&mut S: Service<CancelOrder>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<CancelOrder>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:271:22
[INFO] [stdout]     |
[INFO] [stdout] 271 |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     |                      ^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:271:22
[INFO] [stdout]     |
[INFO] [stdout] 271 |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     |                      ^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `try_flatten` exists for struct `Oneshot<&mut S, CancelOrder>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 72 | /         ServiceExt::<CancelOrder>::oneshot(self, CancelOrder::new(inst, id.clone()))
[INFO] [stdout] 73 | |             .try_flatten()
[INFO] [stdout]    | |             -^^^^^^^^^^^ method cannot be called on `Oneshot<&mut S, CancelOrder>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, CancelOrder>: TryFutureExt` or `Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]            which is required by `Oneshot<&mut S, CancelOrder>: TryFutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, CancelOrder>: TryFutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, CancelOrder>: TryFutureExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         ServiceExt::<CancelOrder>::oneshot(self, CancelOrder::new(inst, id.clone()))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`, which is required by `&mut S: Service<CancelOrder>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<CancelOrder>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |           ServiceExt::oneshot(
[INFO] [stdout]    |           ------------------- required by a bound introduced by this call
[INFO] [stdout] 91 |               self,
[INFO] [stdout] 92 | /             GetOrder {
[INFO] [stdout] 93 | |                 instrument: Str::new(inst),
[INFO] [stdout] 94 | |                 id: id.clone(),
[INFO] [stdout] 95 | |             },
[INFO] [stdout]    | |_____________^ the trait `Service<_>` is not implemented for `S`, which is required by `&mut S: Service<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]    = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<_>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `try_flatten` exists for struct `Oneshot<&mut S, GetOrder>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | /         ServiceExt::oneshot(
[INFO] [stdout] 91 | |             self,
[INFO] [stdout] 92 | |             GetOrder {
[INFO] [stdout] 93 | |                 instrument: Str::new(inst),
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |         )
[INFO] [stdout] 97 | |         .try_flatten()
[INFO] [stdout]    | |         -^^^^^^^^^^^ method cannot be called on `Oneshot<&mut S, GetOrder>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, GetOrder>: TryFutureExt` or `Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]            which is required by `Oneshot<&mut S, GetOrder>: TryFutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, GetOrder>: TryFutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, GetOrder>: TryFutureExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<GetOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 | /         ServiceExt::oneshot(
[INFO] [stdout] 91 | |             self,
[INFO] [stdout] 92 | |             GetOrder {
[INFO] [stdout] 93 | |                 instrument: Str::new(inst),
[INFO] [stdout] 94 | |                 id: id.clone(),
[INFO] [stdout] 95 | |             },
[INFO] [stdout] 96 | |         )
[INFO] [stdout]    | |_________^ the trait `Service<GetOrder>` is not implemented for `S`, which is required by `&mut S: Service<GetOrder>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<GetOrder>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 86 |     S: ExcService<GetOrder> + Send + tower::Service<exc_core::exc_types::GetOrder>,
[INFO] [stdout]    |                                    +++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeOrders>` is not satisfied
[INFO] [stdout]    --> src/util/trading.rs:114:54
[INFO] [stdout]     |
[INFO] [stdout] 114 |         ServiceExt::<SubscribeOrders>::oneshot(self, SubscribeOrders::new(inst)).boxed()
[INFO] [stdout]     |         --------------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeOrders>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeOrders>`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `&mut S` to implement `Service<SubscribeOrders>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]     |
[INFO] [stdout] 65  | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96  |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]     |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 110 |     S: ExcService<SubscribeOrders> + Send + tower::Service<exc_core::exc_types::SubscribeOrders>,
[INFO] [stdout]     |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 85 previous errors; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0034, E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeOrders>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/util/trading.rs:114:82
[INFO] [stdout]     |
[INFO] [stdout] 114 |           ServiceExt::<SubscribeOrders>::oneshot(self, SubscribeOrders::new(inst)).boxed()
[INFO] [stdout]     |                                                                                    ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeOrders>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout] 11  | / pin_project! {
[INFO] [stdout] 12  | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13  | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14  | |     /// waiting for that [`Future`].
[INFO] [stdout] ...   |
[INFO] [stdout] 19  | |     }
[INFO] [stdout] 20  | | }
[INFO] [stdout]     | |_- doesn't satisfy `Oneshot<&mut S, SubscribeOrders>: FutureExt`, `Oneshot<&mut S, SubscribeOrders>: Service<_>`, `Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]             which is required by `Oneshot<&mut S, SubscribeOrders>: FutureExt`
[INFO] [stdout]             `Oneshot<&mut S, SubscribeOrders>: Service<_>`
[INFO] [stdout]             which is required by `Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>`
[INFO] [stdout]             `&Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]             which is required by `&Oneshot<&mut S, SubscribeOrders>: FutureExt`
[INFO] [stdout]             `&Oneshot<&mut S, SubscribeOrders>: Service<_>`
[INFO] [stdout]             which is required by `&Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>`
[INFO] [stdout]             `&mut Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]             which is required by `&mut Oneshot<&mut S, SubscribeOrders>: FutureExt`
[INFO] [stdout]             `&mut Oneshot<&mut S, SubscribeOrders>: Service<_>`
[INFO] [stdout]             which is required by `&mut Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeOrders>` is not satisfied
[INFO] [stdout]    --> src/util/trading.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         ServiceExt::<SubscribeOrders>::oneshot(self, SubscribeOrders::new(inst)).boxed()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeOrders>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeOrders>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `&mut S` to implement `Service<SubscribeOrders>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout] 11  | / pin_project! {
[INFO] [stdout] 12  | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13  | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14  | |     /// waiting for that [`Future`].
[INFO] [stdout] 15  | |     #[derive(Debug)]
[INFO] [stdout] 16  | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]     | |                ------- required by a bound in this struct
[INFO] [stdout] ...   |
[INFO] [stdout] 19  | |     }
[INFO] [stdout] 20  | | }
[INFO] [stdout]     | |_^ required by this bound in `Oneshot`
[INFO] [stdout]     = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 110 |     S: ExcService<SubscribeOrders> + Send + tower::Service<exc_core::exc_types::SubscribeOrders>,
[INFO] [stdout]     |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<Reconnect>` is not satisfied
[INFO] [stdout]   --> src/util/reconnect.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         ServiceExt::<Reconnect>::call_all(self, iter([Reconnect, Reconnect]))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<Reconnect>` is not implemented for `S`, which is required by `&mut S: Service<Reconnect>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<Reconnect>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 22 |     S: ExcService<Reconnect> + Send + tower::Service<exc_core::exc_types::utils::Reconnect>,
[INFO] [stdout]    |                                     +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `fold` exists for struct `CallAll<&mut S, Iter<IntoIter<Reconnect, 2>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/reconnect.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |  /         ServiceExt::<Reconnect>::call_all(self, iter([Reconnect, Reconnect]))
[INFO] [stdout] 32 |  |             .fold(Ok(()), move |res, x| match state {
[INFO] [stdout]    |  |             -^^^^ method cannot be called on `CallAll<&mut S, Iter<IntoIter<Reconnect, 2>>>` due to unsatisfied trait bounds
[INFO] [stdout]    |  |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/call_all/ordered.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | /  pin_project! {
[INFO] [stdout] 18 | |      /// This is a [`Stream`] of responses resulting from calling the wrapped [`Service`] for each
[INFO] [stdout] 19 | |      /// request received on the wrapped [`Stream`].
[INFO] [stdout] 20 | |      ///
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | |      }
[INFO] [stdout] 96 | |  }
[INFO] [stdout]    | |__- doesn't satisfy `_: Iterator`, `_: StreamExt` or `_: Stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Stream`
[INFO] [stdout]            which is required by `CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: StreamExt`
[INFO] [stdout]            `&CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Stream`
[INFO] [stdout]            which is required by `&CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: StreamExt`
[INFO] [stdout]            `&mut CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Stream`
[INFO] [stdout]            which is required by `&mut CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: StreamExt`
[INFO] [stdout]            `CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Iterator`
[INFO] [stdout]            which is required by `&mut CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exc` (lib) due to 86 previous errors; 12 warnings emitted
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]  --> src/util/reconnect.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FutureExt, StreamExt,
[INFO] [stdout]   |                ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]   --> src/util/fetch_candles.rs:79:38
[INFO] [stdout]    |
[INFO] [stdout] 79 |     use futures::{future::BoxFuture, FutureExt, StreamExt};
[INFO] [stdout]    |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/subscribe_tickers.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use futures::{future::BoxFuture, FutureExt};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/reconnect.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FutureExt, StreamExt,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> src/util/trade.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]  --> src/util/trading.rs:7:45
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{future::BoxFuture, FutureExt, TryFutureExt};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> src/util/book.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]   --> src/util/fetch_candles.rs:79:49
[INFO] [stdout]    |
[INFO] [stdout] 79 |     use futures::{future::BoxFuture, FutureExt, StreamExt};
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> src/util/instrument.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/trading.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{future::BoxFuture, FutureExt, TryFutureExt};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/fetch_candles.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::{future::BoxFuture, FutureExt};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServiceExt`
[INFO] [stdout]   --> src/util/fetch_candles.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 |     use tower::{Layer, Service, ServiceExt};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:271:22
[INFO] [stdout]     |
[INFO] [stdout] 271 |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     |                      ^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:271:22
[INFO] [stdout]     |
[INFO] [stdout] 271 |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     |                      ^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 85 previous errors; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0034, E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exc` (lib test) due to 86 previous errors; 12 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "86108567123d4d899682f3c0a2bd77d509679505d798a70147e6d6a593e15f1c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86108567123d4d899682f3c0a2bd77d509679505d798a70147e6d6a593e15f1c", kill_on_drop: false }`
[INFO] [stdout] 86108567123d4d899682f3c0a2bd77d509679505d798a70147e6d6a593e15f1c
[INFO] checking exc-0.7.0-alpha.0 against try#9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88 for pr-124157
[INFO] extracting crate exc 0.7.0-alpha.0 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate exc 0.7.0-alpha.0 on toolchain 9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate exc 0.7.0-alpha.0
[INFO] finished tweaking crates.io crate exc 0.7.0-alpha.0
[INFO] tweaked toml for crates.io crate exc 0.7.0-alpha.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 245 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding ahash v0.7.8 (latest: v0.8.11)
[INFO] [stderr]       Adding base64 v0.21.7 (latest: v0.22.1)
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding bytecheck v0.6.12 (latest: v0.7.0)
[INFO] [stderr]       Adding bytecheck_derive v0.6.12 (latest: v0.7.0)
[INFO] [stderr]       Adding cfg_aliases v0.1.1 (latest: v0.2.0)
[INFO] [stderr]       Adding convert_case v0.4.0 (latest: v0.6.0)
[INFO] [stderr]       Adding foreign-types v0.3.2 (latest: v0.5.0)
[INFO] [stderr]       Adding foreign-types-shared v0.1.1 (latest: v0.3.1)
[INFO] [stderr]       Adding generic-array v0.14.7 (latest: v1.0.0)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding hashbrown v0.12.3 (latest: v0.14.5)
[INFO] [stderr]       Adding hashbrown v0.13.2 (latest: v0.14.5)
[INFO] [stderr]       Adding http v0.2.12 (latest: v1.1.0)
[INFO] [stderr]       Adding http-body v0.4.6 (latest: v1.0.0)
[INFO] [stderr]       Adding hyper v0.14.28 (latest: v1.3.1)
[INFO] [stderr]       Adding hyper-rustls v0.24.2 (latest: v0.27.1)
[INFO] [stderr]       Adding hyper-tls v0.5.0 (latest: v0.6.0)
[INFO] [stderr]       Adding indexmap v1.9.3 (latest: v2.2.6)
[INFO] [stderr]       Adding linux-raw-sys v0.4.13 (latest: v0.6.4)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding ptr_meta v0.1.4 (latest: v0.2.0)
[INFO] [stderr]       Adding ptr_meta_derive v0.1.4 (latest: v0.2.0)
[INFO] [stderr]       Adding radium v0.7.0 (latest: v1.1.0)
[INFO] [stderr]       Adding rustls v0.21.12 (latest: v0.23.5)
[INFO] [stderr]       Adding rustls-webpki v0.101.7 (latest: v0.102.3)
[INFO] [stderr]       Adding serde_qs v0.12.0 (latest: v0.13.0)
[INFO] [stderr]       Adding serde_with v2.3.3 (latest: v3.8.1)
[INFO] [stderr]       Adding serde_with_macros v2.3.3 (latest: v3.8.1)
[INFO] [stderr]       Adding smol_str v0.1.24 (latest: v0.2.1)
[INFO] [stderr]       Adding strsim v0.10.0 (latest: v0.11.1)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.60)
[INFO] [stderr]       Adding tokio-rustls v0.24.1 (latest: v0.26.0)
[INFO] [stderr]       Adding tokio-tungstenite v0.20.1 (latest: v0.21.0)
[INFO] [stderr]       Adding toml_edit v0.21.1 (latest: v0.22.12)
[INFO] [stderr]       Adding tungstenite v0.20.1 (latest: v0.21.0)
[INFO] [stderr]       Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.0+wasi-0.2.0)
[INFO] [stderr]       Adding webpki-roots v0.25.4 (latest: v0.26.1)
[INFO] [stderr]       Adding windows-core v0.52.0 (latest: v0.56.0)
[INFO] [stderr]       Adding windows-sys v0.48.0 (latest: v0.52.0)
[INFO] [stderr]       Adding windows-targets v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_gnullvm v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_gnu v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnu v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnullvm v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding winnow v0.5.40 (latest: v0.6.7)
[INFO] [stderr]       Adding wyz v0.5.1 (latest: v0.6.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] af85a2ed739147b7cb24a78d8ca5452d935923040a221a5de996ef3d46b63be1
[INFO] running `Command { std: "docker" "start" "-a" "af85a2ed739147b7cb24a78d8ca5452d935923040a221a5de996ef3d46b63be1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "af85a2ed739147b7cb24a78d8ca5452d935923040a221a5de996ef3d46b63be1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af85a2ed739147b7cb24a78d8ca5452d935923040a221a5de996ef3d46b63be1", kill_on_drop: false }`
[INFO] [stdout] af85a2ed739147b7cb24a78d8ca5452d935923040a221a5de996ef3d46b63be1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 29832662651a4cae9306f35d75600794b8e7b567634f409a767e07ce011a8efc
[INFO] running `Command { std: "docker" "start" "-a" "29832662651a4cae9306f35d75600794b8e7b567634f409a767e07ce011a8efc", kill_on_drop: false }`
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rust_decimal v1.35.0
[INFO] [stderr]    Compiling anyhow v1.0.82
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking tower-layer v0.3.2
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking data-encoding v2.6.0
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]    Compiling time-macros v0.2.18
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking tower-make v0.3.0
[INFO] [stderr]     Checking either v1.11.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling darling_core v0.20.8
[INFO] [stderr]    Compiling serde_derive v1.0.200
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling thiserror-impl v1.0.59
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]     Checking async-stream v0.3.5
[INFO] [stderr]     Checking tokio v1.37.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling darling_macro v0.20.8
[INFO] [stderr]     Checking pin-project v1.1.5
[INFO] [stderr]     Checking thiserror v1.0.59
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]    Compiling darling v0.20.8
[INFO] [stderr]    Compiling serde_with_macros v2.3.3
[INFO] [stderr]     Checking serde v1.0.200
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-stream v0.1.15
[INFO] [stderr]     Checking tokio-tungstenite v0.20.1
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking serde_with v2.3.3
[INFO] [stderr]     Checking smol_str v0.1.24
[INFO] [stderr]     Checking exc-service v0.7.3
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking positions v0.2.1
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking indicator v0.4.4
[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.3
[INFO] [stderr]     Checking exc v0.7.0-alpha.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     L2::Service: ExcService<SubscribeInstruments> + Send + 'static,
[INFO] [stdout] 249 | |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     | |_________________________________________________________________^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     L2::Service: ExcService<SubscribeInstruments> + Send + 'static,
[INFO] [stdout] 249 | |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     | |_________________________________________________________________^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     L2::Service: ExcService<SubscribeInstruments> + Send + 'static,
[INFO] [stdout] 249 | |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     | |_________________________________________________________________^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L1 as tower::Layer<S>>::Service: Service<FetchInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |     L2::Service: ExcService<SubscribeInstruments> + Send + 'static,
[INFO] [stdout] 249 | |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     | |_________________________________________________________________^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L1 as tower::Layer<S>>::Service: Service<FetchInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 274 | |     }
[INFO] [stdout] 275 | | }
[INFO] [stdout]     | |_^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L1 as tower::Layer<S>>::Service: Service<FetchInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 274 | |     }
[INFO] [stdout] 275 | | }
[INFO] [stdout]     | |_^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L1 as tower::Layer<S>>::Service: Service<FetchInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 274 | |     }
[INFO] [stdout] 275 | | }
[INFO] [stdout]     | |_^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | / impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout] 242 | | where
[INFO] [stdout] 243 | |     S: ExcService<Req> + Send + 'static + Clone,
[INFO] [stdout] 244 | |     S::Future: Send + 'static,
[INFO] [stdout] ...   |
[INFO] [stdout] 274 | |     }
[INFO] [stdout] 275 | | }
[INFO] [stdout]     | |_^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 |     type Service = Instruments;
[INFO] [stdout]     |     ^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 |     type Service = Instruments;
[INFO] [stdout]     |     ^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 |     type Service = Instruments;
[INFO] [stdout]     |     ^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L1 as tower::Layer<S>>::Service: Service<FetchInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 251 |     type Service = Instruments;
[INFO] [stdout]     |     ^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send, <L1 as tower::Layer<S>>::Service: Service<FetchInstruments>
[INFO] [stdout]     |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     <L1::Service as Service<FetchInstruments>>::Future: Send,
[INFO] [stdout]     |                                                         ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     <L1::Service as Service<FetchInstruments>>::Future: Send,
[INFO] [stdout]     |                                                         ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     |                                                             ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     |                                                             ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:32
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     <L1::Service as Service<FetchInstruments>>::Future: Send,
[INFO] [stdout]     |                                                         ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:32
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     <L1::Service as Service<FetchInstruments>>::Future: Send,
[INFO] [stdout]     |                                                         ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:32
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     |                                                             ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:32
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     |                                                             ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryLastCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:144:14
[INFO] [stdout]     |
[INFO] [stdout] 144 |         svc: Buffer<S, QueryLastCandles>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryLastCandles>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 142 |         S: ExcService<QueryLastCandles> + 'static + tower::Service<exc_core::exc_types::QueryLastCandles>,
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryLastCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:144:14
[INFO] [stdout]     |
[INFO] [stdout] 144 |         svc: Buffer<S, QueryLastCandles>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryLastCandles>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 142 |         S: ExcService<QueryLastCandles> + 'static + tower::Service<exc_core::exc_types::QueryLastCandles>,
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryFirstCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:239:14
[INFO] [stdout]     |
[INFO] [stdout] 239 |         svc: Buffer<S, QueryFirstCandles>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryFirstCandles>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 237 |         S: ExcService<QueryFirstCandles> + 'static + tower::Service<exc_core::exc_types::QueryFirstCandles>,
[INFO] [stdout]     |                                                    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryFirstCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:239:14
[INFO] [stdout]     |
[INFO] [stdout] 239 |         svc: Buffer<S, QueryFirstCandles>,
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryFirstCandles>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 237 |         S: ExcService<QueryFirstCandles> + 'static + tower::Service<exc_core::exc_types::QueryFirstCandles>,
[INFO] [stdout]     |                                                    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] 44 | |     <S as Service<CancelOrder>>::Future: Send,
[INFO] [stdout]    | |______________________________________________^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] 44 | |     <S as Service<CancelOrder>>::Future: Send,
[INFO] [stdout]    | |______________________________________________^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] 44 | |     <S as Service<CancelOrder>>::Future: Send,
[INFO] [stdout]    | |______________________________________________^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] 44 | |     <S as Service<CancelOrder>>::Future: Send,
[INFO] [stdout]    | |______________________________________________^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |     }
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |     }
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |     }
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:40:1
[INFO] [stdout]    |
[INFO] [stdout] 40 | / impl<S> TradingService for S
[INFO] [stdout] 41 | | where
[INFO] [stdout] 42 | |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout] 43 | |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout] ...  |
[INFO] [stdout] 75 | |     }
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     fn place_with_opts(
[INFO] [stdout] 48 | |         &mut self,
[INFO] [stdout] 49 | |         place: &Place,
[INFO] [stdout] 50 | |         opts: &PlaceOrderOptions,
[INFO] [stdout] 51 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     fn place_with_opts(
[INFO] [stdout] 48 | |         &mut self,
[INFO] [stdout] 49 | |         place: &Place,
[INFO] [stdout] 50 | |         opts: &PlaceOrderOptions,
[INFO] [stdout] 51 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     fn place_with_opts(
[INFO] [stdout] 48 | |         &mut self,
[INFO] [stdout] 49 | |         place: &Place,
[INFO] [stdout] 50 | |         opts: &PlaceOrderOptions,
[INFO] [stdout] 51 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | /     fn place_with_opts(
[INFO] [stdout] 48 | |         &mut self,
[INFO] [stdout] 49 | |         place: &Place,
[INFO] [stdout] 50 | |         opts: &PlaceOrderOptions,
[INFO] [stdout] 51 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | /     fn place(
[INFO] [stdout] 59 | |         &mut self,
[INFO] [stdout] 60 | |         inst: &str,
[INFO] [stdout] 61 | |         place: &Place,
[INFO] [stdout] 62 | |         client_id: Option<&str>,
[INFO] [stdout] 63 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | /     fn place(
[INFO] [stdout] 59 | |         &mut self,
[INFO] [stdout] 60 | |         inst: &str,
[INFO] [stdout] 61 | |         place: &Place,
[INFO] [stdout] 62 | |         client_id: Option<&str>,
[INFO] [stdout] 63 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | /     fn place(
[INFO] [stdout] 59 | |         &mut self,
[INFO] [stdout] 60 | |         inst: &str,
[INFO] [stdout] 61 | |         place: &Place,
[INFO] [stdout] 62 | |         client_id: Option<&str>,
[INFO] [stdout] 63 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | /     fn place(
[INFO] [stdout] 59 | |         &mut self,
[INFO] [stdout] 60 | |         inst: &str,
[INFO] [stdout] 61 | |         place: &Place,
[INFO] [stdout] 62 | |         client_id: Option<&str>,
[INFO] [stdout] 63 | |     ) -> BoxFuture<'_, crate::Result<Placed>> {
[INFO] [stdout]    | |_____________________________________________^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn place_with_opts(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn place_with_opts(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn place_with_opts(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn place_with_opts(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn place(
[INFO] [stdout]    |        ^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn place(
[INFO] [stdout]    |        ^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn place(
[INFO] [stdout]    |        ^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn place(
[INFO] [stdout]    |        ^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |        ^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |        ^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |        ^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn cancel(&mut self, inst: &str, id: &OrderId) -> BoxFuture<'_, crate::Result<Canceled>> {
[INFO] [stdout]    |        ^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`
[INFO] [stdout]    |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/instrument/service/mod.rs:161:20
[INFO] [stdout]     |
[INFO] [stdout] 161 |         self.inner.poll_ready(cx)
[INFO] [stdout]     |                    ^^^^^^^^^^ multiple `poll_ready` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `Service` for the type `BoxCloneService<T, U, E>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `ExcService` for the type `S`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 161 |         Service::poll_ready(&mut self.inner, cx)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 161 |         ExcService::poll_ready(&mut self.inner, cx)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/instrument/service/mod.rs:161:20
[INFO] [stdout]     |
[INFO] [stdout] 161 |         self.inner.poll_ready(cx)
[INFO] [stdout]     |                    ^^^^^^^^^^ multiple `poll_ready` found
[INFO] [stdout]     |
[INFO] [stdout]     = note: candidate #1 is defined in an impl of the trait `Service` for the type `BoxCloneService<T, U, E>`
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `ExcService` for the type `S`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 161 |         Service::poll_ready(&mut self.inner, cx)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 161 |         ExcService::poll_ready(&mut self.inner, cx)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/instrument/service/mod.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |         self.inner.call(req)
[INFO] [stdout]     |                    ^^^^ multiple `call` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in the trait `Fn`
[INFO] [stdout]    --> /rustc/9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88/library/core/src/ops/function.rs:79:5
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Service` for the type `BoxCloneService<T, U, E>`
[INFO] [stdout]     = note: candidate #3 is defined in an impl of the trait `ExcService` for the type `S`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Fn::call(&self.inner, req)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Service::call(&mut self.inner, req)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #3
[INFO] [stdout]     |
[INFO] [stdout] 166 |         ExcService::call(&mut self.inner, req)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0034]: multiple applicable items in scope
[INFO] [stdout]    --> src/instrument/service/mod.rs:166:20
[INFO] [stdout]     |
[INFO] [stdout] 166 |         self.inner.call(req)
[INFO] [stdout]     |                    ^^^^ multiple `call` found
[INFO] [stdout]     |
[INFO] [stdout] note: candidate #1 is defined in the trait `Fn`
[INFO] [stdout]    --> /rustc/9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88/library/core/src/ops/function.rs:79:5
[INFO] [stdout]     = note: candidate #2 is defined in an impl of the trait `Service` for the type `BoxCloneService<T, U, E>`
[INFO] [stdout]     = note: candidate #3 is defined in an impl of the trait `ExcService` for the type `S`
[INFO] [stdout] help: disambiguate the method for candidate #1
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Fn::call(&self.inner, req)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #2
[INFO] [stdout]     |
[INFO] [stdout] 166 |         Service::call(&mut self.inner, req)
[INFO] [stdout]     |
[INFO] [stdout] help: disambiguate the method for candidate #3
[INFO] [stdout]     |
[INFO] [stdout] 166 |         ExcService::call(&mut self.inner, req)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:46
[INFO] [stdout]     |
[INFO] [stdout] 253 |       fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 254 | |         let fetch = ServiceBuilder::default()
[INFO] [stdout] 255 | |             .rate_limit(self.opts.fetch_rate_limit.0, self.opts.fetch_rate_limit.1)
[INFO] [stdout] 256 | |             .layer(&self.fetch_instruments)
[INFO] [stdout] ...   |
[INFO] [stdout] 273 | |         Instruments { inner }
[INFO] [stdout] 274 | |     }
[INFO] [stdout]     | |_____^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     <L1::Service as Service<FetchInstruments>>::Future: Send,
[INFO] [stdout]     |                                                         ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:46
[INFO] [stdout]     |
[INFO] [stdout] 253 |       fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 254 | |         let fetch = ServiceBuilder::default()
[INFO] [stdout] 255 | |             .rate_limit(self.opts.fetch_rate_limit.0, self.opts.fetch_rate_limit.1)
[INFO] [stdout] 256 | |             .layer(&self.fetch_instruments)
[INFO] [stdout] ...   |
[INFO] [stdout] 273 | |         Instruments { inner }
[INFO] [stdout] 274 | |     }
[INFO] [stdout]     | |_____^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     <L1::Service as Service<FetchInstruments>>::Future: Send,
[INFO] [stdout]     |                                                         ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:46
[INFO] [stdout]     |
[INFO] [stdout] 253 |       fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 254 | |         let fetch = ServiceBuilder::default()
[INFO] [stdout] 255 | |             .rate_limit(self.opts.fetch_rate_limit.0, self.opts.fetch_rate_limit.1)
[INFO] [stdout] 256 | |             .layer(&self.fetch_instruments)
[INFO] [stdout] ...   |
[INFO] [stdout] 273 | |         Instruments { inner }
[INFO] [stdout] 274 | |     }
[INFO] [stdout]     | |_____^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     |                                                             ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:253:46
[INFO] [stdout]     |
[INFO] [stdout] 253 |       fn layer(&self, svc: S) -> Self::Service {
[INFO] [stdout]     |  ______________________________________________^
[INFO] [stdout] 254 | |         let fetch = ServiceBuilder::default()
[INFO] [stdout] 255 | |             .rate_limit(self.opts.fetch_rate_limit.0, self.opts.fetch_rate_limit.1)
[INFO] [stdout] 256 | |             .layer(&self.fetch_instruments)
[INFO] [stdout] ...   |
[INFO] [stdout] 273 | |         Instruments { inner }
[INFO] [stdout] 274 | |     }
[INFO] [stdout]     | |_____^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`, which is required by `InstrumentsLayer<Req, L1, L2>: tower::Layer<S>`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `InstrumentsLayer<Req, L1, L2>` to implement `tower::Layer<S>`
[INFO] [stdout]    --> src/instrument/service/mod.rs:241:42
[INFO] [stdout]     |
[INFO] [stdout] 241 | impl<S, Req, L1: Layer<S>, L2: Layer<S>> Layer<S> for InstrumentsLayer<Req, L1, L2>
[INFO] [stdout]     |                                          ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     <L2::Service as Service<SubscribeInstruments>>::Future: Send,
[INFO] [stdout]     |                                                             ---- unsatisfied trait bound introduced here
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `RateLimit<<L1 as Layer<S>>::Service>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:258:14
[INFO] [stdout]     |
[INFO] [stdout] 254 |           let fetch = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 255 | |             .rate_limit(self.opts.fetch_rate_limit.0, self.opts.fetch_rate_limit.1)
[INFO] [stdout] 256 | |             .layer(&self.fetch_instruments)
[INFO] [stdout] 257 | |             .service(svc.clone())
[INFO] [stdout] 258 | |             .boxed();
[INFO] [stdout]     | |             -^^^^^ method cannot be called on `RateLimit<<L1 as Layer<S>>::Service>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/limit/rate/service.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout] 14  |   pub struct RateLimit<T> {
[INFO] [stdout]     |   ----------------------- doesn't satisfy `_: FutureExt`, `_: Future`, `_: Service<_>` or `_: ServiceExt<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `RateLimit<<L1 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `RateLimit<<L1 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `RateLimit<<L1 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `RateLimit<<L1 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&RateLimit<<L1 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&RateLimit<<L1 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&RateLimit<<L1 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&RateLimit<<L1 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `RateLimit<<L1 as Layer<S>>::Service>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:258:14
[INFO] [stdout]     |
[INFO] [stdout] 254 |           let fetch = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 255 | |             .rate_limit(self.opts.fetch_rate_limit.0, self.opts.fetch_rate_limit.1)
[INFO] [stdout] 256 | |             .layer(&self.fetch_instruments)
[INFO] [stdout] 257 | |             .service(svc.clone())
[INFO] [stdout] 258 | |             .boxed();
[INFO] [stdout]     | |             -^^^^^ method cannot be called on `RateLimit<<L1 as Layer<S>>::Service>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/limit/rate/service.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout] 14  |   pub struct RateLimit<T> {
[INFO] [stdout]     |   ----------------------- doesn't satisfy `_: FutureExt`, `_: Future`, `_: Service<_>` or `_: ServiceExt<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `RateLimit<<L1 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `RateLimit<<L1 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `RateLimit<<L1 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `RateLimit<<L1 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&RateLimit<<L1 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&RateLimit<<L1 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&RateLimit<<L1 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&RateLimit<<L1 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&mut RateLimit<<L1 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `RateLimit<<L2 as Layer<S>>::Service>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:266:14
[INFO] [stdout]     |
[INFO] [stdout] 259 |           let subscribe = ServiceBuilder::default()
[INFO] [stdout]     |  _________________________-
[INFO] [stdout] 260 | |             .rate_limit(
[INFO] [stdout] 261 | |                 self.opts.subscribe_rate_limit.0,
[INFO] [stdout] 262 | |                 self.opts.subscribe_rate_limit.1,
[INFO] [stdout] ...   |
[INFO] [stdout] 265 | |             .service(svc)
[INFO] [stdout] 266 | |             .boxed();
[INFO] [stdout]     | |             -^^^^^ method cannot be called on `RateLimit<<L2 as Layer<S>>::Service>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/limit/rate/service.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout] 14  |   pub struct RateLimit<T> {
[INFO] [stdout]     |   ----------------------- doesn't satisfy `_: FutureExt`, `_: Future`, `_: Service<_>` or `_: ServiceExt<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `RateLimit<<L2 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `RateLimit<<L2 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `RateLimit<<L2 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `RateLimit<<L2 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&RateLimit<<L2 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&RateLimit<<L2 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&RateLimit<<L2 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&RateLimit<<L2 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `RateLimit<<L2 as Layer<S>>::Service>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:266:14
[INFO] [stdout]     |
[INFO] [stdout] 259 |           let subscribe = ServiceBuilder::default()
[INFO] [stdout]     |  _________________________-
[INFO] [stdout] 260 | |             .rate_limit(
[INFO] [stdout] 261 | |                 self.opts.subscribe_rate_limit.0,
[INFO] [stdout] 262 | |                 self.opts.subscribe_rate_limit.1,
[INFO] [stdout] ...   |
[INFO] [stdout] 265 | |             .service(svc)
[INFO] [stdout] 266 | |             .boxed();
[INFO] [stdout]     | |             -^^^^^ method cannot be called on `RateLimit<<L2 as Layer<S>>::Service>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/limit/rate/service.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout] 14  |   pub struct RateLimit<T> {
[INFO] [stdout]     |   ----------------------- doesn't satisfy `_: FutureExt`, `_: Future`, `_: Service<_>` or `_: ServiceExt<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `RateLimit<<L2 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `RateLimit<<L2 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `RateLimit<<L2 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `RateLimit<<L2 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&RateLimit<<L2 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&RateLimit<<L2 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&RateLimit<<L2 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&RateLimit<<L2 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout]             `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: futures::Future`
[INFO] [stdout]             which is required by `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: FutureExt`
[INFO] [stdout]             `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: Service<_>`
[INFO] [stdout]             which is required by `&mut RateLimit<<L2 as tower::Layer<S>>::Service>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     | |______________________________________________________________^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     | |______________________________________________________________^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     | |______________________________________________________________^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     | |______________________________________________________________^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout] 272 | |             .boxed_clone();
[INFO] [stdout]     | |__________________________^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout] 272 | |             .boxed_clone();
[INFO] [stdout]     | |__________________________^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout] 272 | |             .boxed_clone();
[INFO] [stdout]     | |__________________________^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:268:21
[INFO] [stdout]     |
[INFO] [stdout] 268 |           let inner = ServiceBuilder::default()
[INFO] [stdout]     |  _____________________^
[INFO] [stdout] 269 | |             .buffer(self.opts.buffer_bound)
[INFO] [stdout] 270 | |             .service(svc)
[INFO] [stdout] 271 | |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout] 272 | |             .boxed_clone();
[INFO] [stdout]     | |__________________________^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTickers>` is not satisfied
[INFO] [stdout]   --> src/util/subscribe_tickers.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |         ServiceExt::<SubscribeTickers>::oneshot(self, SubscribeTickers::new(inst)).boxed()
[INFO] [stdout]    |         ---------------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTickers>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeTickers>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeTickers>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 17 |     S: ExcService<SubscribeTickers> + Send + tower::Service<exc_core::exc_types::SubscribeTickers>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTickers>` is not satisfied
[INFO] [stdout]   --> src/util/subscribe_tickers.rs:22:55
[INFO] [stdout]    |
[INFO] [stdout] 22 |         ServiceExt::<SubscribeTickers>::oneshot(self, SubscribeTickers::new(inst)).boxed()
[INFO] [stdout]    |         ---------------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTickers>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeTickers>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeTickers>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 17 |     S: ExcService<SubscribeTickers> + Send + tower::Service<exc_core::exc_types::SubscribeTickers>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeTickers>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/subscribe_tickers.rs:22:84
[INFO] [stdout]    |
[INFO] [stdout] 22 |           ServiceExt::<SubscribeTickers>::oneshot(self, SubscribeTickers::new(inst)).boxed()
[INFO] [stdout]    |                                                                                      ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeTickers>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeTickers>: FutureExt`, `Oneshot<&mut S, SubscribeTickers>: Service<_>`, `Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTickers>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTickers>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTickers>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTickers>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTickers>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTickers>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTickers>` is not satisfied
[INFO] [stdout]   --> src/util/subscribe_tickers.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         ServiceExt::<SubscribeTickers>::oneshot(self, SubscribeTickers::new(inst)).boxed()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTickers>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeTickers>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 17 |     S: ExcService<SubscribeTickers> + Send + tower::Service<exc_core::exc_types::SubscribeTickers>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeTickers>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/subscribe_tickers.rs:22:84
[INFO] [stdout]    |
[INFO] [stdout] 22 |           ServiceExt::<SubscribeTickers>::oneshot(self, SubscribeTickers::new(inst)).boxed()
[INFO] [stdout]    |                                                                                      ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeTickers>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeTickers>: FutureExt`, `Oneshot<&mut S, SubscribeTickers>: Service<_>`, `Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTickers>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTickers>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTickers>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTickers>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTickers>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTickers>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTickers>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTickers>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]   --> src/util/trade.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |         ServiceExt::oneshot(self, SubscribeTrades::new(inst)).boxed()
[INFO] [stdout]    |         -------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`, which is required by `&mut S: Service<_>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]    = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<_>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTickers>` is not satisfied
[INFO] [stdout]   --> src/util/subscribe_tickers.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         ServiceExt::<SubscribeTickers>::oneshot(self, SubscribeTickers::new(inst)).boxed()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTickers>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeTickers>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeTickers>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 17 |     S: ExcService<SubscribeTickers> + Send + tower::Service<exc_core::exc_types::SubscribeTickers>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]   --> src/util/trade.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |         ServiceExt::oneshot(self, SubscribeTrades::new(inst)).boxed()
[INFO] [stdout]    |         -------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`, which is required by `&mut S: Service<_>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]    = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<_>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeTrades>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trade.rs:19:63
[INFO] [stdout]    |
[INFO] [stdout] 19 |           ServiceExt::oneshot(self, SubscribeTrades::new(inst)).boxed()
[INFO] [stdout]    |                                                                 ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeTrades>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeTrades>: FutureExt`, `Oneshot<&mut S, SubscribeTrades>: Service<_>`, `Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTrades>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTrades>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTrades>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTrades>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTrades>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTrades>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         ServiceExt::oneshot(self, SubscribeTrades::new(inst)).boxed()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeTrades>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeTrades>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 15 |     S: ExcService<SubscribeTrades> + Send + tower::Service<exc_core::exc_types::SubscribeTrades>,
[INFO] [stdout]    |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeTrades>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trade.rs:19:63
[INFO] [stdout]    |
[INFO] [stdout] 19 |           ServiceExt::oneshot(self, SubscribeTrades::new(inst)).boxed()
[INFO] [stdout]    |                                                                 ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeTrades>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeTrades>: FutureExt`, `Oneshot<&mut S, SubscribeTrades>: Service<_>`, `Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTrades>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeTrades>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTrades>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeTrades>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTrades>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTrades>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeTrades>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeTrades>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]   --> src/util/book.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 |         ServiceExt::oneshot(self, SubscribeBidAsk::new(inst)).boxed()
[INFO] [stdout]    |         -------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`, which is required by `&mut S: Service<_>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]    = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<_>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeTrades>` is not satisfied
[INFO] [stdout]   --> src/util/trade.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         ServiceExt::oneshot(self, SubscribeTrades::new(inst)).boxed()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeTrades>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeTrades>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeTrades>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 15 |     S: ExcService<SubscribeTrades> + Send + tower::Service<exc_core::exc_types::SubscribeTrades>,
[INFO] [stdout]    |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]   --> src/util/book.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 |         ServiceExt::oneshot(self, SubscribeBidAsk::new(inst)).boxed()
[INFO] [stdout]    |         -------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`, which is required by `&mut S: Service<_>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]    = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<_>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeBidAsk>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/book.rs:23:63
[INFO] [stdout]    |
[INFO] [stdout] 23 |           ServiceExt::oneshot(self, SubscribeBidAsk::new(inst)).boxed()
[INFO] [stdout]    |                                                                 ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeBidAsk>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeBidAsk>: FutureExt`, `Oneshot<&mut S, SubscribeBidAsk>: Service<_>`, `Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeBidAsk>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeBidAsk>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeBidAsk>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeBidAsk>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeBidAsk>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeBidAsk>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/book.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         ServiceExt::oneshot(self, SubscribeBidAsk::new(inst)).boxed()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeBidAsk>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeBidAsk>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 18 |     S: ExcService<SubscribeBidAsk> + Send + tower::Service<exc_core::exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeBidAsk>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/book.rs:23:63
[INFO] [stdout]    |
[INFO] [stdout] 23 |           ServiceExt::oneshot(self, SubscribeBidAsk::new(inst)).boxed()
[INFO] [stdout]    |                                                                 ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeBidAsk>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeBidAsk>: FutureExt`, `Oneshot<&mut S, SubscribeBidAsk>: Service<_>`, `Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeBidAsk>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeBidAsk>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeBidAsk>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeBidAsk>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeBidAsk>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeBidAsk>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeBidAsk>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeBidAsk>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         ServiceExt::<SubscribeInstruments>::oneshot(
[INFO] [stdout]    |         ------------------------------------------- required by a bound introduced by this call
[INFO] [stdout] 31 |             self,
[INFO] [stdout] 32 |             SubscribeInstruments { tag: Str::new(tag) },
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeInstruments>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeInstruments>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 22 |     S: ExcService<SubscribeInstruments> + Send + tower::Service<exc_core::exc_types::SubscribeInstruments>,
[INFO] [stdout]    |                                                +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeBidAsk>` is not satisfied
[INFO] [stdout]   --> src/util/book.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         ServiceExt::oneshot(self, SubscribeBidAsk::new(inst)).boxed()
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeBidAsk>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeBidAsk>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeBidAsk>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 18 |     S: ExcService<SubscribeBidAsk> + Send + tower::Service<exc_core::exc_types::SubscribeBidAsk>,
[INFO] [stdout]    |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         ServiceExt::<SubscribeInstruments>::oneshot(
[INFO] [stdout]    |         ------------------------------------------- required by a bound introduced by this call
[INFO] [stdout] 31 |             self,
[INFO] [stdout] 32 |             SubscribeInstruments { tag: Str::new(tag) },
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeInstruments>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeInstruments>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 22 |     S: ExcService<SubscribeInstruments> + Send + tower::Service<exc_core::exc_types::SubscribeInstruments>,
[INFO] [stdout]    |                                                +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeInstruments>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         ServiceExt::<SubscribeInstruments>::oneshot(
[INFO] [stdout] 31 | |             self,
[INFO] [stdout] 32 | |             SubscribeInstruments { tag: Str::new(tag) },
[INFO] [stdout] 33 | |         )
[INFO] [stdout] 34 | |         .boxed()
[INFO] [stdout]    | |         -^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeInstruments>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeInstruments>: FutureExt`, `Oneshot<&mut S, SubscribeInstruments>: Service<_>`, `_: Future` or `_: ServiceExt<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeInstruments>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeInstruments>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeInstruments>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeInstruments>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeInstruments>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeInstruments>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         ServiceExt::<SubscribeInstruments>::oneshot(
[INFO] [stdout] 31 | |             self,
[INFO] [stdout] 32 | |             SubscribeInstruments { tag: Str::new(tag) },
[INFO] [stdout] 33 | |         )
[INFO] [stdout]    | |_________^ the trait `Service<SubscribeInstruments>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeInstruments>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeInstruments>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 22 |     S: ExcService<SubscribeInstruments> + Send + tower::Service<exc_core::exc_types::SubscribeInstruments>,
[INFO] [stdout]    |                                                +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:51:55
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ServiceExt::<FetchInstruments>::oneshot(self, FetchInstruments { tag: Str::new(tag) })
[INFO] [stdout]    |         ---------------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `S`, which is required by `&mut S: Service<FetchInstruments>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<FetchInstruments>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 46 |     S: ExcService<FetchInstruments> + Send + tower::Service<exc_core::exc_types::FetchInstruments>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeInstruments>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         ServiceExt::<SubscribeInstruments>::oneshot(
[INFO] [stdout] 31 | |             self,
[INFO] [stdout] 32 | |             SubscribeInstruments { tag: Str::new(tag) },
[INFO] [stdout] 33 | |         )
[INFO] [stdout] 34 | |         .boxed()
[INFO] [stdout]    | |         -^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeInstruments>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, SubscribeInstruments>: FutureExt`, `Oneshot<&mut S, SubscribeInstruments>: Service<_>`, `_: Future` or `_: ServiceExt<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, SubscribeInstruments>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeInstruments>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, SubscribeInstruments>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, SubscribeInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeInstruments>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, SubscribeInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, SubscribeInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeInstruments>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, SubscribeInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, SubscribeInstruments>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | /         ServiceExt::<SubscribeInstruments>::oneshot(
[INFO] [stdout] 31 | |             self,
[INFO] [stdout] 32 | |             SubscribeInstruments { tag: Str::new(tag) },
[INFO] [stdout] 33 | |         )
[INFO] [stdout]    | |_________^ the trait `Service<SubscribeInstruments>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeInstruments>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<SubscribeInstruments>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 22 |     S: ExcService<SubscribeInstruments> + Send + tower::Service<exc_core::exc_types::SubscribeInstruments>,
[INFO] [stdout]    |                                                +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:51:55
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ServiceExt::<FetchInstruments>::oneshot(self, FetchInstruments { tag: Str::new(tag) })
[INFO] [stdout]    |         ---------------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `S`, which is required by `&mut S: Service<FetchInstruments>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<FetchInstruments>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 46 |     S: ExcService<FetchInstruments> + Send + tower::Service<exc_core::exc_types::FetchInstruments>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, FetchInstruments>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 51 | /         ServiceExt::<FetchInstruments>::oneshot(self, FetchInstruments { tag: Str::new(tag) })
[INFO] [stdout] 52 | |             .boxed()
[INFO] [stdout]    | |             -^^^^^ method cannot be called on `Oneshot<&mut S, FetchInstruments>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, FetchInstruments>: FutureExt`, `Oneshot<&mut S, FetchInstruments>: Service<_>`, `Oneshot<&mut S, FetchInstruments>: ServiceExt<_>` or `Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, FetchInstruments>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, FetchInstruments>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, FetchInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, FetchInstruments>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, FetchInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, FetchInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, FetchInstruments>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, FetchInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, FetchInstruments>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ServiceExt::<FetchInstruments>::oneshot(self, FetchInstruments { tag: Str::new(tag) })
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `S`, which is required by `&mut S: Service<FetchInstruments>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<FetchInstruments>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 46 |     S: ExcService<FetchInstruments> + Send + tower::Service<exc_core::exc_types::FetchInstruments>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryCandles>` is not satisfied
[INFO] [stdout]   --> src/util/fetch_candles.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |         ServiceExt::<QueryCandles>::oneshot(self, QueryCandles::new(inst, period, (start, end)))
[INFO] [stdout]    |         -----------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryCandles>` is not implemented for `S`, which is required by `&mut S: Service<QueryCandles>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<QueryCandles>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 26 |     S: ExcService<QueryCandles> + Send + tower::Service<exc_core::exc_types::QueryCandles>,
[INFO] [stdout]    |                                        +++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, FetchInstruments>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 51 | /         ServiceExt::<FetchInstruments>::oneshot(self, FetchInstruments { tag: Str::new(tag) })
[INFO] [stdout] 52 | |             .boxed()
[INFO] [stdout]    | |             -^^^^^ method cannot be called on `Oneshot<&mut S, FetchInstruments>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, FetchInstruments>: FutureExt`, `Oneshot<&mut S, FetchInstruments>: Service<_>`, `Oneshot<&mut S, FetchInstruments>: ServiceExt<_>` or `Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, FetchInstruments>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, FetchInstruments>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, FetchInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, FetchInstruments>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, FetchInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, FetchInstruments>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, FetchInstruments>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, FetchInstruments>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, FetchInstruments>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, FetchInstruments>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]   --> src/util/instrument.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ServiceExt::<FetchInstruments>::oneshot(self, FetchInstruments { tag: Str::new(tag) })
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<FetchInstruments>` is not implemented for `S`, which is required by `&mut S: Service<FetchInstruments>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<FetchInstruments>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 46 |     S: ExcService<FetchInstruments> + Send + tower::Service<exc_core::exc_types::FetchInstruments>,
[INFO] [stdout]    |                                            +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryCandles>` is not satisfied
[INFO] [stdout]   --> src/util/fetch_candles.rs:36:51
[INFO] [stdout]    |
[INFO] [stdout] 36 |         ServiceExt::<QueryCandles>::oneshot(self, QueryCandles::new(inst, period, (start, end)))
[INFO] [stdout]    |         -----------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryCandles>` is not implemented for `S`, which is required by `&mut S: Service<QueryCandles>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<QueryCandles>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 26 |     S: ExcService<QueryCandles> + Send + tower::Service<exc_core::exc_types::QueryCandles>,
[INFO] [stdout]    |                                        +++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, QueryCandles>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/fetch_candles.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 36 | /         ServiceExt::<QueryCandles>::oneshot(self, QueryCandles::new(inst, period, (start, end)))
[INFO] [stdout] 37 | |             .boxed()
[INFO] [stdout]    | |             -^^^^^ method cannot be called on `Oneshot<&mut S, QueryCandles>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, QueryCandles>: FutureExt`, `Oneshot<&mut S, QueryCandles>: Service<_>`, `Oneshot<&mut S, QueryCandles>: ServiceExt<_>` or `Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, QueryCandles>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, QueryCandles>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, QueryCandles>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, QueryCandles>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, QueryCandles>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, QueryCandles>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, QueryCandles>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, QueryCandles>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, QueryCandles>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryCandles>` is not satisfied
[INFO] [stdout]   --> src/util/fetch_candles.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         ServiceExt::<QueryCandles>::oneshot(self, QueryCandles::new(inst, period, (start, end)))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryCandles>` is not implemented for `S`, which is required by `&mut S: Service<QueryCandles>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<QueryCandles>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 26 |     S: ExcService<QueryCandles> + Send + tower::Service<exc_core::exc_types::QueryCandles>,
[INFO] [stdout]    |                                        +++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, QueryCandles>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/fetch_candles.rs:37:14
[INFO] [stdout]    |
[INFO] [stdout] 36 | /         ServiceExt::<QueryCandles>::oneshot(self, QueryCandles::new(inst, period, (start, end)))
[INFO] [stdout] 37 | |             .boxed()
[INFO] [stdout]    | |             -^^^^^ method cannot be called on `Oneshot<&mut S, QueryCandles>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, QueryCandles>: FutureExt`, `Oneshot<&mut S, QueryCandles>: Service<_>`, `Oneshot<&mut S, QueryCandles>: ServiceExt<_>` or `Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]            which is required by `Oneshot<&mut S, QueryCandles>: FutureExt`
[INFO] [stdout]            `Oneshot<&mut S, QueryCandles>: Service<_>`
[INFO] [stdout]            which is required by `Oneshot<&mut S, QueryCandles>: ServiceExt<_>`
[INFO] [stdout]            `&Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, QueryCandles>: FutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, QueryCandles>: Service<_>`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, QueryCandles>: ServiceExt<_>`
[INFO] [stdout]            `&mut Oneshot<&mut S, QueryCandles>: futures::Future`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, QueryCandles>: FutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, QueryCandles>: Service<_>`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, QueryCandles>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryCandles>` is not satisfied
[INFO] [stdout]   --> src/util/fetch_candles.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |         ServiceExt::<QueryCandles>::oneshot(self, QueryCandles::new(inst, period, (start, end)))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryCandles>` is not implemented for `S`, which is required by `&mut S: Service<QueryCandles>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<QueryCandles>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 26 |     S: ExcService<QueryCandles> + Send + tower::Service<exc_core::exc_types::QueryCandles>,
[INFO] [stdout]    |                                        +++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:133:34
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ----------- ^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer::<T, Request>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer::<T, Request>::new`
[INFO] [stdout] ...
[INFO] [stdout] 68  |     pub fn new(service: T, bound: usize) -> Self
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:133:34
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ----------- ^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer::<T, Request>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer::<T, Request>::new`
[INFO] [stdout] ...
[INFO] [stdout] 68  |     pub fn new(service: T, bound: usize) -> Self
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryLastCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Service::poll_ready(&mut self.svc, cx).map_err(ExchangeError::from)
[INFO] [stdout]     |             ------------------- ^^^^^^^^^^^^^ the trait `Service<QueryLastCandles>` is not implemented for `S`, which is required by `tower::buffer::Buffer<S, QueryLastCandles>: Service<_>`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `tower::buffer::Buffer<S, QueryLastCandles>` to implement `Service<QueryLastCandles>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 150 |         S: ExcService<QueryLastCandles> + 'static + tower::Service<exc_core::exc_types::QueryLastCandles>,
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:133:22
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryLastCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Service::poll_ready(&mut self.svc, cx).map_err(ExchangeError::from)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryLastCandles>` is not implemented for `S`, which is required by `tower::buffer::Buffer<S, QueryLastCandles>: Service<QueryLastCandles>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `tower::buffer::Buffer<S, QueryLastCandles>` to implement `Service<QueryLastCandles>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 150 |         S: ExcService<QueryLastCandles> + 'static + tower::Service<exc_core::exc_types::QueryLastCandles>,
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryLastCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Service::poll_ready(&mut self.svc, cx).map_err(ExchangeError::from)
[INFO] [stdout]     |             ------------------- ^^^^^^^^^^^^^ the trait `Service<QueryLastCandles>` is not implemented for `S`, which is required by `tower::buffer::Buffer<S, QueryLastCandles>: Service<_>`
[INFO] [stdout]     |             |
[INFO] [stdout]     |             required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `tower::buffer::Buffer<S, QueryLastCandles>` to implement `Service<QueryLastCandles>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 150 |         S: ExcService<QueryLastCandles> + 'static + tower::Service<exc_core::exc_types::QueryLastCandles>,
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<QueryLastCandles>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Service::poll_ready(&mut self.svc, cx).map_err(ExchangeError::from)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<QueryLastCandles>` is not implemented for `S`, which is required by `tower::buffer::Buffer<S, QueryLastCandles>: Service<QueryLastCandles>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `tower::buffer::Buffer<S, QueryLastCandles>` to implement `Service<QueryLastCandles>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 150 |         S: ExcService<QueryLastCandles> + 'static + tower::Service<exc_core::exc_types::QueryLastCandles>,
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for struct `Buffer<S, QueryLastCandles>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:169:36
[INFO] [stdout]     |
[INFO] [stdout] 169 |             let mut svc = self.svc.clone();
[INFO] [stdout]     |                                    ^^^^^ method cannot be called on `Buffer<S, QueryLastCandles>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     | ----------------------------- doesn't satisfy `tower::buffer::Buffer<S, QueryLastCandles>: Clone`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `S: Service<QueryLastCandles>`
[INFO] [stdout]             which is required by `tower::buffer::Buffer<S, QueryLastCandles>: Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for struct `Buffer<S, QueryLastCandles>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:169:36
[INFO] [stdout]     |
[INFO] [stdout] 169 |             let mut svc = self.svc.clone();
[INFO] [stdout]     |                                    ^^^^^ method cannot be called on `Buffer<S, QueryLastCandles>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     | ----------------------------- doesn't satisfy `tower::buffer::Buffer<S, QueryLastCandles>: Clone`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `S: Service<QueryLastCandles>`
[INFO] [stdout]             which is required by `tower::buffer::Buffer<S, QueryLastCandles>: Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:228:34
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ----------- ^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer::<T, Request>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer::<T, Request>::new`
[INFO] [stdout] ...
[INFO] [stdout] 68  |     pub fn new(service: T, bound: usize) -> Self
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:228:22
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:228:22
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:228:34
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ----------- ^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer::<T, Request>::new`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:44:8
[INFO] [stdout]     |
[INFO] [stdout] 44  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer::<T, Request>::new`
[INFO] [stdout] ...
[INFO] [stdout] 68  |     pub fn new(service: T, bound: usize) -> Self
[INFO] [stdout]     |            --- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:228:22
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:228:22
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 svc: Buffer::new(inner, self.bound),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<_>` is not implemented for `S`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]     = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout] note: required by a bound in `tower::buffer::Buffer`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:20:8
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     |            ------ required by a bound in this struct
[INFO] [stdout] 19  | where
[INFO] [stdout] 20  |     T: Service<Request>,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ required by this bound in `Buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for struct `Buffer<S, QueryFirstCandles>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:264:36
[INFO] [stdout]     |
[INFO] [stdout] 264 |             let mut svc = self.svc.clone();
[INFO] [stdout]     |                                    ^^^^^ method cannot be called on `Buffer<S, QueryFirstCandles>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     | ----------------------------- doesn't satisfy `tower::buffer::Buffer<S, QueryFirstCandles>: Clone`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `S: Service<QueryFirstCandles>`
[INFO] [stdout]             which is required by `tower::buffer::Buffer<S, QueryFirstCandles>: Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `clone` exists for struct `Buffer<S, QueryFirstCandles>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/util/fetch_candles.rs:264:36
[INFO] [stdout]     |
[INFO] [stdout] 264 |             let mut svc = self.svc.clone();
[INFO] [stdout]     |                                    ^^^^^ method cannot be called on `Buffer<S, QueryFirstCandles>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/buffer/service.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout] 18  | pub struct Buffer<T, Request>
[INFO] [stdout]     | ----------------------------- doesn't satisfy `tower::buffer::Buffer<S, QueryFirstCandles>: Clone`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `S: Service<QueryFirstCandles>`
[INFO] [stdout]             which is required by `tower::buffer::Buffer<S, QueryFirstCandles>: Clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:53:49
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ServiceExt::<PlaceOrder>::oneshot(self, req)
[INFO] [stdout]    |         ---------------------------------       ^^^ the trait `Service<PlaceOrder>` is not implemented for `S`, which is required by `&mut S: Service<PlaceOrder>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<PlaceOrder>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:53:49
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ServiceExt::<PlaceOrder>::oneshot(self, req)
[INFO] [stdout]    |         ---------------------------------       ^^^ the trait `Service<PlaceOrder>` is not implemented for `S`, which is required by `&mut S: Service<PlaceOrder>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<PlaceOrder>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `try_flatten` exists for struct `Oneshot<&mut S, PlaceOrder>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 53 | /         ServiceExt::<PlaceOrder>::oneshot(self, req)
[INFO] [stdout] 54 | |             .try_flatten()
[INFO] [stdout]    | |             -^^^^^^^^^^^ method cannot be called on `Oneshot<&mut S, PlaceOrder>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, PlaceOrder>: TryFutureExt` or `Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]            which is required by `Oneshot<&mut S, PlaceOrder>: TryFutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, PlaceOrder>: TryFutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, PlaceOrder>: TryFutureExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ServiceExt::<PlaceOrder>::oneshot(self, req)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`, which is required by `&mut S: Service<PlaceOrder>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<PlaceOrder>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `try_flatten` exists for struct `Oneshot<&mut S, PlaceOrder>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 53 | /         ServiceExt::<PlaceOrder>::oneshot(self, req)
[INFO] [stdout] 54 | |             .try_flatten()
[INFO] [stdout]    | |             -^^^^^^^^^^^ method cannot be called on `Oneshot<&mut S, PlaceOrder>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, PlaceOrder>: TryFutureExt` or `Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]            which is required by `Oneshot<&mut S, PlaceOrder>: TryFutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, PlaceOrder>: TryFutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, PlaceOrder>: TryFuture`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, PlaceOrder>: TryFutureExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<PlaceOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         ServiceExt::<PlaceOrder>::oneshot(self, req)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<PlaceOrder>` is not implemented for `S`, which is required by `&mut S: Service<PlaceOrder>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<PlaceOrder>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::PlaceOrder>,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `place_with_opts` exists for mutable reference `&mut S`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:64:14
[INFO] [stdout]    |
[INFO] [stdout] 64 |         self.place_with_opts(
[INFO] [stdout]    |         -----^^^^^^^^^^^^^^^ method cannot be called on `&mut S` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `&mut S: ExcService<CancelOrder>`
[INFO] [stdout]       `&mut S: ExcService<PlaceOrder>`
[INFO] [stdout]       `S: Service<CancelOrder>`
[INFO] [stdout]       `S: Service<PlaceOrder>`
[INFO] [stdout]   --> src/util/trading.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<S> TradingService for S
[INFO] [stdout]    |         --------------     -
[INFO] [stdout] 41 | where
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout]    |        |
[INFO] [stdout]    |        unsatisfied trait bound introduced here
[INFO] [stdout] 43 |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout]    |                                         ^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] 44 |     <S as Service<CancelOrder>>::Future: Send,
[INFO] [stdout]    |                                          ^^^^ unsatisfied trait bound introduced here
[INFO] [stdout]    = help: items from traits can only be used if the type parameter is bounded by the trait
[INFO] [stdout] help: the following trait defines an item `place_with_opts`, perhaps you need to restrict type parameter `S` with it:
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + TradingService,
[INFO] [stdout]    |                                                                ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:72:50
[INFO] [stdout]    |
[INFO] [stdout] 72 |         ServiceExt::<CancelOrder>::oneshot(self, CancelOrder::new(inst, id.clone()))
[INFO] [stdout]    |         ----------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`, which is required by `&mut S: Service<CancelOrder>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<CancelOrder>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `place_with_opts` exists for mutable reference `&mut S`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:64:14
[INFO] [stdout]    |
[INFO] [stdout] 64 |         self.place_with_opts(
[INFO] [stdout]    |         -----^^^^^^^^^^^^^^^ method cannot be called on `&mut S` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `&mut S: ExcService<CancelOrder>`
[INFO] [stdout]       `&mut S: ExcService<PlaceOrder>`
[INFO] [stdout]       `S: Service<CancelOrder>`
[INFO] [stdout]       `S: Service<PlaceOrder>`
[INFO] [stdout]   --> src/util/trading.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<S> TradingService for S
[INFO] [stdout]    |         --------------     -
[INFO] [stdout] 41 | where
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send,
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stdout]    |        |
[INFO] [stdout]    |        unsatisfied trait bound introduced here
[INFO] [stdout] 43 |     <S as Service<PlaceOrder>>::Future: Send,
[INFO] [stdout]    |                                         ^^^^ unsatisfied trait bound introduced here
[INFO] [stdout] 44 |     <S as Service<CancelOrder>>::Future: Send,
[INFO] [stdout]    |                                          ^^^^ unsatisfied trait bound introduced here
[INFO] [stdout]    = help: items from traits can only be used if the type parameter is bounded by the trait
[INFO] [stdout] help: the following trait defines an item `place_with_opts`, perhaps you need to restrict type parameter `S` with it:
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + util::trading::TradingService,
[INFO] [stdout]    |                                                                +++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:72:50
[INFO] [stdout]    |
[INFO] [stdout] 72 |         ServiceExt::<CancelOrder>::oneshot(self, CancelOrder::new(inst, id.clone()))
[INFO] [stdout]    |         ----------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`, which is required by `&mut S: Service<CancelOrder>`
[INFO] [stdout]    |         |
[INFO] [stdout]    |         required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<CancelOrder>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `try_flatten` exists for struct `Oneshot<&mut S, CancelOrder>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 72 | /         ServiceExt::<CancelOrder>::oneshot(self, CancelOrder::new(inst, id.clone()))
[INFO] [stdout] 73 | |             .try_flatten()
[INFO] [stdout]    | |             -^^^^^^^^^^^ method cannot be called on `Oneshot<&mut S, CancelOrder>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, CancelOrder>: TryFutureExt` or `Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]            which is required by `Oneshot<&mut S, CancelOrder>: TryFutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, CancelOrder>: TryFutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, CancelOrder>: TryFutureExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         ServiceExt::<CancelOrder>::oneshot(self, CancelOrder::new(inst, id.clone()))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`, which is required by `&mut S: Service<CancelOrder>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<CancelOrder>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |           ServiceExt::oneshot(
[INFO] [stdout]    |           ------------------- required by a bound introduced by this call
[INFO] [stdout] 91 |               self,
[INFO] [stdout] 92 | /             GetOrder {
[INFO] [stdout] 93 | |                 instrument: Str::new(inst),
[INFO] [stdout] 94 | |                 id: id.clone(),
[INFO] [stdout] 95 | |             },
[INFO] [stdout]    | |_____________^ the trait `Service<_>` is not implemented for `S`, which is required by `&mut S: Service<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]    = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<_>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `try_flatten` exists for struct `Oneshot<&mut S, CancelOrder>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 72 | /         ServiceExt::<CancelOrder>::oneshot(self, CancelOrder::new(inst, id.clone()))
[INFO] [stdout] 73 | |             .try_flatten()
[INFO] [stdout]    | |             -^^^^^^^^^^^ method cannot be called on `Oneshot<&mut S, CancelOrder>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, CancelOrder>: TryFutureExt` or `Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]            which is required by `Oneshot<&mut S, CancelOrder>: TryFutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, CancelOrder>: TryFutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, CancelOrder>: TryFuture`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, CancelOrder>: TryFutureExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<CancelOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         ServiceExt::<CancelOrder>::oneshot(self, CancelOrder::new(inst, id.clone()))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<CancelOrder>` is not implemented for `S`, which is required by `&mut S: Service<CancelOrder>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<CancelOrder>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 42 |     S: ExcService<PlaceOrder> + ExcService<CancelOrder> + Send + tower::Service<exc_core::exc_types::CancelOrder>,
[INFO] [stdout]    |                                                                ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<_>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |           ServiceExt::oneshot(
[INFO] [stdout]    |           ------------------- required by a bound introduced by this call
[INFO] [stdout] 91 |               self,
[INFO] [stdout] 92 | /             GetOrder {
[INFO] [stdout] 93 | |                 instrument: Str::new(inst),
[INFO] [stdout] 94 | |                 id: id.clone(),
[INFO] [stdout] 95 | |             },
[INFO] [stdout]    | |_____________^ the trait `Service<_>` is not implemented for `S`, which is required by `&mut S: Service<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Service<_>` is implemented for `&mut _`
[INFO] [stdout]    = help: for that trait implementation, expected `&mut _`, found `S`
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<_>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]    |        ------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `try_flatten` exists for struct `Oneshot<&mut S, GetOrder>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | /         ServiceExt::oneshot(
[INFO] [stdout] 91 | |             self,
[INFO] [stdout] 92 | |             GetOrder {
[INFO] [stdout] 93 | |                 instrument: Str::new(inst),
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |         )
[INFO] [stdout] 97 | |         .try_flatten()
[INFO] [stdout]    | |         -^^^^^^^^^^^ method cannot be called on `Oneshot<&mut S, GetOrder>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, GetOrder>: TryFutureExt` or `Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]            which is required by `Oneshot<&mut S, GetOrder>: TryFutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, GetOrder>: TryFutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, GetOrder>: TryFutureExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<GetOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 | /         ServiceExt::oneshot(
[INFO] [stdout] 91 | |             self,
[INFO] [stdout] 92 | |             GetOrder {
[INFO] [stdout] 93 | |                 instrument: Str::new(inst),
[INFO] [stdout] 94 | |                 id: id.clone(),
[INFO] [stdout] 95 | |             },
[INFO] [stdout] 96 | |         )
[INFO] [stdout]    | |_________^ the trait `Service<GetOrder>` is not implemented for `S`, which is required by `&mut S: Service<GetOrder>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<GetOrder>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 86 |     S: ExcService<GetOrder> + Send + tower::Service<exc_core::exc_types::GetOrder>,
[INFO] [stdout]    |                                    +++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeOrders>` is not satisfied
[INFO] [stdout]    --> src/util/trading.rs:114:54
[INFO] [stdout]     |
[INFO] [stdout] 114 |         ServiceExt::<SubscribeOrders>::oneshot(self, SubscribeOrders::new(inst)).boxed()
[INFO] [stdout]     |         --------------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeOrders>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeOrders>`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `&mut S` to implement `Service<SubscribeOrders>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]     |
[INFO] [stdout] 65  | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96  |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]     |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 110 |     S: ExcService<SubscribeOrders> + Send + tower::Service<exc_core::exc_types::SubscribeOrders>,
[INFO] [stdout]     |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeOrders>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/util/trading.rs:114:82
[INFO] [stdout]     |
[INFO] [stdout] 114 |           ServiceExt::<SubscribeOrders>::oneshot(self, SubscribeOrders::new(inst)).boxed()
[INFO] [stdout]     |                                                                                    ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeOrders>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout] 11  | / pin_project! {
[INFO] [stdout] 12  | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13  | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14  | |     /// waiting for that [`Future`].
[INFO] [stdout] ...   |
[INFO] [stdout] 19  | |     }
[INFO] [stdout] 20  | | }
[INFO] [stdout]     | |_- doesn't satisfy `Oneshot<&mut S, SubscribeOrders>: FutureExt`, `Oneshot<&mut S, SubscribeOrders>: Service<_>`, `Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]             which is required by `Oneshot<&mut S, SubscribeOrders>: FutureExt`
[INFO] [stdout]             `Oneshot<&mut S, SubscribeOrders>: Service<_>`
[INFO] [stdout]             which is required by `Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>`
[INFO] [stdout]             `&Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]             which is required by `&Oneshot<&mut S, SubscribeOrders>: FutureExt`
[INFO] [stdout]             `&Oneshot<&mut S, SubscribeOrders>: Service<_>`
[INFO] [stdout]             which is required by `&Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>`
[INFO] [stdout]             `&mut Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]             which is required by `&mut Oneshot<&mut S, SubscribeOrders>: FutureExt`
[INFO] [stdout]             `&mut Oneshot<&mut S, SubscribeOrders>: Service<_>`
[INFO] [stdout]             which is required by `&mut Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeOrders>` is not satisfied
[INFO] [stdout]    --> src/util/trading.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         ServiceExt::<SubscribeOrders>::oneshot(self, SubscribeOrders::new(inst)).boxed()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeOrders>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeOrders>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `&mut S` to implement `Service<SubscribeOrders>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout] 11  | / pin_project! {
[INFO] [stdout] 12  | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13  | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14  | |     /// waiting for that [`Future`].
[INFO] [stdout] 15  | |     #[derive(Debug)]
[INFO] [stdout] 16  | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]     | |                ------- required by a bound in this struct
[INFO] [stdout] ...   |
[INFO] [stdout] 19  | |     }
[INFO] [stdout] 20  | | }
[INFO] [stdout]     | |_^ required by this bound in `Oneshot`
[INFO] [stdout]     = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 110 |     S: ExcService<SubscribeOrders> + Send + tower::Service<exc_core::exc_types::SubscribeOrders>,
[INFO] [stdout]     |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `try_flatten` exists for struct `Oneshot<&mut S, GetOrder>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/trading.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | /         ServiceExt::oneshot(
[INFO] [stdout] 91 | |             self,
[INFO] [stdout] 92 | |             GetOrder {
[INFO] [stdout] 93 | |                 instrument: Str::new(inst),
[INFO] [stdout] ...  |
[INFO] [stdout] 96 | |         )
[INFO] [stdout] 97 | |         .try_flatten()
[INFO] [stdout]    | |         -^^^^^^^^^^^ method cannot be called on `Oneshot<&mut S, GetOrder>` due to unsatisfied trait bounds
[INFO] [stdout]    | |_________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_- doesn't satisfy `Oneshot<&mut S, GetOrder>: TryFutureExt` or `Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]            which is required by `Oneshot<&mut S, GetOrder>: TryFutureExt`
[INFO] [stdout]            `&Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]            which is required by `&Oneshot<&mut S, GetOrder>: TryFutureExt`
[INFO] [stdout]            `&mut Oneshot<&mut S, GetOrder>: TryFuture`
[INFO] [stdout]            which is required by `&mut Oneshot<&mut S, GetOrder>: TryFutureExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<Reconnect>` is not satisfied
[INFO] [stdout]   --> src/util/reconnect.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         ServiceExt::<Reconnect>::call_all(self, iter([Reconnect, Reconnect]))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<Reconnect>` is not implemented for `S`, which is required by `&mut S: Service<Reconnect>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<Reconnect>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 22 |     S: ExcService<Reconnect> + Send + tower::Service<exc_core::exc_types::utils::Reconnect>,
[INFO] [stdout]    |                                     +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<GetOrder>` is not satisfied
[INFO] [stdout]   --> src/util/trading.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 | /         ServiceExt::oneshot(
[INFO] [stdout] 91 | |             self,
[INFO] [stdout] 92 | |             GetOrder {
[INFO] [stdout] 93 | |                 instrument: Str::new(inst),
[INFO] [stdout] 94 | |                 id: id.clone(),
[INFO] [stdout] 95 | |             },
[INFO] [stdout] 96 | |         )
[INFO] [stdout]    | |_________^ the trait `Service<GetOrder>` is not implemented for `S`, which is required by `&mut S: Service<GetOrder>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<GetOrder>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / pin_project! {
[INFO] [stdout] 12 | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13 | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14 | |     /// waiting for that [`Future`].
[INFO] [stdout] 15 | |     #[derive(Debug)]
[INFO] [stdout] 16 | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]    | |                ------- required by a bound in this struct
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^ required by this bound in `Oneshot`
[INFO] [stdout]    = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 86 |     S: ExcService<GetOrder> + Send + tower::Service<exc_core::exc_types::GetOrder>,
[INFO] [stdout]    |                                    +++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeOrders>` is not satisfied
[INFO] [stdout]    --> src/util/trading.rs:114:54
[INFO] [stdout]     |
[INFO] [stdout] 114 |         ServiceExt::<SubscribeOrders>::oneshot(self, SubscribeOrders::new(inst)).boxed()
[INFO] [stdout]     |         --------------------------------------       ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeOrders>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeOrders>`
[INFO] [stdout]     |         |
[INFO] [stdout]     |         required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `&mut S` to implement `Service<SubscribeOrders>`
[INFO] [stdout] note: required by a bound in `oneshot`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/mod.rs:65:32
[INFO] [stdout]     |
[INFO] [stdout] 65  | pub trait ServiceExt<Request>: tower_service::Service<Request> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ServiceExt::oneshot`
[INFO] [stdout] ...
[INFO] [stdout] 96  |     fn oneshot(self, req: Request) -> Oneshot<Self, Request>
[INFO] [stdout]     |        ------- required by a bound in this associated function
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 110 |     S: ExcService<SubscribeOrders> + Send + tower::Service<exc_core::exc_types::SubscribeOrders>,
[INFO] [stdout]     |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `boxed` exists for struct `Oneshot<&mut S, SubscribeOrders>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/util/trading.rs:114:82
[INFO] [stdout]     |
[INFO] [stdout] 114 |           ServiceExt::<SubscribeOrders>::oneshot(self, SubscribeOrders::new(inst)).boxed()
[INFO] [stdout]     |                                                                                    ^^^^^ method cannot be called on `Oneshot<&mut S, SubscribeOrders>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout] 11  | / pin_project! {
[INFO] [stdout] 12  | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13  | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14  | |     /// waiting for that [`Future`].
[INFO] [stdout] ...   |
[INFO] [stdout] 19  | |     }
[INFO] [stdout] 20  | | }
[INFO] [stdout]     | |_- doesn't satisfy `Oneshot<&mut S, SubscribeOrders>: FutureExt`, `Oneshot<&mut S, SubscribeOrders>: Service<_>`, `Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>` or `Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]             which is required by `Oneshot<&mut S, SubscribeOrders>: FutureExt`
[INFO] [stdout]             `Oneshot<&mut S, SubscribeOrders>: Service<_>`
[INFO] [stdout]             which is required by `Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>`
[INFO] [stdout]             `&Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]             which is required by `&Oneshot<&mut S, SubscribeOrders>: FutureExt`
[INFO] [stdout]             `&Oneshot<&mut S, SubscribeOrders>: Service<_>`
[INFO] [stdout]             which is required by `&Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>`
[INFO] [stdout]             `&mut Oneshot<&mut S, SubscribeOrders>: futures::Future`
[INFO] [stdout]             which is required by `&mut Oneshot<&mut S, SubscribeOrders>: FutureExt`
[INFO] [stdout]             `&mut Oneshot<&mut S, SubscribeOrders>: Service<_>`
[INFO] [stdout]             which is required by `&mut Oneshot<&mut S, SubscribeOrders>: ServiceExt<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `fold` exists for struct `CallAll<&mut S, Iter<IntoIter<Reconnect, 2>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/reconnect.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |  /         ServiceExt::<Reconnect>::call_all(self, iter([Reconnect, Reconnect]))
[INFO] [stdout] 32 |  |             .fold(Ok(()), move |res, x| match state {
[INFO] [stdout]    |  |             -^^^^ method cannot be called on `CallAll<&mut S, Iter<IntoIter<Reconnect, 2>>>` due to unsatisfied trait bounds
[INFO] [stdout]    |  |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/call_all/ordered.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | /  pin_project! {
[INFO] [stdout] 18 | |      /// This is a [`Stream`] of responses resulting from calling the wrapped [`Service`] for each
[INFO] [stdout] 19 | |      /// request received on the wrapped [`Stream`].
[INFO] [stdout] 20 | |      ///
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | |      }
[INFO] [stdout] 96 | |  }
[INFO] [stdout]    | |__- doesn't satisfy `_: Iterator`, `_: StreamExt` or `_: Stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Stream`
[INFO] [stdout]            which is required by `CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: StreamExt`
[INFO] [stdout]            `&CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Stream`
[INFO] [stdout]            which is required by `&CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: StreamExt`
[INFO] [stdout]            `&mut CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Stream`
[INFO] [stdout]            which is required by `&mut CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: StreamExt`
[INFO] [stdout]            `CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Iterator`
[INFO] [stdout]            which is required by `&mut CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<SubscribeOrders>` is not satisfied
[INFO] [stdout]    --> src/util/trading.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         ServiceExt::<SubscribeOrders>::oneshot(self, SubscribeOrders::new(inst)).boxed()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<SubscribeOrders>` is not implemented for `S`, which is required by `&mut S: Service<SubscribeOrders>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: required for `&mut S` to implement `Service<SubscribeOrders>`
[INFO] [stdout] note: required by a bound in `Oneshot`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/oneshot.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout] 11  | / pin_project! {
[INFO] [stdout] 12  | |     /// A [`Future`] consuming a [`Service`] and request, waiting until the [`Service`]
[INFO] [stdout] 13  | |     /// is ready, and then calling [`Service::call`] with the request, and
[INFO] [stdout] 14  | |     /// waiting for that [`Future`].
[INFO] [stdout] 15  | |     #[derive(Debug)]
[INFO] [stdout] 16  | |     pub struct Oneshot<S: Service<Req>, Req> {
[INFO] [stdout]     | |                ------- required by a bound in this struct
[INFO] [stdout] ...   |
[INFO] [stdout] 19  | |     }
[INFO] [stdout] 20  | | }
[INFO] [stdout]     | |_^ required by this bound in `Oneshot`
[INFO] [stdout]     = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 110 |     S: ExcService<SubscribeOrders> + Send + tower::Service<exc_core::exc_types::SubscribeOrders>,
[INFO] [stdout]     |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `S: Service<Reconnect>` is not satisfied
[INFO] [stdout]   --> src/util/reconnect.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         ServiceExt::<Reconnect>::call_all(self, iter([Reconnect, Reconnect]))
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Service<Reconnect>` is not implemented for `S`, which is required by `&mut S: Service<Reconnect>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `&mut S` to implement `Service<Reconnect>`
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]    |
[INFO] [stdout] 22 |     S: ExcService<Reconnect> + Send + tower::Service<exc_core::exc_types::utils::Reconnect>,
[INFO] [stdout]    |                                     +++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]   --> src/util/fetch_candles.rs:79:49
[INFO] [stdout]    |
[INFO] [stdout] 79 |     use futures::{future::BoxFuture, FutureExt, StreamExt};
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/subscribe_tickers.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use futures::{future::BoxFuture, FutureExt};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> src/util/trade.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> src/util/book.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/trading.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{future::BoxFuture, FutureExt, TryFutureExt};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> src/util/instrument.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]  --> src/util/reconnect.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FutureExt, StreamExt,
[INFO] [stdout]   |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/fetch_candles.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::{future::BoxFuture, FutureExt};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]  --> src/util/trading.rs:7:45
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{future::BoxFuture, FutureExt, TryFutureExt};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/reconnect.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FutureExt, StreamExt,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServiceExt`
[INFO] [stdout]   --> src/util/fetch_candles.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 |     use tower::{Layer, Service, ServiceExt};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]   --> src/util/fetch_candles.rs:79:38
[INFO] [stdout]    |
[INFO] [stdout] 79 |     use futures::{future::BoxFuture, FutureExt, StreamExt};
[INFO] [stdout]    |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `fold` exists for struct `CallAll<&mut S, Iter<IntoIter<Reconnect, 2>>>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/util/reconnect.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |  /         ServiceExt::<Reconnect>::call_all(self, iter([Reconnect, Reconnect]))
[INFO] [stdout] 32 |  |             .fold(Ok(()), move |res, x| match state {
[INFO] [stdout]    |  |             -^^^^ method cannot be called on `CallAll<&mut S, Iter<IntoIter<Reconnect, 2>>>` due to unsatisfied trait bounds
[INFO] [stdout]    |  |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/tower-0.4.13/src/util/call_all/ordered.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | /  pin_project! {
[INFO] [stdout] 18 | |      /// This is a [`Stream`] of responses resulting from calling the wrapped [`Service`] for each
[INFO] [stdout] 19 | |      /// request received on the wrapped [`Stream`].
[INFO] [stdout] 20 | |      ///
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | |      }
[INFO] [stdout] 96 | |  }
[INFO] [stdout]    | |__- doesn't satisfy `_: Iterator`, `_: StreamExt` or `_: Stream`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Stream`
[INFO] [stdout]            which is required by `CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: StreamExt`
[INFO] [stdout]            `&CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Stream`
[INFO] [stdout]            which is required by `&CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: StreamExt`
[INFO] [stdout]            `&mut CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Stream`
[INFO] [stdout]            which is required by `&mut CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: StreamExt`
[INFO] [stdout]            `CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Iterator`
[INFO] [stdout]            which is required by `&mut CallAll<&mut S, futures::stream::Iter<std::array::IntoIter<Reconnect, 2>>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]  --> src/util/reconnect.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FutureExt, StreamExt,
[INFO] [stdout]   |                ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]   --> src/util/fetch_candles.rs:79:38
[INFO] [stdout]    |
[INFO] [stdout] 79 |     use futures::{future::BoxFuture, FutureExt, StreamExt};
[INFO] [stdout]    |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/subscribe_tickers.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use futures::{future::BoxFuture, FutureExt};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/reconnect.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FutureExt, StreamExt,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> src/util/trade.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]  --> src/util/trading.rs:7:45
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{future::BoxFuture, FutureExt, TryFutureExt};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> src/util/book.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]   --> src/util/fetch_candles.rs:79:49
[INFO] [stdout]    |
[INFO] [stdout] 79 |     use futures::{future::BoxFuture, FutureExt, StreamExt};
[INFO] [stdout]    |                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::FutureExt`
[INFO] [stdout]  --> src/util/instrument.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::FutureExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/trading.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{future::BoxFuture, FutureExt, TryFutureExt};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> src/util/fetch_candles.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::{future::BoxFuture, FutureExt};
[INFO] [stdout]   |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ServiceExt`
[INFO] [stdout]   --> src/util/fetch_candles.rs:81:33
[INFO] [stdout]    |
[INFO] [stdout] 81 |     use tower::{Layer, Service, ServiceExt};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:271:22
[INFO] [stdout]     |
[INFO] [stdout] 271 |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     |                      ^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:271:22
[INFO] [stdout]     |
[INFO] [stdout] 271 |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     |                      ^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:271:22
[INFO] [stdout]     |
[INFO] [stdout] 271 |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     |                      ^^^^^ the trait `Service<SubscribeInstruments>` is not implemented for `<L2 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L2 as tower::Layer<S>>::Service: Service<SubscribeInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<L1 as tower::Layer<S>>::Service: Service<FetchInstruments>` is not satisfied
[INFO] [stdout]    --> src/instrument/service/mod.rs:271:22
[INFO] [stdout]     |
[INFO] [stdout] 271 |             .map_err(|err| ExchangeError::from(err).flatten())
[INFO] [stdout]     |                      ^^^^^ the trait `Service<FetchInstruments>` is not implemented for `<L1 as tower::Layer<S>>::Service`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn layer(&self, svc: S) -> Self::Service where <L1 as tower::Layer<S>>::Service: Service<FetchInstruments> {
[INFO] [stdout]     |                                              +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 85 previous errors; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0034, E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 85 previous errors; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0034, E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0034`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exc` (lib) due to 86 previous errors; 12 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `exc` (lib test) due to 86 previous errors; 12 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "29832662651a4cae9306f35d75600794b8e7b567634f409a767e07ce011a8efc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "29832662651a4cae9306f35d75600794b8e7b567634f409a767e07ce011a8efc", kill_on_drop: false }`
[INFO] [stdout] 29832662651a4cae9306f35d75600794b8e7b567634f409a767e07ce011a8efc
