[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#b389b0ab72cb0aa9acf4df0ae0c0e12090782da9 for pr-128351-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnicoburns%2Frustdi" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/nicoburns/rustdi on toolchain b389b0ab72cb0aa9acf4df0ae0c0e12090782da9
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b389b0ab72cb0aa9acf4df0ae0c0e12090782da9" "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-0-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" "+b389b0ab72cb0aa9acf4df0ae0c0e12090782da9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-0-tc1/source/rustdi/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr] warning: /workspace/builds/worker-0-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-0-tc1/source/rustdi_examples/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded try-lock v0.2.2
[INFO] [stderr]   Downloaded hyper v0.12.11
[INFO] [stderr]   Downloaded futures-cpupool v0.1.8
[INFO] [stderr]   Downloaded indexmap v1.0.1
[INFO] [stderr]   Downloaded tokio-current-thread v0.1.3
[INFO] [stderr]   Downloaded tokio-threadpool v0.1.7
[INFO] [stderr]   Downloaded http v0.1.13
[INFO] [stderr]   Downloaded tokio v0.1.11
[INFO] [stderr]   Downloaded fnv v1.0.6
[INFO] [stderr]   Downloaded syn v0.15.9
[INFO] [stderr]   Downloaded h2 v0.1.12
[INFO] [stderr]   Downloaded futures v0.1.24
[INFO] [stderr]   Downloaded tokio-fs v0.1.3
[INFO] [stderr]   Downloaded crossbeam-deque v0.6.1
[INFO] [stderr]   Downloaded tokio-codec v0.1.1
[INFO] [stderr]   Downloaded tokio-udp v0.1.2
[INFO] [stderr]   Downloaded mio-uds v0.6.7
[INFO] [stderr]   Downloaded tokio-uds v0.2.2
[INFO] [stderr]   Downloaded tokio-io v0.1.9
[INFO] [stderr]   Downloaded tokio-timer v0.2.7
[INFO] [stderr]   Downloaded string v0.1.1
[INFO] [stderr]   Downloaded tokio-tcp v0.1.2
[INFO] [stderr]   Downloaded want v0.0.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+b389b0ab72cb0aa9acf4df0ae0c0e12090782da9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 49c3e09f0ecd2da1717747e0c44a4fa57cccedcd0c9278686b5531096f8a672c
[INFO] running `Command { std: "docker" "start" "-a" "49c3e09f0ecd2da1717747e0c44a4fa57cccedcd0c9278686b5531096f8a672c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "49c3e09f0ecd2da1717747e0c44a4fa57cccedcd0c9278686b5531096f8a672c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49c3e09f0ecd2da1717747e0c44a4fa57cccedcd0c9278686b5531096f8a672c", kill_on_drop: false }`
[INFO] [stdout] 49c3e09f0ecd2da1717747e0c44a4fa57cccedcd0c9278686b5531096f8a672c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+b389b0ab72cb0aa9acf4df0ae0c0e12090782da9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6075f65e32a8ae97c94b1f11d35cbf7d4449ac4e32dff1d1f7f02aa50328a311
[INFO] running `Command { std: "docker" "start" "-a" "6075f65e32a8ae97c94b1f11d35cbf7d4449ac4e32dff1d1f7f02aa50328a311", 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]     Checking futures v0.1.24
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]     Checking byteorder v1.2.6
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]     Checking rand_core v0.2.2
[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 log v0.4.5
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking stable_deref_trait v1.1.1
[INFO] [stderr]     Checking smallvec v0.6.5
[INFO] [stderr]     Checking lazycell v1.2.0
[INFO] [stderr]     Checking nodrop v0.1.12
[INFO] [stderr]     Checking owning_ref v0.3.3
[INFO] [stderr]    Compiling memchr v2.1.0
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]     Checking arrayvec v0.4.7
[INFO] [stderr]    Compiling traitobject v0.1.0
[INFO] [stderr]     Checking ucd-util v0.1.1
[INFO] [stderr]     Checking lock_api v0.1.4
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling regex v1.0.5
[INFO] [stderr]     Checking regex-syntax v0.6.2
[INFO] [stderr]     Checking crossbeam-epoch v0.5.2
[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 bytes v0.4.10
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking crossbeam-deque v0.6.1
[INFO] [stderr]    Compiling unsafe-any v0.4.2
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking mio v0.6.16
[INFO] [stderr]     Checking itoa v0.4.3
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking aho-corasick v0.6.8
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking utf8-ranges v1.0.1
[INFO] [stderr]    Compiling httparse v1.3.3
[INFO] [stderr]     Checking http v0.1.13
[INFO] [stderr]    Compiling quote v0.6.8
[INFO] [stderr]     Checking tokio-executor v0.1.5
[INFO] [stderr]     Checking tokio-io v0.1.9
[INFO] [stderr]     Checking tokio-current-thread v0.1.3
[INFO] [stderr]     Checking tokio-timer v0.2.7
[INFO] [stderr]     Checking rustdi v0.1.0 (/opt/rustwide/workdir/rustdi)
[INFO] [stderr]     Checking humantime v1.1.1
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]     Checking tokio-threadpool v0.1.7
[INFO] [stderr]    Compiling typemap v0.3.3
[INFO] [stderr]     Checking tokio-codec v0.1.1
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking termcolor v1.0.4
[INFO] [stderr]     Checking string v0.1.1
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]     Checking indexmap v1.0.1
[INFO] [stderr]     Checking try-lock v0.2.2
[INFO] [stderr]     Checking want v0.0.6
[INFO] [stderr]     Checking tokio-reactor v0.1.6
[INFO] [stderr]    Compiling syn v0.15.9
[INFO] [stderr]     Checking tokio-fs v0.1.3
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking time v0.1.40
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking tokio-tcp v0.1.2
[INFO] [stderr]     Checking tokio-uds v0.2.2
[INFO] [stderr]     Checking tokio-udp 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: 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: 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] [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: 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: 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: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: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: 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: 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: 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 28.14s
[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 2`
[INFO] running `Command { std: "docker" "inspect" "6075f65e32a8ae97c94b1f11d35cbf7d4449ac4e32dff1d1f7f02aa50328a311", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6075f65e32a8ae97c94b1f11d35cbf7d4449ac4e32dff1d1f7f02aa50328a311", kill_on_drop: false }`
[INFO] [stdout] 6075f65e32a8ae97c94b1f11d35cbf7d4449ac4e32dff1d1f7f02aa50328a311
[INFO] checking nicoburns/rustdi against try#16d823b1c168ce52c66ccc00dfd686f775a45c65 for pr-128351-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnicoburns%2Frustdi" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/nicoburns/rustdi on toolchain 16d823b1c168ce52c66ccc00dfd686f775a45c65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+16d823b1c168ce52c66ccc00dfd686f775a45c65" "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-0-tc2/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" "+16d823b1c168ce52c66ccc00dfd686f775a45c65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-0-tc2/source/rustdi_examples/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr] warning: /workspace/builds/worker-0-tc2/source/rustdi/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr] warning: /workspace/builds/worker-0-tc2/source/rustdi_derive/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+16d823b1c168ce52c66ccc00dfd686f775a45c65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c51ce39db657afcfdcda96cf4c859aaac0eb67d8df605149e7f327d921045076
[INFO] running `Command { std: "docker" "start" "-a" "c51ce39db657afcfdcda96cf4c859aaac0eb67d8df605149e7f327d921045076", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c51ce39db657afcfdcda96cf4c859aaac0eb67d8df605149e7f327d921045076", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c51ce39db657afcfdcda96cf4c859aaac0eb67d8df605149e7f327d921045076", kill_on_drop: false }`
[INFO] [stdout] c51ce39db657afcfdcda96cf4c859aaac0eb67d8df605149e7f327d921045076
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+16d823b1c168ce52c66ccc00dfd686f775a45c65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f552066ff1a09ab6c589abcbf99d25bf3b549f0d6bb63e6a2ef49523ccbc3bb6
[INFO] running `Command { std: "docker" "start" "-a" "f552066ff1a09ab6c589abcbf99d25bf3b549f0d6bb63e6a2ef49523ccbc3bb6", kill_on_drop: false }`
[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] warning: /opt/rustwide/workdir/rustdi_examples/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]     Checking futures v0.1.24
[INFO] [stderr]     Checking byteorder v1.2.6
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]     Checking rand_core v0.2.2
[INFO] [stderr]     Checking crossbeam-utils v0.5.0
[INFO] [stderr]     Checking log v0.4.5
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking slab v0.4.1
[INFO] [stderr]    Compiling proc-macro2 v0.4.20
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]     Checking stable_deref_trait v1.1.1
[INFO] [stderr]     Checking owning_ref v0.3.3
[INFO] [stderr]     Checking smallvec v0.6.5
[INFO] [stderr]     Checking lazycell v1.2.0
[INFO] [stderr]     Checking lock_api v0.1.4
[INFO] [stderr]     Checking nodrop v0.1.12
[INFO] [stderr]    Compiling memchr v2.1.0
[INFO] [stderr]     Checking arrayvec v0.4.7
[INFO] [stderr]     Checking memoffset v0.2.1
[INFO] [stderr]    Compiling regex v1.0.5
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]     Checking ucd-util v0.1.1
[INFO] [stderr]    Compiling traitobject v0.1.0
[INFO] [stderr]     Checking regex-syntax v0.6.2
[INFO] [stderr]     Checking iovec v0.1.2
[INFO] [stderr]     Checking rand v0.5.5
[INFO] [stderr]     Checking bytes v0.4.10
[INFO] [stderr]     Checking num_cpus v1.8.0
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking crossbeam-epoch v0.5.2
[INFO] [stderr]     Checking crossbeam-deque v0.6.1
[INFO] [stderr]     Checking mio v0.6.16
[INFO] [stderr]    Compiling unsafe-any v0.4.2
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking aho-corasick v0.6.8
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking utf8-ranges v1.0.1
[INFO] [stderr]     Checking itoa v0.4.3
[INFO] [stderr]    Compiling httparse v1.3.3
[INFO] [stderr]     Checking humantime v1.1.1
[INFO] [stderr]     Checking http v0.1.13
[INFO] [stderr]    Compiling typemap v0.3.3
[INFO] [stderr]     Checking tokio-executor v0.1.5
[INFO] [stderr]     Checking tokio-io v0.1.9
[INFO] [stderr]     Checking tokio-current-thread v0.1.3
[INFO] [stderr]     Checking tokio-timer v0.2.7
[INFO] [stderr]     Checking tokio-codec v0.1.1
[INFO] [stderr]     Checking rustdi v0.1.0 (/opt/rustwide/workdir/rustdi)
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]    Compiling quote v0.6.8
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking termcolor v1.0.4
[INFO] [stderr]     Checking tokio-threadpool v0.1.7
[INFO] [stderr]     Checking string v0.1.1
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]     Checking indexmap v1.0.1
[INFO] [stderr]     Checking try-lock v0.2.2
[INFO] [stderr]    Compiling syn v0.15.9
[INFO] [stderr]     Checking tokio-reactor v0.1.6
[INFO] [stderr]     Checking want v0.0.6
[INFO] [stderr]     Checking futures-cpupool v0.1.8
[INFO] [stderr]     Checking tokio-fs v0.1.3
[INFO] [stderr]     Checking time v0.1.40
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]     Checking tokio-uds v0.2.2
[INFO] [stderr]     Checking tokio-udp v0.1.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: 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: 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] [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 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 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 25.58s
[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 2`
[INFO] running `Command { std: "docker" "inspect" "f552066ff1a09ab6c589abcbf99d25bf3b549f0d6bb63e6a2ef49523ccbc3bb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f552066ff1a09ab6c589abcbf99d25bf3b549f0d6bb63e6a2ef49523ccbc3bb6", kill_on_drop: false }`
[INFO] [stdout] f552066ff1a09ab6c589abcbf99d25bf3b549f0d6bb63e6a2ef49523ccbc3bb6
