[INFO] fetching crate enfipy-jsonrpc-http-server 15.0.0...
[INFO] checking enfipy-jsonrpc-http-server-15.0.0 against master#b0696a5160711c068cb1f01b7437db7990d15750 for pr-121848
[INFO] extracting crate enfipy-jsonrpc-http-server 15.0.0 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate enfipy-jsonrpc-http-server 15.0.0 on toolchain b0696a5160711c068cb1f01b7437db7990d15750
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate enfipy-jsonrpc-http-server 15.0.0
[INFO] finished tweaking crates.io crate enfipy-jsonrpc-http-server 15.0.0
[INFO] tweaked toml for crates.io crate enfipy-jsonrpc-http-server 15.0.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate crates.io crate enfipy-jsonrpc-http-server 15.0.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded futures-task v0.3.7
[INFO] [stderr]   Downloaded futures-macro v0.3.7
[INFO] [stderr]   Downloaded futures-sink v0.3.7
[INFO] [stderr]   Downloaded futures-channel v0.3.7
[INFO] [stderr]   Downloaded futures-io v0.3.7
[INFO] [stderr]   Downloaded futures-util v0.3.7
[INFO] [stderr]   Downloaded pin-project-internal v1.0.1
[INFO] [stderr]   Downloaded futures v0.3.7
[INFO] [stderr]   Downloaded futures-executor v0.3.7
[INFO] [stderr]   Downloaded futures-core v0.3.7
[INFO] [stderr]   Downloaded pin-project v1.0.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f3bab4774983cafc66ec975148003018d3a381ff2aec993b9a7a7dfa4741e98f
[INFO] running `Command { std: "docker" "start" "-a" "f3bab4774983cafc66ec975148003018d3a381ff2aec993b9a7a7dfa4741e98f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f3bab4774983cafc66ec975148003018d3a381ff2aec993b9a7a7dfa4741e98f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3bab4774983cafc66ec975148003018d3a381ff2aec993b9a7a7dfa4741e98f", kill_on_drop: false }`
[INFO] [stdout] f3bab4774983cafc66ec975148003018d3a381ff2aec993b9a7a7dfa4741e98f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e137d602961ba568cf054584182aa721f217e5a3d343a52adc4810fed8657f73
[INFO] running `Command { std: "docker" "start" "-a" "e137d602961ba568cf054584182aa721f217e5a3d343a52adc4810fed8657f73", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.80
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]     Checking futures v0.1.30
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling syn v1.0.48
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking itoa v0.4.6
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling proc-macro-nested v0.1.6
[INFO] [stderr]    Compiling serde v1.0.117
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking futures-core v0.3.7
[INFO] [stderr]    Compiling serde_json v1.0.59
[INFO] [stderr]     Checking futures-sink v0.3.7
[INFO] [stderr]     Checking smallvec v0.6.13
[INFO] [stderr]     Checking regex-syntax v0.6.21
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling indexmap v1.6.0
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]     Checking once_cell v1.4.1
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]    Compiling serde_derive v1.0.117
[INFO] [stderr]     Checking futures-task v0.3.7
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking futures-channel v0.3.7
[INFO] [stderr]    Compiling httparse v1.3.4
[INFO] [stderr]     Checking futures-io v0.3.7
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking hashbrown v0.9.1
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking net2 v0.2.35
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]     Checking tokio-sync v0.1.8
[INFO] [stderr]    Compiling hyper v0.12.35
[INFO] [stderr]     Checking bstr v0.2.14
[INFO] [stderr]     Checking tokio-executor v0.1.10
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stderr]     Checking smallvec v1.4.2
[INFO] [stderr]     Checking tokio-io v0.1.13
[INFO] [stderr]     Checking http v0.1.21
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]     Checking tokio-timer v0.2.13
[INFO] [stderr]     Checking tokio-current-thread v0.1.7
[INFO] [stderr]     Checking tokio-buf v0.1.1
[INFO] [stderr]     Checking string v0.2.1
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]     Checking parking_lot_core v0.7.2
[INFO] [stderr]     Checking want v0.2.0
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking tokio-threadpool v0.1.18
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]     Checking tokio-codec v0.1.2
[INFO] [stderr]     Checking parking_lot v0.10.2
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking tokio-fs v0.1.7
[INFO] [stderr]     Checking tokio-uds v0.2.7
[INFO] [stderr]     Checking tokio-udp v0.1.6
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]     Checking regex v1.4.2
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking h2 v0.1.26
[INFO] [stderr]     Checking http-body v0.1.0
[INFO] [stderr]     Checking globset v0.4.6
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]    Compiling pin-project-internal v1.0.1
[INFO] [stderr]    Compiling futures-macro v0.3.7
[INFO] [stderr]     Checking pin-project v1.0.1
[INFO] [stderr]     Checking futures-util v0.3.7
[INFO] [stderr]     Checking jsonrpc-core v15.1.0
[INFO] [stderr]     Checking jsonrpc-server-utils v15.1.0
[INFO] [stderr]     Checking futures-executor v0.3.7
[INFO] [stderr]     Checking futures v0.3.7
[INFO] [stderr]     Checking enfipy-jsonrpc-http-server v15.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `net2` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use net2;
[INFO] [stdout]    |     ^^^^ the item `net2` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hyper` is imported redundantly
[INFO] [stdout]  --> src/handler.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hyper::{self, service::Service, Body, Method};
[INFO] [stdout]   |             ^^^^ the item `hyper` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Method`
[INFO] [stdout]  --> src/response.rs:3:50
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use hyper::{self, header::HeaderValue, Body, Method, StatusCode};
[INFO] [stdout]   |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hyper` is imported redundantly
[INFO] [stdout]  --> src/response.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use hyper::{self, header::HeaderValue, Body, Method, StatusCode};
[INFO] [stdout]   |                 ^^^^ the item `hyper` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hyper` is imported redundantly
[INFO] [stdout]  --> src/utils.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use hyper::{self, header};
[INFO] [stdout]   |             ^^^^ the item `hyper` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `futures::TryFutureExt`
[INFO] [stdout]   --> src/tests.rs:66:7
[INFO] [stdout]    |
[INFO] [stdout] 66 |         use futures::TryFutureExt;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^ no `TryFutureExt` in the root
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait instead
[INFO] [stdout]    |
[INFO] [stdout] 66 |         use futures03::TryFutureExt;
[INFO] [stdout]    |             ~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `ready` in module `futures::future`
[INFO] [stdout]   --> src/tests.rs:63:20
[INFO] [stdout]    |
[INFO] [stdout] 63 |         futures::future::ready(Ok(Value::String("world".into())))
[INFO] [stdout]    |                          ^^^^^ not found in `futures::future`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use core::future::ready;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use futures03::future::ready;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::future::ready;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `ready`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 63 -         futures::future::ready(Ok(Value::String("world".into())))
[INFO] [stdout] 63 +         ready(Ok(Value::String("world".into())))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `channel` in `futures`
[INFO] [stdout]   --> src/tests.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let (c, p) = futures::channel::oneshot::channel();
[INFO] [stdout]    |                               ^^^^^^^ could not find `channel` in `futures`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::oneshot;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::tests::futures::unsync::oneshot;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::tokio::sync::oneshot;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use futures01::sync::oneshot;
[INFO] [stdout]    |
[INFO] [stdout]      and 2 other candidates
[INFO] [stdout] help: if you import `oneshot`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 67 -         let (c, p) = futures::channel::oneshot::channel();
[INFO] [stdout] 67 +         let (c, p) = oneshot::channel();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `net2` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use net2;
[INFO] [stdout]    |     ^^^^ the item `net2` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hyper` is imported redundantly
[INFO] [stdout]    --> src/handler.rs:595:14
[INFO] [stdout]     |
[INFO] [stdout] 595 |     use super::{hyper, RpcHandler};
[INFO] [stdout]     |                 ^^^^^ the item `hyper` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Method`
[INFO] [stdout]  --> src/response.rs:3:50
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use hyper::{self, header::HeaderValue, Body, Method, StatusCode};
[INFO] [stdout]   |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hyper` is imported redundantly
[INFO] [stdout]  --> src/response.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use hyper::{self, header::HeaderValue, Body, Method, StatusCode};
[INFO] [stdout]   |                 ^^^^ the item `hyper` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hyper` is imported redundantly
[INFO] [stdout]  --> src/utils.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use hyper::{self, header};
[INFO] [stdout]   |             ^^^^ the item `hyper` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compat` exists for struct `Map<Either<<S as Middleware<M>>::Future, Either<Map<Either<..., ...>, ...>, ...>>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/handler.rs:411:35
[INFO] [stdout]     |
[INFO] [stdout] 411 |         let response = response.map(Ok).compat();
[INFO] [stdout]     |                                         ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.30/src/future/map.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct Map<A, F> where A: Future {
[INFO] [stdout]     | -------------------- doesn't satisfy `_: TryFutureExt` or `_: TryFuture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/enfipy_jsonrpc_http_server-f5944865a6a8e3b2.long-type-13035453676702494085.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Future01CompatExt` which provides `compat` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use futures::compat::Future01CompatExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compat` exists for struct `Map<Either<<S as Middleware<M>>::Future, Either<Map<Either<..., ...>, ...>, ...>>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/handler.rs:459:35
[INFO] [stdout]     |
[INFO] [stdout] 459 |         let response = response.map(Ok).compat();
[INFO] [stdout]     |                                         ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.30/src/future/map.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct Map<A, F> where A: Future {
[INFO] [stdout]     | -------------------- doesn't satisfy `_: TryFutureExt` or `_: TryFuture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/enfipy_jsonrpc_http_server-f5944865a6a8e3b2.long-type-17583955018677872466.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Future01CompatExt` which provides `compat` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use futures::compat::Future01CompatExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compat` exists for struct `Map<Map<Either<Done<Option<Response>, ()>, Either<<S as Middleware<M>>::Future, Either<..., ...>>>, ...>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/handler.rs:506:38
[INFO] [stdout]     |
[INFO] [stdout] 506 |                     let response = response.map(Ok).compat();
[INFO] [stdout]     |                                                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.30/src/future/map.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct Map<A, F> where A: Future {
[INFO] [stdout]     | -------------------- doesn't satisfy `_: TryFutureExt` or `_: TryFuture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/enfipy_jsonrpc_http_server-f5944865a6a8e3b2.long-type-13385120576788340026.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&mut futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&mut futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Future01CompatExt` which provides `compat` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use futures::compat::Future01CompatExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compat` exists for struct `Map<Either<<S as Middleware<M>>::Future, Either<Map<Either<..., ...>, ...>, ...>>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/handler.rs:411:35
[INFO] [stdout]     |
[INFO] [stdout] 411 |         let response = response.map(Ok).compat();
[INFO] [stdout]     |                                         ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.30/src/future/map.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct Map<A, F> where A: Future {
[INFO] [stdout]     | -------------------- doesn't satisfy `_: TryFutureExt` or `_: TryFuture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/enfipy_jsonrpc_http_server-b77c07e6d461da23.long-type-1795089447260289170.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Future01CompatExt` which provides `compat` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use futures::compat::Future01CompatExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]    --> src/handler.rs:487:22
[INFO] [stdout]     |
[INFO] [stdout] 487 |                     use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]    --> src/handler.rs:397:30
[INFO] [stdout]     |
[INFO] [stdout] 397 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]    --> src/handler.rs:397:19
[INFO] [stdout]     |
[INFO] [stdout] 397 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]    --> src/handler.rs:432:30
[INFO] [stdout]     |
[INFO] [stdout] 432 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]    --> src/handler.rs:432:19
[INFO] [stdout]     |
[INFO] [stdout] 432 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]    --> src/handler.rs:487:33
[INFO] [stdout]     |
[INFO] [stdout] 487 |                     use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compat` exists for struct `Map<Either<<S as Middleware<M>>::Future, Either<Map<Either<..., ...>, ...>, ...>>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/handler.rs:459:35
[INFO] [stdout]     |
[INFO] [stdout] 459 |         let response = response.map(Ok).compat();
[INFO] [stdout]     |                                         ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.30/src/future/map.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct Map<A, F> where A: Future {
[INFO] [stdout]     | -------------------- doesn't satisfy `_: TryFutureExt` or `_: TryFuture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/enfipy_jsonrpc_http_server-b77c07e6d461da23.long-type-18391640265327801497.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Future01CompatExt` which provides `compat` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use futures::compat::Future01CompatExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compat` exists for struct `Map<Map<Either<Done<Option<Response>, ()>, Either<<S as Middleware<M>>::Future, Either<..., ...>>>, ...>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/handler.rs:506:38
[INFO] [stdout]     |
[INFO] [stdout] 506 |                     let response = response.map(Ok).compat();
[INFO] [stdout]     |                                                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.30/src/future/map.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct Map<A, F> where A: Future {
[INFO] [stdout]     | -------------------- doesn't satisfy `_: TryFutureExt` or `_: TryFuture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/enfipy_jsonrpc_http_server-b77c07e6d461da23.long-type-5701007360369485217.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&mut futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&mut futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Future01CompatExt` which provides `compat` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use futures::compat::Future01CompatExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `enfipy-jsonrpc-http-server` (lib) due to 4 previous errors; 11 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no method named `add_sync_method` found for struct `IoHandler<_>` in the current scope
[INFO] [stdout]   --> src/tests.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     io.add_sync_method("hello", |params: Params| match params.parse::<(u64,)>() {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `add_method` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 41 |     io.add_method("hello", |params: Params| match params.parse::<(u64,)>() {
[INFO] [stdout]    |        ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_sync_method` found for struct `IoHandler<_>` in the current scope
[INFO] [stdout]   --> src/tests.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     io.add_sync_method("hello", |params: Params| match params.parse::<(u64,)>() {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `add_method` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 57 |     io.add_method("hello", |params: Params| match params.parse::<(u64,)>() {
[INFO] [stdout]    |        ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_sync_method` found for struct `IoHandler<_>` in the current scope
[INFO] [stdout]   --> src/tests.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     io.add_sync_method("fail", |_: Params| Err(Error::new(ErrorCode::ServerError(-34))));
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `add_method` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 61 |     io.add_method("fail", |_: Params| Err(Error::new(ErrorCode::ServerError(-34))));
[INFO] [stdout]    |        ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_sync_method` found for struct `IoHandler<_>` in the current scope
[INFO] [stdout]     --> src/tests.rs:1507:6
[INFO] [stdout]      |
[INFO] [stdout] 1507 |         io.add_sync_method("hello", move |_| {
[INFO] [stdout]      |         ---^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: there is a method `add_method` with a similar name
[INFO] [stdout]      |
[INFO] [stdout] 1507 |         io.add_method("hello", move |_| {
[INFO] [stdout]      |            ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]    --> src/handler.rs:397:30
[INFO] [stdout]     |
[INFO] [stdout] 397 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]    --> src/handler.rs:397:19
[INFO] [stdout]     |
[INFO] [stdout] 397 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]    --> src/handler.rs:432:30
[INFO] [stdout]     |
[INFO] [stdout] 432 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]    --> src/handler.rs:432:19
[INFO] [stdout]     |
[INFO] [stdout] 432 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]    --> src/handler.rs:487:33
[INFO] [stdout]     |
[INFO] [stdout] 487 |                     use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]    --> src/handler.rs:487:22
[INFO] [stdout]     |
[INFO] [stdout] 487 |                     use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors; 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `enfipy-jsonrpc-http-server` (lib test) due to 11 previous errors; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e137d602961ba568cf054584182aa721f217e5a3d343a52adc4810fed8657f73", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e137d602961ba568cf054584182aa721f217e5a3d343a52adc4810fed8657f73", kill_on_drop: false }`
[INFO] [stdout] e137d602961ba568cf054584182aa721f217e5a3d343a52adc4810fed8657f73
[INFO] checking enfipy-jsonrpc-http-server-15.0.0 against try#bfe97fcae016881ad333f0ff8cea2cadb9cf136c for pr-121848
[INFO] extracting crate enfipy-jsonrpc-http-server 15.0.0 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate enfipy-jsonrpc-http-server 15.0.0 on toolchain bfe97fcae016881ad333f0ff8cea2cadb9cf136c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate enfipy-jsonrpc-http-server 15.0.0
[INFO] finished tweaking crates.io crate enfipy-jsonrpc-http-server 15.0.0
[INFO] tweaked toml for crates.io crate enfipy-jsonrpc-http-server 15.0.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate crates.io crate enfipy-jsonrpc-http-server 15.0.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 736bf699dd7cd7c7b44d9b76d37e51db9a1a822e902ab4f32f6a8816aafca700
[INFO] running `Command { std: "docker" "start" "-a" "736bf699dd7cd7c7b44d9b76d37e51db9a1a822e902ab4f32f6a8816aafca700", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "736bf699dd7cd7c7b44d9b76d37e51db9a1a822e902ab4f32f6a8816aafca700", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "736bf699dd7cd7c7b44d9b76d37e51db9a1a822e902ab4f32f6a8816aafca700", kill_on_drop: false }`
[INFO] [stdout] 736bf699dd7cd7c7b44d9b76d37e51db9a1a822e902ab4f32f6a8816aafca700
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6363699ceec9cc41f4be3b5da3eb8e6e878c789a01e5865a1d26c86d5590250e
[INFO] running `Command { std: "docker" "start" "-a" "6363699ceec9cc41f4be3b5da3eb8e6e878c789a01e5865a1d26c86d5590250e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.80
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]     Checking futures v0.1.30
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]     Checking slab v0.4.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.48
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking itoa v0.4.6
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling proc-macro-nested v0.1.6
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling serde v1.0.117
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.59
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking smallvec v0.6.13
[INFO] [stderr]    Compiling indexmap v1.6.0
[INFO] [stderr]     Checking once_cell v1.4.1
[INFO] [stderr]     Checking aho-corasick v0.7.15
[INFO] [stderr]     Checking regex-syntax v0.6.21
[INFO] [stderr]     Checking futures-core v0.3.7
[INFO] [stderr]    Compiling serde_derive v1.0.117
[INFO] [stderr]     Checking futures-sink v0.3.7
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking futures-task v0.3.7
[INFO] [stderr]     Checking futures-channel v0.3.7
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling httparse v1.3.4
[INFO] [stderr]     Checking hashbrown v0.9.1
[INFO] [stderr]     Checking futures-io v0.3.7
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking net2 v0.2.35
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]    Compiling hyper v0.12.35
[INFO] [stderr]     Checking bstr v0.2.14
[INFO] [stderr]     Checking tokio-sync v0.1.8
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]     Checking tokio-executor v0.1.10
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stderr]     Checking smallvec v1.4.2
[INFO] [stderr]     Checking tokio-timer v0.2.13
[INFO] [stderr]     Checking tokio-current-thread v0.1.7
[INFO] [stderr]     Checking tokio-io v0.1.13
[INFO] [stderr]     Checking http v0.1.21
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]     Checking tokio-buf v0.1.1
[INFO] [stderr]     Checking string v0.2.1
[INFO] [stderr]     Checking parking_lot_core v0.7.2
[INFO] [stderr]     Checking want v0.2.0
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking tokio-threadpool v0.1.18
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]     Checking parking_lot v0.10.2
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]     Checking tokio-codec v0.1.2
[INFO] [stderr]     Checking tokio-uds v0.2.7
[INFO] [stderr]     Checking tokio-udp v0.1.6
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]     Checking tokio-fs v0.1.7
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking regex v1.4.2
[INFO] [stderr]     Checking http-body v0.1.0
[INFO] [stderr]     Checking h2 v0.1.26
[INFO] [stderr]     Checking globset v0.4.6
[INFO] [stderr]     Checking env_logger v0.7.1
[INFO] [stderr]    Compiling pin-project-internal v1.0.1
[INFO] [stderr]    Compiling futures-macro v0.3.7
[INFO] [stderr]     Checking pin-project v1.0.1
[INFO] [stderr]     Checking futures-util v0.3.7
[INFO] [stderr]     Checking jsonrpc-core v15.1.0
[INFO] [stderr]     Checking jsonrpc-server-utils v15.1.0
[INFO] [stderr]     Checking futures-executor v0.3.7
[INFO] [stderr]     Checking futures v0.3.7
[INFO] [stderr]     Checking enfipy-jsonrpc-http-server v15.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `net2` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use net2;
[INFO] [stdout]    |     ^^^^ the item `net2` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hyper` is imported redundantly
[INFO] [stdout]  --> src/handler.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hyper::{self, service::Service, Body, Method};
[INFO] [stdout]   |             ^^^^ the item `hyper` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Method`
[INFO] [stdout]  --> src/response.rs:3:50
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use hyper::{self, header::HeaderValue, Body, Method, StatusCode};
[INFO] [stdout]   |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hyper` is imported redundantly
[INFO] [stdout]  --> src/response.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use hyper::{self, header::HeaderValue, Body, Method, StatusCode};
[INFO] [stdout]   |                 ^^^^ the item `hyper` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hyper` is imported redundantly
[INFO] [stdout]  --> src/utils.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use hyper::{self, header};
[INFO] [stdout]   |             ^^^^ the item `hyper` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `futures::TryFutureExt`
[INFO] [stdout]   --> src/tests.rs:66:7
[INFO] [stdout]    |
[INFO] [stdout] 66 |         use futures::TryFutureExt;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^ no `TryFutureExt` in the root
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this trait instead
[INFO] [stdout]    |
[INFO] [stdout] 66 |         use futures03::TryFutureExt;
[INFO] [stdout]    |             ~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `ready` in module `futures::future`
[INFO] [stdout]   --> src/tests.rs:63:20
[INFO] [stdout]    |
[INFO] [stdout] 63 |         futures::future::ready(Ok(Value::String("world".into())))
[INFO] [stdout]    |                          ^^^^^ not found in `futures::future`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use core::future::ready;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use futures03::future::ready;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use std::future::ready;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `ready`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 63 -         futures::future::ready(Ok(Value::String("world".into())))
[INFO] [stdout] 63 +         ready(Ok(Value::String("world".into())))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `channel` in `futures`
[INFO] [stdout]   --> src/tests.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let (c, p) = futures::channel::oneshot::channel();
[INFO] [stdout]    |                               ^^^^^^^ could not find `channel` in `futures`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::oneshot;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::tests::futures::unsync::oneshot;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use crate::tokio::sync::oneshot;
[INFO] [stdout]    |
[INFO] [stdout] 1  + use futures01::sync::oneshot;
[INFO] [stdout]    |
[INFO] [stdout]      and 2 other candidates
[INFO] [stdout] help: if you import `oneshot`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 67 -         let (c, p) = futures::channel::oneshot::channel();
[INFO] [stdout] 67 +         let (c, p) = oneshot::channel();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `net2` is imported redundantly
[INFO] [stdout]   --> src/lib.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use net2;
[INFO] [stdout]    |     ^^^^ the item `net2` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hyper` is imported redundantly
[INFO] [stdout]    --> src/handler.rs:595:14
[INFO] [stdout]     |
[INFO] [stdout] 595 |     use super::{hyper, RpcHandler};
[INFO] [stdout]     |                 ^^^^^ the item `hyper` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Method`
[INFO] [stdout]  --> src/response.rs:3:50
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use hyper::{self, header::HeaderValue, Body, Method, StatusCode};
[INFO] [stdout]   |                                                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hyper` is imported redundantly
[INFO] [stdout]  --> src/response.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use hyper::{self, header::HeaderValue, Body, Method, StatusCode};
[INFO] [stdout]   |                 ^^^^ the item `hyper` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `hyper` is imported redundantly
[INFO] [stdout]  --> src/utils.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use hyper::{self, header};
[INFO] [stdout]   |             ^^^^ the item `hyper` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compat` exists for struct `Map<Either<<S as Middleware<M>>::Future, Either<Map<Either<..., ...>, ...>, ...>>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/handler.rs:411:35
[INFO] [stdout]     |
[INFO] [stdout] 411 |         let response = response.map(Ok).compat();
[INFO] [stdout]     |                                         ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.30/src/future/map.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct Map<A, F> where A: Future {
[INFO] [stdout]     | -------------------- doesn't satisfy `_: TryFutureExt` or `_: TryFuture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/enfipy_jsonrpc_http_server-f5944865a6a8e3b2.long-type-13367191326661406636.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Future01CompatExt` which provides `compat` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use futures::compat::Future01CompatExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compat` exists for struct `Map<Either<<S as Middleware<M>>::Future, Either<Map<Either<..., ...>, ...>, ...>>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/handler.rs:459:35
[INFO] [stdout]     |
[INFO] [stdout] 459 |         let response = response.map(Ok).compat();
[INFO] [stdout]     |                                         ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.30/src/future/map.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct Map<A, F> where A: Future {
[INFO] [stdout]     | -------------------- doesn't satisfy `_: TryFutureExt` or `_: TryFuture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/enfipy_jsonrpc_http_server-f5944865a6a8e3b2.long-type-12483167181450637769.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Future01CompatExt` which provides `compat` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use futures::compat::Future01CompatExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compat` exists for struct `Map<Map<Either<Done<Option<Response>, ()>, Either<<S as Middleware<M>>::Future, Either<..., ...>>>, ...>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/handler.rs:506:38
[INFO] [stdout]     |
[INFO] [stdout] 506 |                     let response = response.map(Ok).compat();
[INFO] [stdout]     |                                                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.30/src/future/map.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct Map<A, F> where A: Future {
[INFO] [stdout]     | -------------------- doesn't satisfy `_: TryFutureExt` or `_: TryFuture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/enfipy_jsonrpc_http_server-f5944865a6a8e3b2.long-type-14310024768986042804.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&mut futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&mut futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Future01CompatExt` which provides `compat` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use futures::compat::Future01CompatExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compat` exists for struct `Map<Either<<S as Middleware<M>>::Future, Either<Map<Either<..., ...>, ...>, ...>>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/handler.rs:411:35
[INFO] [stdout]     |
[INFO] [stdout] 411 |         let response = response.map(Ok).compat();
[INFO] [stdout]     |                                         ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.30/src/future/map.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct Map<A, F> where A: Future {
[INFO] [stdout]     | -------------------- doesn't satisfy `_: TryFutureExt` or `_: TryFuture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/enfipy_jsonrpc_http_server-b77c07e6d461da23.long-type-2590838098632630318.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Future01CompatExt` which provides `compat` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use futures::compat::Future01CompatExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]    --> src/handler.rs:487:22
[INFO] [stdout]     |
[INFO] [stdout] 487 |                     use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]    --> src/handler.rs:397:30
[INFO] [stdout]     |
[INFO] [stdout] 397 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]    --> src/handler.rs:397:19
[INFO] [stdout]     |
[INFO] [stdout] 397 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]    --> src/handler.rs:432:30
[INFO] [stdout]     |
[INFO] [stdout] 432 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]    --> src/handler.rs:432:19
[INFO] [stdout]     |
[INFO] [stdout] 432 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]    --> src/handler.rs:487:33
[INFO] [stdout]     |
[INFO] [stdout] 487 |                     use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compat` exists for struct `Map<Either<<S as Middleware<M>>::Future, Either<Map<Either<..., ...>, ...>, ...>>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/handler.rs:459:35
[INFO] [stdout]     |
[INFO] [stdout] 459 |         let response = response.map(Ok).compat();
[INFO] [stdout]     |                                         ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.30/src/future/map.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct Map<A, F> where A: Future {
[INFO] [stdout]     | -------------------- doesn't satisfy `_: TryFutureExt` or `_: TryFuture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/enfipy_jsonrpc_http_server-b77c07e6d461da23.long-type-12677939438287033219.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&mut futures::Map<futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> Result<std::option::Option<jsonrpc_core::Response>, _> {Result::<std::option::Option<jsonrpc_core::Response>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Future01CompatExt` which provides `compat` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use futures::compat::Future01CompatExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compat` exists for struct `Map<Map<Either<Done<Option<Response>, ()>, Either<<S as Middleware<M>>::Future, Either<..., ...>>>, ...>, ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/handler.rs:506:38
[INFO] [stdout]     |
[INFO] [stdout] 506 |                     let response = response.map(Ok).compat();
[INFO] [stdout]     |                                                     ^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/futures-0.1.30/src/future/map.rs:8:1
[INFO] [stdout]     |
[INFO] [stdout] 8   | pub struct Map<A, F> where A: Future {
[INFO] [stdout]     | -------------------- doesn't satisfy `_: TryFutureExt` or `_: TryFuture`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the full type name has been written to '/opt/rustwide/target/debug/deps/enfipy_jsonrpc_http_server-b77c07e6d461da23.long-type-6965577827283874677.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]             `&mut futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFuture`
[INFO] [stdout]             which is required by `&mut futures::Map<futures::Map<futures::future::Either<Failed<std::option::Option<jsonrpc_core::Response>, ()>, futures::future::Either<<S as Middleware<M>>::Future, futures::future::Either<futures::Map<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>, fn(std::option::Option<jsonrpc_core::Output>) -> std::option::Option<jsonrpc_core::Response>>, futures::Map<futures::Collect<Vec<futures::future::Either<<S as Middleware<M>>::CallFuture, futures::future::Either<Box<dyn futures::Future<Error = (), Item = std::option::Option<jsonrpc_core::Output>> + std::marker::Send>, Failed<std::option::Option<jsonrpc_core::Output>, ()>>>>>, fn(Vec<std::option::Option<jsonrpc_core::Output>>) -> std::option::Option<jsonrpc_core::Response>>>>>, fn(std::option::Option<jsonrpc_core::Response>) -> std::option::Option<std::string::String>>, fn(std::option::Option<std::string::String>) -> Result<std::option::Option<std::string::String>, _> {Result::<std::option::Option<std::string::String>, _>::Ok}>: TryFutureExt`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `Future01CompatExt` which provides `compat` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 1   + use futures::compat::Future01CompatExt;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `enfipy-jsonrpc-http-server` (lib) due to 4 previous errors; 11 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no method named `add_sync_method` found for struct `IoHandler<_>` in the current scope
[INFO] [stdout]   --> src/tests.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     io.add_sync_method("hello", |params: Params| match params.parse::<(u64,)>() {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `add_method` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 41 |     io.add_method("hello", |params: Params| match params.parse::<(u64,)>() {
[INFO] [stdout]    |        ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_sync_method` found for struct `IoHandler<_>` in the current scope
[INFO] [stdout]   --> src/tests.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     io.add_sync_method("hello", |params: Params| match params.parse::<(u64,)>() {
[INFO] [stdout]    |     ---^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `add_method` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 57 |     io.add_method("hello", |params: Params| match params.parse::<(u64,)>() {
[INFO] [stdout]    |        ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_sync_method` found for struct `IoHandler<_>` in the current scope
[INFO] [stdout]   --> src/tests.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     io.add_sync_method("fail", |_: Params| Err(Error::new(ErrorCode::ServerError(-34))));
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `add_method` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 61 |     io.add_method("fail", |_: Params| Err(Error::new(ErrorCode::ServerError(-34))));
[INFO] [stdout]    |        ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_sync_method` found for struct `IoHandler<_>` in the current scope
[INFO] [stdout]     --> src/tests.rs:1507:6
[INFO] [stdout]      |
[INFO] [stdout] 1507 |         io.add_sync_method("hello", move |_| {
[INFO] [stdout]      |         ---^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: there is a method `add_method` with a similar name
[INFO] [stdout]      |
[INFO] [stdout] 1507 |         io.add_method("hello", move |_| {
[INFO] [stdout]      |            ~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]    --> src/handler.rs:397:30
[INFO] [stdout]     |
[INFO] [stdout] 397 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]    --> src/handler.rs:397:19
[INFO] [stdout]     |
[INFO] [stdout] 397 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]    --> src/handler.rs:432:30
[INFO] [stdout]     |
[INFO] [stdout] 432 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]    --> src/handler.rs:432:19
[INFO] [stdout]     |
[INFO] [stdout] 432 |         use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryFutureExt`
[INFO] [stdout]    --> src/handler.rs:487:33
[INFO] [stdout]     |
[INFO] [stdout] 487 |                     use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]    --> src/handler.rs:487:22
[INFO] [stdout]     |
[INFO] [stdout] 487 |                     use futures03::{FutureExt, TryFutureExt};
[INFO] [stdout]     |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors; 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `enfipy-jsonrpc-http-server` (lib test) due to 11 previous errors; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "6363699ceec9cc41f4be3b5da3eb8e6e878c789a01e5865a1d26c86d5590250e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6363699ceec9cc41f4be3b5da3eb8e6e878c789a01e5865a1d26c86d5590250e", kill_on_drop: false }`
[INFO] [stdout] 6363699ceec9cc41f4be3b5da3eb8e6e878c789a01e5865a1d26c86d5590250e
