[INFO] cloning repository https://github.com/nicoburns/rustdi
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nicoburns/rustdi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnicoburns%2Frustdi", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnicoburns%2Frustdi'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] df8f9d2ece2fc359d1afb21184dd4117e5ad56a7
[INFO] checking nicoburns/rustdi against master#b286722878e18db29a7fbe672be7c4d3b02e8e4d for pr-127655
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnicoburns%2Frustdi" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/nicoburns/rustdi on toolchain b286722878e18db29a7fbe672be7c4d3b02e8e4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b286722878e18db29a7fbe672be7c4d3b02e8e4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/nicoburns/rustdi
[INFO] finished tweaking git repo https://github.com/nicoburns/rustdi
[INFO] tweaked toml for git repo https://github.com/nicoburns/rustdi written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/nicoburns/rustdi 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" "+b286722878e18db29a7fbe672be7c4d3b02e8e4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-1-tc1/source/rustdi_derive/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr] warning: /workspace/builds/worker-1-tc1/source/rustdi/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr] warning: /workspace/builds/worker-1-tc1/source/rustdi_examples/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unsafe-any v0.4.2
[INFO] [stderr]   Downloaded quote v0.6.8
[INFO] [stderr]   Downloaded cfg-if v0.1.5
[INFO] [stderr]   Downloaded string v0.1.1
[INFO] [stderr]   Downloaded wincolor v1.0.1
[INFO] [stderr]   Downloaded log v0.4.5
[INFO] [stderr]   Downloaded tokio-udp v0.1.2
[INFO] [stderr]   Downloaded tokio-uds v0.2.2
[INFO] [stderr]   Downloaded tokio-current-thread v0.1.3
[INFO] [stderr]   Downloaded crossbeam-utils v0.5.0
[INFO] [stderr]   Downloaded tokio-fs v0.1.3
[INFO] [stderr]   Downloaded parking_lot v0.6.4
[INFO] [stderr]   Downloaded tokio-tcp v0.1.2
[INFO] [stderr]   Downloaded tokio v0.1.11
[INFO] [stderr]   Downloaded http v0.1.13
[INFO] [stderr]   Downloaded httparse v1.3.3
[INFO] [stderr]   Downloaded mio v0.6.16
[INFO] [stderr]   Downloaded slab v0.4.1
[INFO] [stderr]   Downloaded h2 v0.1.12
[INFO] [stderr]   Downloaded regex-syntax v0.6.2
[INFO] [stderr]   Downloaded regex v1.0.5
[INFO] [stderr]   Downloaded utf8-ranges v1.0.1
[INFO] [stderr]   Downloaded futures v0.1.24
[INFO] [stderr]   Downloaded termcolor v1.0.4
[INFO] [stderr]   Downloaded crossbeam-epoch v0.5.2
[INFO] [stderr]   Downloaded tokio-threadpool v0.1.7
[INFO] [stderr]   Downloaded lazycell v1.2.0
[INFO] [stderr]   Downloaded parking_lot_core v0.3.1
[INFO] [stderr]   Downloaded byteorder v1.2.6
[INFO] [stderr]   Downloaded tokio-io v0.1.9
[INFO] [stderr]   Downloaded tokio-timer v0.2.7
[INFO] [stderr]   Downloaded want v0.0.6
[INFO] [stderr]   Downloaded memchr v2.1.0
[INFO] [stderr]   Downloaded lock_api v0.1.4
[INFO] [stderr]   Downloaded humantime v1.1.1
[INFO] [stderr]   Downloaded syn v0.15.9
[INFO] [stderr]   Downloaded bytes v0.4.10
[INFO] [stderr]   Downloaded aho-corasick v0.6.8
[INFO] [stderr]   Downloaded winapi-util v0.1.1
[INFO] [stderr]   Downloaded env_logger v0.5.13
[INFO] [stderr]   Downloaded crossbeam-deque v0.6.1
[INFO] [stderr]   Downloaded smallvec v0.6.5
[INFO] [stderr]   Downloaded proc-macro2 v0.4.20
[INFO] [stderr]   Downloaded tokio-reactor v0.1.6
[INFO] [stderr]   Downloaded tokio-executor v0.1.5
[INFO] [stderr]   Downloaded lazy_static v1.1.0
[INFO] [stderr]   Downloaded pretty_env_logger v0.2.4
[INFO] [stderr]   Downloaded hyper v0.12.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+b286722878e18db29a7fbe672be7c4d3b02e8e4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ebea624d5b3f048cd197ef87a28dda6c1662959fd9fab86c0b5a477ca41d6f3b
[INFO] running `Command { std: "docker" "start" "-a" "ebea624d5b3f048cd197ef87a28dda6c1662959fd9fab86c0b5a477ca41d6f3b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ebea624d5b3f048cd197ef87a28dda6c1662959fd9fab86c0b5a477ca41d6f3b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ebea624d5b3f048cd197ef87a28dda6c1662959fd9fab86c0b5a477ca41d6f3b", kill_on_drop: false }`
[INFO] [stdout] ebea624d5b3f048cd197ef87a28dda6c1662959fd9fab86c0b5a477ca41d6f3b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+b286722878e18db29a7fbe672be7c4d3b02e8e4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 50f3d27e3e1d75a4d0f4c6131e01e284666812fd5acf0ba4c5a2f80e55106d27
[INFO] running `Command { std: "docker" "start" "-a" "50f3d27e3e1d75a4d0f4c6131e01e284666812fd5acf0ba4c5a2f80e55106d27", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/rustdi_examples/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr] warning: /opt/rustwide/workdir/rustdi/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr] warning: /opt/rustwide/workdir/rustdi_derive/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]     Checking libc v0.2.43
[INFO] [stderr]     Checking cfg-if v0.1.5
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]     Checking futures v0.1.24
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]     Checking byteorder v1.2.6
[INFO] [stderr]     Checking rand_core v0.3.0
[INFO] [stderr]     Checking crossbeam-utils v0.5.0
[INFO] [stderr]     Checking slab v0.4.1
[INFO] [stderr]    Compiling proc-macro2 v0.4.20
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking stable_deref_trait v1.1.1
[INFO] [stderr]     Checking lazycell v1.2.0
[INFO] [stderr]     Checking nodrop v0.1.12
[INFO] [stderr]     Checking traitobject v0.1.0
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]     Checking log v0.4.5
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]     Checking owning_ref v0.3.3
[INFO] [stderr]     Checking arrayvec v0.4.7
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking unsafe-any v0.4.2
[INFO] [stderr]     Checking ucd-util v0.1.1
[INFO] [stderr]    Compiling regex v1.0.5
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking smallvec v0.6.5
[INFO] [stderr]     Checking rand_core v0.2.2
[INFO] [stderr]     Checking typemap v0.3.3
[INFO] [stderr]     Checking lock_api v0.1.4
[INFO] [stderr]    Compiling httparse v1.3.3
[INFO] [stderr]     Checking utf8-ranges v1.0.1
[INFO] [stderr]     Checking regex-syntax v0.6.2
[INFO] [stderr]     Checking itoa v0.4.3
[INFO] [stderr]     Checking humantime v1.1.1
[INFO] [stderr]     Checking try-lock v0.2.2
[INFO] [stderr]     Checking termcolor v1.0.4
[INFO] [stderr]     Checking indexmap v1.0.1
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]    Compiling memchr v2.1.0
[INFO] [stderr]     Checking string v0.1.1
[INFO] [stderr]     Checking unicode-xid v0.1.0
[INFO] [stderr]     Checking iovec v0.1.2
[INFO] [stderr]     Checking rand v0.5.5
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking time v0.1.40
[INFO] [stderr]     Checking bytes v0.4.10
[INFO] [stderr]     Checking crossbeam-epoch v0.5.2
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking mio v0.6.16
[INFO] [stderr]    Compiling quote v0.6.8
[INFO] [stderr]     Checking crossbeam-deque v0.6.1
[INFO] [stderr]     Checking aho-corasick v0.6.8
[INFO] [stderr]    Compiling syn v0.15.9
[INFO] [stderr]     Checking http v0.1.13
[INFO] [stderr]     Checking tokio-executor v0.1.5
[INFO] [stderr]     Checking tokio-io v0.1.9
[INFO] [stderr]     Checking rustdi v0.1.0 (/opt/rustwide/workdir/rustdi)
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking want v0.0.6
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]     Checking tokio-timer v0.2.7
[INFO] [stderr]     Checking tokio-current-thread v0.1.3
[INFO] [stderr]     Checking tokio-threadpool v0.1.7
[INFO] [stderr]     Checking tokio-codec v0.1.1
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]     Checking tokio-reactor v0.1.6
[INFO] [stderr]     Checking tokio-fs v0.1.3
[INFO] [stderr]     Checking tokio-udp v0.1.2
[INFO] [stderr]     Checking tokio-uds v0.2.2
[INFO] [stderr]     Checking tokio-tcp v0.1.2
[INFO] [stderr]     Checking tokio v0.1.11
[INFO] [stderr]     Checking h2 v0.1.12
[INFO] [stderr]     Checking env_logger v0.5.13
[INFO] [stderr]     Checking pretty_env_logger v0.2.4
[INFO] [stderr]     Checking hyper v0.12.11
[INFO] [stderr]     Checking rustdi_derive v0.1.0 (/opt/rustwide/workdir/rustdi_derive)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> rustdi_derive/src/lib.rs:56:92
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let original_func_ident = Ident::new(format!("{}_orig", ident).as_str(), ident.span());;
[INFO] [stdout]    |                                                                                            ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> rustdi_derive/src/lib.rs:56:92
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let original_func_ident = Ident::new(format!("{}_orig", ident).as_str(), ident.span());;
[INFO] [stdout]    |                                                                                            ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustdi_derive/src/lib.rs:51:60
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ReturnType::Default => Box::new(quote!{()}) as Box<ToTokens>,
[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: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ReturnType::Default => Box::new(quote!{()}) as Box<dyn ToTokens>,
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustdi_derive/src/lib.rs:52:46
[INFO] [stdout]    |
[INFO] [stdout] 52 |         ReturnType::Type(_, ty) => ty as Box<ToTokens>,
[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] 52 |         ReturnType::Type(_, ty) => ty as Box<dyn ToTokens>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustdi_derive/src/lib.rs:51:60
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ReturnType::Default => Box::new(quote!{()}) as Box<ToTokens>,
[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: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ReturnType::Default => Box::new(quote!{()}) as Box<dyn ToTokens>,
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustdi_derive/src/lib.rs:52:46
[INFO] [stdout]    |
[INFO] [stdout] 52 |         ReturnType::Type(_, ty) => ty as Box<ToTokens>,
[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] 52 |         ReturnType::Type(_, ty) => ty as Box<dyn ToTokens>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> rustdi_derive/src/lib.rs:56:92
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let original_func_ident = Ident::new(format!("{}_orig", ident).as_str(), ident.span());;
[INFO] [stdout]    |                                                                                            ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustdi_derive/src/lib.rs:51:60
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ReturnType::Default => Box::new(quote!{()}) as Box<ToTokens>,
[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: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 51 |         ReturnType::Default => Box::new(quote!{()}) as Box<dyn ToTokens>,
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustdi_derive/src/lib.rs:52:46
[INFO] [stdout]    |
[INFO] [stdout] 52 |         ReturnType::Type(_, ty) => ty as Box<ToTokens>,
[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] 52 |         ReturnType::Type(_, ty) => ty as Box<dyn ToTokens>,
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rustdi_examples v0.1.0 (/opt/rustwide/workdir/rustdi_examples)
[INFO] [stdout] warning: unused imports: `Chunk`, `Client`, `StatusCode`, and `header`
[INFO] [stdout]   --> rustdi_examples/src/router.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use hyper::{Body, Chunk, Client, Method, Request, Response, Server, StatusCode, header, Error};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^                                     ^^^^^^^^^^  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `read_handler`
[INFO] [stdout]   --> rustdi_examples/src/router.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | use common::handlers::{read_handler, write_handler};
[INFO] [stdout]    |                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Chunk`, `Client`, `StatusCode`, and `header`
[INFO] [stdout]   --> rustdi_examples/src/router.rs:10:19
[INFO] [stdout]    |
[INFO] [stdout] 10 | use hyper::{Body, Chunk, Client, Method, Request, Response, Server, StatusCode, header, Error};
[INFO] [stdout]    |                   ^^^^^  ^^^^^^                                     ^^^^^^^^^^  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `read_handler`
[INFO] [stdout]   --> rustdi_examples/src/router.rs:20:24
[INFO] [stdout]    |
[INFO] [stdout] 20 | use common::handlers::{read_handler, write_handler};
[INFO] [stdout]    |                        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustdi_examples/src/router.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 |     routes: HashMap<(Method, String), Box<Fn(&RequestResolver<Request<Body>, R>) -> Result<(), ResolveError> + Send + Sync + 'static>>, 
[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: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     routes: HashMap<(Method, String), Box<dyn Fn(&RequestResolver<Request<Body>, R>) -> Result<(), ResolveError> + Send + Sync + 'static>>, 
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustdi_examples/src/router.rs:71:69
[INFO] [stdout]    |
[INFO] [stdout] 71 | ... &str) -> Option<&Box<Fn(&RequestResolver<Request<Body>, R>) -> Result<(), ResolveError> + Send + Sync + 'static>> {
[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] 71 |     pub fn lookup(&self, method: Method, path: &str) -> Option<&Box<dyn Fn(&RequestResolver<Request<Body>, R>) -> Result<(), ResolveError> + Send + Sync + 'static>> {
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustdi_examples/src/router.rs:57:43
[INFO] [stdout]    |
[INFO] [stdout] 57 |     routes: HashMap<(Method, String), Box<Fn(&RequestResolver<Request<Body>, R>) -> Result<(), ResolveError> + Send + Sync + 'static>>, 
[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: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     routes: HashMap<(Method, String), Box<dyn Fn(&RequestResolver<Request<Body>, R>) -> Result<(), ResolveError> + Send + Sync + 'static>>, 
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustdi_examples/src/router.rs:71:69
[INFO] [stdout]    |
[INFO] [stdout] 71 | ... &str) -> Option<&Box<Fn(&RequestResolver<Request<Body>, R>) -> Result<(), ResolveError> + Send + Sync + 'static>> {
[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] 71 |     pub fn lookup(&self, method: Method, path: &str) -> Option<&Box<dyn Fn(&RequestResolver<Request<Body>, R>) -> Result<(), ResolveError> + Send + Sync + 'static>> {
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustdi_examples/src/router.rs:67:48
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let handler = Box::new(handler) as Box<Fn(&RequestResolver<Request<Body>, R>) -> Result<(), ResolveError> + Send + Sync + 'static>;
[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] 67 |         let handler = Box::new(handler) as Box<dyn Fn(&RequestResolver<Request<Body>, R>) -> Result<(), ResolveError> + Send + Sync + 'static>;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> rustdi_examples/src/router.rs:67:48
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let handler = Box::new(handler) as Box<Fn(&RequestResolver<Request<Body>, R>) -> Result<(), ResolveError> + Send + Sync + 'static>;
[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] 67 |         let handler = Box::new(handler) as Box<dyn Fn(&RequestResolver<Request<Body>, R>) -> Result<(), ResolveError> + Send + Sync + 'static>;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stream`
[INFO] [stdout]   --> rustdi_examples/src/router.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | use futures::{future, Future, Stream};
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stream`
[INFO] [stdout]   --> rustdi_examples/src/router.rs:12:31
[INFO] [stdout]    |
[INFO] [stdout] 12 | use futures::{future, Future, Stream};
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.50s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "50f3d27e3e1d75a4d0f4c6131e01e284666812fd5acf0ba4c5a2f80e55106d27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "50f3d27e3e1d75a4d0f4c6131e01e284666812fd5acf0ba4c5a2f80e55106d27", kill_on_drop: false }`
[INFO] [stdout] 50f3d27e3e1d75a4d0f4c6131e01e284666812fd5acf0ba4c5a2f80e55106d27
