[INFO] fetching crate finchers-http 0.11.0...
[INFO] checking finchers-http-0.11.0 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate finchers-http 0.11.0 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate finchers-http 0.11.0 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate finchers-http 0.11.0
[INFO] finished tweaking crates.io crate finchers-http 0.11.0
[INFO] tweaked toml for crates.io crate finchers-http 0.11.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 108 packages to latest compatible versions
[INFO] [stderr]       Adding addr2line v0.21.0 (latest: v0.22.0)
[INFO] [stderr]       Adding base64 v0.9.3 (latest: v0.22.1)
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding bytes v0.4.12 (latest: v1.6.0)
[INFO] [stderr]       Adding cfg-if v0.1.10 (latest: v1.0.0)
[INFO] [stderr]       Adding cloudabi v0.0.3 (latest: v0.1.0)
[INFO] [stderr]       Adding crossbeam-deque v0.7.4 (latest: v0.8.5)
[INFO] [stderr]       Adding crossbeam-epoch v0.8.2 (latest: v0.9.18)
[INFO] [stderr]       Adding crossbeam-queue v0.2.3 (latest: v0.3.11)
[INFO] [stderr]       Adding crossbeam-utils v0.7.2 (latest: v0.8.19)
[INFO] [stderr]       Adding futures v0.1.31 (latest: v0.3.30)
[INFO] [stderr]       Adding gimli v0.28.1 (latest: v0.29.0)
[INFO] [stderr]       Adding http v0.1.21 (latest: v1.1.0)
[INFO] [stderr]       Adding hyper v0.11.27 (latest: v1.3.1)
[INFO] [stderr]       Adding itoa v0.4.8 (latest: v1.0.11)
[INFO] [stderr]       Adding language-tags v0.2.2 (latest: v0.3.2)
[INFO] [stderr]       Adding lock_api v0.3.4 (latest: v0.4.12)
[INFO] [stderr]       Adding memoffset v0.5.6 (latest: v0.9.1)
[INFO] [stderr]       Adding mio v0.6.23 (latest: v0.8.11)
[INFO] [stderr]       Adding miow v0.2.2 (latest: v0.6.0)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding parking_lot v0.9.0 (latest: v0.12.2)
[INFO] [stderr]       Adding parking_lot_core v0.6.3 (latest: v0.9.10)
[INFO] [stderr]       Adding percent-encoding v1.0.1 (latest: v2.3.1)
[INFO] [stderr]       Adding redox_syscall v0.1.57 (latest: v0.5.1)
[INFO] [stderr]       Adding rustc_version v0.2.3 (latest: v0.4.0)
[INFO] [stderr]       Adding scoped-tls v0.1.2 (latest: v1.0.1)
[INFO] [stderr]       Adding semver v0.9.0 (latest: v1.0.22)
[INFO] [stderr]       Adding semver-parser v0.7.0 (latest: v0.10.2)
[INFO] [stderr]       Adding serde_qs v0.4.6 (latest: v0.13.0)
[INFO] [stderr]       Adding smallvec v0.6.14 (latest: v1.13.2)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.60)
[INFO] [stderr]       Adding synstructure v0.12.6 (latest: v0.13.1)
[INFO] [stderr]       Adding time v0.1.45 (latest: v0.3.36)
[INFO] [stderr]       Adding tokio v0.1.22 (latest: v1.37.0)
[INFO] [stderr]       Adding try-lock v0.1.0 (latest: v0.2.5)
[INFO] [stderr]       Adding want v0.0.4 (latest: v0.3.1)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (latest: v0.13.0+wasi-0.2.0)
[INFO] [stderr]       Adding winapi v0.2.8 (latest: v0.3.9)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_qs v0.4.6
[INFO] [stderr]   Downloaded finchers-test v0.11.0
[INFO] [stderr]   Downloaded finchers-core v0.11.0
[INFO] [stderr]   Downloaded finchers-ext v0.11.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 96ac657bc27dfc21794d2540febcfc08876ef74a7cfabd8ee02e252ec649e3c9
[INFO] running `Command { std: "docker" "start" "-a" "96ac657bc27dfc21794d2540febcfc08876ef74a7cfabd8ee02e252ec649e3c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "96ac657bc27dfc21794d2540febcfc08876ef74a7cfabd8ee02e252ec649e3c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "96ac657bc27dfc21794d2540febcfc08876ef74a7cfabd8ee02e252ec649e3c9", kill_on_drop: false }`
[INFO] [stdout] 96ac657bc27dfc21794d2540febcfc08876ef74a7cfabd8ee02e252ec649e3c9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7a63bfb8a781158d7e2648f5316e77a6d8e15745d62d0815758c3170528dccd2
[INFO] running `Command { std: "docker" "start" "-a" "7a63bfb8a781158d7e2648f5316e77a6d8e15745d62d0815758c3170528dccd2", kill_on_drop: false }`
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[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]     Checking lock_api v0.3.4
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking net2 v0.2.39
[INFO] [stderr]    Compiling parking_lot_core v0.6.3
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking try-lock v0.1.0
[INFO] [stderr]     Checking scoped-tls v0.1.2
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking language-tags v0.2.2
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]     Checking either v1.11.0
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking http v0.1.21
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stderr]     Checking mio-uds v0.6.8
[INFO] [stderr]     Checking crossbeam-deque v0.7.4
[INFO] [stderr]     Checking tokio-executor v0.1.10
[INFO] [stderr]     Checking tokio-io v0.1.13
[INFO] [stderr]     Checking tokio-sync v0.1.8
[INFO] [stderr]     Checking want v0.0.4
[INFO] [stderr]     Checking relay v0.1.1
[INFO] [stderr]     Checking tokio-service v0.1.0
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking tokio-threadpool v0.1.18
[INFO] [stderr]     Checking tokio-timer v0.2.13
[INFO] [stderr]     Checking tokio-current-thread v0.1.7
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]     Checking tokio-codec v0.1.2
[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 tokio v0.1.22
[INFO] [stderr]     Checking tokio-core v0.1.18
[INFO] [stderr]    Compiling serde_derive v1.0.200
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]     Checking hyper v0.11.27
[INFO] [stderr]     Checking backtrace v0.3.71
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking finchers-core v0.11.0
[INFO] [stderr]     Checking finchers-ext v0.11.0
[INFO] [stderr]     Checking finchers-test v0.11.0
[INFO] [stderr]     Checking serde v1.0.200
[INFO] [stderr]     Checking serde_qs v0.4.6
[INFO] [stderr]     Checking serde_json v1.0.116
[INFO] [stderr]     Checking finchers-http v0.11.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: unnecessary parentheses around type
[INFO] [stdout]    --> src/path.rs:350:34
[INFO] [stdout]     |
[INFO] [stdout] 350 |     _marker: PhantomData<fn() -> (T)>,
[INFO] [stdout]     |                                  ^ ^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:6:9
[INFO] [stdout]     |
[INFO] [stdout] 6   | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[deny(unused_parens)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 350 -     _marker: PhantomData<fn() -> (T)>,
[INFO] [stdout] 350 +     _marker: PhantomData<fn() -> T>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unnecessary parentheses around type
[INFO] [stdout]    --> src/path.rs:350:34
[INFO] [stdout]     |
[INFO] [stdout] 350 |     _marker: PhantomData<fn() -> (T)>,
[INFO] [stdout]     |                                  ^ ^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:6:9
[INFO] [stdout]     |
[INFO] [stdout] 6   | #![deny(warnings)]
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     = note: `#[deny(unused_parens)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 350 -     _marker: PhantomData<fn() -> (T)>,
[INFO] [stdout] 350 +     _marker: PhantomData<fn() -> T>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/header.rs:123:34
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn as_fail(&self) -> Option<&Fail> {
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[deny(bare_trait_objects)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn as_fail(&self) -> Option<&dyn Fail> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/header.rs:123:34
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn as_fail(&self) -> Option<&Fail> {
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[deny(bare_trait_objects)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn as_fail(&self) -> Option<&dyn Fail> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely
[INFO] [stdout]    --> src/header.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ `E` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because it appears within the type `HeaderError<E>`
[INFO] [stdout]    --> src/header.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:42
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                                          ^^^^ required by this bound in `Fail`
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E: std::marker::Sync> {
[INFO] [stdout]     |                       +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely
[INFO] [stdout]    --> src/header.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ `E` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because it appears within the type `HeaderError<E>`
[INFO] [stdout]    --> src/header.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:35
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                                   ^^^^ required by this bound in `Fail`
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E: std::marker::Send> {
[INFO] [stdout]     |                       +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` doesn't implement `std::fmt::Debug`
[INFO] [stdout]    --> src/header.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ `E` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `HeaderError<E>` to implement `std::fmt::Debug`
[INFO] [stdout]    --> src/header.rs:106:10
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, Fail)]
[INFO] [stdout]     |          ^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                           ^^^^^ required by this bound in `Fail`
[INFO] [stdout]     = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E: std::fmt::Debug> {
[INFO] [stdout]     |                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely
[INFO] [stdout]    --> src/header.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ `E` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because it appears within the type `HeaderError<E>`
[INFO] [stdout]    --> src/header.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:42
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                                          ^^^^ required by this bound in `Fail`
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E: std::marker::Sync> {
[INFO] [stdout]     |                       +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely
[INFO] [stdout]    --> src/header.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ `E` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because it appears within the type `HeaderError<E>`
[INFO] [stdout]    --> src/header.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:35
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                                   ^^^^ required by this bound in `Fail`
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E: std::marker::Send> {
[INFO] [stdout]     |                       +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/json.rs:165:34
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn as_fail(&self) -> Option<&Fail> {
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn as_fail(&self) -> Option<&dyn Fail> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` doesn't implement `std::fmt::Debug`
[INFO] [stdout]    --> src/header.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ `E` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `HeaderError<E>` to implement `std::fmt::Debug`
[INFO] [stdout]    --> src/header.rs:106:10
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, Fail)]
[INFO] [stdout]     |          ^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                           ^^^^^ required by this bound in `Fail`
[INFO] [stdout]     = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E: std::fmt::Debug> {
[INFO] [stdout]     |                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/json.rs:165:34
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn as_fail(&self) -> Option<&Fail> {
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn as_fail(&self) -> Option<&dyn Fail> {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely
[INFO] [stdout]    --> src/path.rs:272:10
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ `E` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because it appears within the type `FromSegmentError<E>`
[INFO] [stdout]    --> src/path.rs:272:10
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:42
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                                          ^^^^ required by this bound in `Fail`
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E: std::marker::Sync> {
[INFO] [stdout]     |                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely
[INFO] [stdout]    --> src/path.rs:272:10
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ `E` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because it appears within the type `FromSegmentError<E>`
[INFO] [stdout]    --> src/path.rs:272:10
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:35
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                                   ^^^^ required by this bound in `Fail`
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E: std::marker::Send> {
[INFO] [stdout]     |                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` doesn't implement `std::fmt::Debug`
[INFO] [stdout]    --> src/path.rs:272:10
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ `E` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `FromSegmentError<E>` to implement `std::fmt::Debug`
[INFO] [stdout]    --> src/path.rs:271:10
[INFO] [stdout]     |
[INFO] [stdout] 271 | #[derive(Debug, Fail)]
[INFO] [stdout]     |          ^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                           ^^^^^ required by this bound in `Fail`
[INFO] [stdout]     = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E: std::fmt::Debug> {
[INFO] [stdout]     |                            +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely
[INFO] [stdout]    --> src/path.rs:272:10
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ `E` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because it appears within the type `FromSegmentError<E>`
[INFO] [stdout]    --> src/path.rs:272:10
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:42
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                                          ^^^^ required by this bound in `Fail`
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E: std::marker::Sync> {
[INFO] [stdout]     |                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely
[INFO] [stdout]    --> src/path.rs:272:10
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ `E` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because it appears within the type `FromSegmentError<E>`
[INFO] [stdout]    --> src/path.rs:272:10
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:35
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                                   ^^^^ required by this bound in `Fail`
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E: std::marker::Send> {
[INFO] [stdout]     |                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely
[INFO] [stdout]    --> src/query.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ `E` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because it appears within the type `QueryError<E>`
[INFO] [stdout]    --> src/query.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:42
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                                          ^^^^ required by this bound in `Fail`
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E: std::marker::Sync> {
[INFO] [stdout]     |                      +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` doesn't implement `std::fmt::Debug`
[INFO] [stdout]    --> src/path.rs:272:10
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^ `E` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `FromSegmentError<E>` to implement `std::fmt::Debug`
[INFO] [stdout]    --> src/path.rs:271:10
[INFO] [stdout]     |
[INFO] [stdout] 271 | #[derive(Debug, Fail)]
[INFO] [stdout]     |          ^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                           ^^^^^ required by this bound in `Fail`
[INFO] [stdout]     = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E: std::fmt::Debug> {
[INFO] [stdout]     |                            +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely
[INFO] [stdout]    --> src/query.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ `E` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because it appears within the type `QueryError<E>`
[INFO] [stdout]    --> src/query.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:35
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                                   ^^^^ required by this bound in `Fail`
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E: std::marker::Send> {
[INFO] [stdout]     |                      +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` doesn't implement `std::fmt::Debug`
[INFO] [stdout]    --> src/query.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ `E` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `QueryError<E>` to implement `std::fmt::Debug`
[INFO] [stdout]    --> src/query.rs:146:10
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Fail)]
[INFO] [stdout]     |          ^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                           ^^^^^ required by this bound in `Fail`
[INFO] [stdout]     = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E: std::fmt::Debug> {
[INFO] [stdout]     |                      +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely
[INFO] [stdout]    --> src/query.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ `E` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because it appears within the type `QueryError<E>`
[INFO] [stdout]    --> src/query.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:42
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                                          ^^^^ required by this bound in `Fail`
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E: std::marker::Sync> {
[INFO] [stdout]     |                      +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely
[INFO] [stdout]    --> src/query.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ `E` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because it appears within the type `QueryError<E>`
[INFO] [stdout]    --> src/query.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:35
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                                   ^^^^ required by this bound in `Fail`
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E: std::marker::Send> {
[INFO] [stdout]     |                      +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` doesn't implement `std::fmt::Debug`
[INFO] [stdout]    --> src/query.rs:147:10
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^ `E` cannot be formatted using `{:?}` because it doesn't implement `std::fmt::Debug`
[INFO] [stdout]     |
[INFO] [stdout] note: required for `QueryError<E>` to implement `std::fmt::Debug`
[INFO] [stdout]    --> src/query.rs:146:10
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Fail)]
[INFO] [stdout]     |          ^^^^^ unsatisfied trait bound introduced in this `derive` macro
[INFO] [stdout] note: required by a bound in `Fail`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/failure-0.1.8/src/lib.rs:108:27
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub trait Fail: Display + Debug + Send + Sync + 'static {
[INFO] [stdout]     |                           ^^^^^ required by this bound in `Fail`
[INFO] [stdout]     = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E: std::fmt::Debug> {
[INFO] [stdout]     |                      +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> src/header.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^ `E` cannot be formatted with the default formatter
[INFO] [stdout]     |
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]     = note: this error originates in the macro `$crate::format_args` which comes from the expansion of the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E: std::fmt::Display> {
[INFO] [stdout]     |                       +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `failure::core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/path.rs:82:26
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let s = s.trim().trim_left_matches("/").trim_right_matches("/");
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[deny(deprecated)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let s = s.trim().trim_start_matches("/").trim_right_matches("/");
[INFO] [stdout]    |                          ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `failure::core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/path.rs:82:49
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let s = s.trim().trim_left_matches("/").trim_right_matches("/");
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let s = s.trim().trim_left_matches("/").trim_end_matches("/");
[INFO] [stdout]    |                                                 ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> src/header.rs:106:17
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^ `E` cannot be formatted with the default formatter
[INFO] [stdout]     |
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]     = note: this error originates in the macro `$crate::format_args` which comes from the expansion of the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum HeaderError<E: std::fmt::Display> {
[INFO] [stdout]     |                       +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> src/path.rs:271:17
[INFO] [stdout]     |
[INFO] [stdout] 271 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^ `E` cannot be formatted with the default formatter
[INFO] [stdout]     |
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]     = note: this error originates in the macro `$crate::format_args` which comes from the expansion of the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E: std::fmt::Display> {
[INFO] [stdout]     |                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `failure::core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/path.rs:82:26
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let s = s.trim().trim_left_matches("/").trim_right_matches("/");
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[deny(deprecated)]` implied by `#[deny(warnings)]`
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let s = s.trim().trim_start_matches("/").trim_right_matches("/");
[INFO] [stdout]    |                          ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: use of deprecated method `failure::core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/path.rs:82:49
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let s = s.trim().trim_left_matches("/").trim_right_matches("/");
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let s = s.trim().trim_left_matches("/").trim_end_matches("/");
[INFO] [stdout]    |                                                 ~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> src/path.rs:271:17
[INFO] [stdout]     |
[INFO] [stdout] 271 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^ `E` cannot be formatted with the default formatter
[INFO] [stdout]     |
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]     = note: this error originates in the macro `$crate::format_args` which comes from the expansion of the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub enum FromSegmentError<E: std::fmt::Display> {
[INFO] [stdout]     |                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> src/query.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^ `E` cannot be formatted with the default formatter
[INFO] [stdout]     |
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]     = note: this error originates in the macro `$crate::format_args` which comes from the expansion of the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E: std::fmt::Display> {
[INFO] [stdout]     |                      +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `E` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> src/query.rs:146:17
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Fail)]
[INFO] [stdout]     |                 ^^^^ `E` cannot be formatted with the default formatter
[INFO] [stdout]     |
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
[INFO] [stdout]     = note: this error originates in the macro `$crate::format_args` which comes from the expansion of the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider restricting type parameter `E`
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum QueryError<E: std::fmt::Display> {
[INFO] [stdout]     |                      +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `finchers-http` (lib) due to 18 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 17 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `finchers-http` (lib test) due to 18 previous errors
[INFO] running `Command { std: "docker" "inspect" "7a63bfb8a781158d7e2648f5316e77a6d8e15745d62d0815758c3170528dccd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a63bfb8a781158d7e2648f5316e77a6d8e15745d62d0815758c3170528dccd2", kill_on_drop: false }`
[INFO] [stdout] 7a63bfb8a781158d7e2648f5316e77a6d8e15745d62d0815758c3170528dccd2
