[INFO] fetching crate roa-core 0.5.1...
[INFO] checking roa-core-0.5.1 against beta-2021-10-15 for beta-1.56-3
[INFO] extracting crate roa-core 0.5.1 into /workspace/builds/worker-6/source
[INFO] validating manifest of crates.io crate roa-core 0.5.1 on toolchain beta-2021-10-15
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate roa-core 0.5.1
[INFO] finished tweaking crates.io crate roa-core 0.5.1
[INFO] tweaked toml for crates.io crate roa-core 0.5.1 written to /workspace/builds/worker-6/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cd118125a225aa40cb5e277ec9848a8937dedd13b3c42fba18912b9836efe0b0
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "cd118125a225aa40cb5e277ec9848a8937dedd13b3c42fba18912b9836efe0b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cd118125a225aa40cb5e277ec9848a8937dedd13b3c42fba18912b9836efe0b0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd118125a225aa40cb5e277ec9848a8937dedd13b3c42fba18912b9836efe0b0", kill_on_drop: false }`
[INFO] [stdout] cd118125a225aa40cb5e277ec9848a8937dedd13b3c42fba18912b9836efe0b0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 424bfc15b685cf0bcb6b8fc9bd594b125e5763fa47393b843f13998fbe85a564
[INFO] running `Command { std: "docker" "start" "-a" "424bfc15b685cf0bcb6b8fc9bd594b125e5763fa47393b843f13998fbe85a564", kill_on_drop: false }`
[INFO] [stderr]     Checking tokio v0.2.25
[INFO] [stderr]    Compiling async-attributes v1.1.2
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stderr]     Checking value-bag v1.0.0-alpha.7
[INFO] [stderr]     Checking futures-util v0.3.17
[INFO] [stderr]     Checking log v0.4.14
[INFO] [stderr]     Checking tracing v0.1.29
[INFO] [stderr]     Checking polling v2.1.0
[INFO] [stderr]     Checking want v0.3.0
[INFO] [stderr]     Checking kv-log-macro v1.0.7
[INFO] [stderr]     Checking async-io v1.6.0
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking async-global-executor v2.0.2
[INFO] [stderr]     Checking async-process v1.2.0
[INFO] [stderr]     Checking async-std v1.10.0
[INFO] [stderr]     Checking tokio-util v0.3.1
[INFO] [stderr]     Checking futures-executor v0.3.17
[INFO] [stderr]     Checking h2 v0.2.7
[INFO] [stderr]     Checking futures v0.3.17
[INFO] [stderr]     Checking hyper v0.13.10
[INFO] [stderr]     Checking roa-core v0.5.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:33:42
[INFO] [stdout]     |
[INFO] [stdout] 33  |         $crate::status!($status_code, "");
[INFO] [stdout]     |                                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/context.rs:154:28
[INFO] [stdout]     |
[INFO] [stdout] 154 |             .ok_or_else(|| status!(StatusCode::BAD_REQUEST))?;
[INFO] [stdout]     |                            -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `status` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:36:54
[INFO] [stdout]     |
[INFO] [stdout] 36  |         $crate::status!($status_code, $message, true);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/context.rs:154:28
[INFO] [stdout]     |
[INFO] [stdout] 154 |             .ok_or_else(|| status!(StatusCode::BAD_REQUEST))?;
[INFO] [stdout]     |                            -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::status` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:36:54
[INFO] [stdout]     |
[INFO] [stdout] 36  |         $crate::status!($status_code, $message, true);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/context.rs:157:28
[INFO] [stdout]     |
[INFO] [stdout] 157 |             .map_err(|err| status!(StatusCode::BAD_REQUEST, err))
[INFO] [stdout]     |                            ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `status` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:70:72
[INFO] [stdout]     |
[INFO] [stdout] 70  |         return core::result::Result::Err($crate::status!($status_code));
[INFO] [stdout]     |                                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/middleware.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         throw!(StatusCode::PERMANENT_REDIRECT)
[INFO] [stdout]     |         -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `throw`
[INFO] [stdout]     = note: this warning originates in the macro `throw` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:33:42
[INFO] [stdout]     |
[INFO] [stdout] 33  |         $crate::status!($status_code, "");
[INFO] [stdout]     |                                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/middleware.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         throw!(StatusCode::PERMANENT_REDIRECT)
[INFO] [stdout]     |         -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `status`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::status` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:36:54
[INFO] [stdout]     |
[INFO] [stdout] 36  |         $crate::status!($status_code, $message, true);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/middleware.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         throw!(StatusCode::PERMANENT_REDIRECT)
[INFO] [stdout]     |         -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `status`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::status` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:33:42
[INFO] [stdout]     |
[INFO] [stdout] 33  |         $crate::status!($status_code, "");
[INFO] [stdout]     |                                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/middleware.rs:327:34
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let app = App::new().end(status!(StatusCode::BAD_REQUEST));
[INFO] [stdout]     |                                  -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `status` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:36:54
[INFO] [stdout]     |
[INFO] [stdout] 36  |         $crate::status!($status_code, $message, true);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/middleware.rs:327:34
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let app = App::new().end(status!(StatusCode::BAD_REQUEST));
[INFO] [stdout]     |                                  -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::status` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:33:42
[INFO] [stdout]     |
[INFO] [stdout] 33  |         $crate::status!($status_code, "");
[INFO] [stdout]     |                                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/context.rs:154:28
[INFO] [stdout]     |
[INFO] [stdout] 154 |             .ok_or_else(|| status!(StatusCode::BAD_REQUEST))?;
[INFO] [stdout]     |                            -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `status` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:36:54
[INFO] [stdout]     |
[INFO] [stdout] 36  |         $crate::status!($status_code, $message, true);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/context.rs:154:28
[INFO] [stdout]     |
[INFO] [stdout] 154 |             .ok_or_else(|| status!(StatusCode::BAD_REQUEST))?;
[INFO] [stdout]     |                            -------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::status` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:36:54
[INFO] [stdout]     |
[INFO] [stdout] 36  |         $crate::status!($status_code, $message, true);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/context.rs:157:28
[INFO] [stdout]     |
[INFO] [stdout] 157 |             .map_err(|err| status!(StatusCode::BAD_REQUEST, err))
[INFO] [stdout]     |                            ------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `status` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:70:72
[INFO] [stdout]     |
[INFO] [stdout] 70  |         return core::result::Result::Err($crate::status!($status_code));
[INFO] [stdout]     |                                                                        ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/middleware.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         throw!(StatusCode::PERMANENT_REDIRECT)
[INFO] [stdout]     |         -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `throw`
[INFO] [stdout]     = note: this warning originates in the macro `throw` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:33:42
[INFO] [stdout]     |
[INFO] [stdout] 33  |         $crate::status!($status_code, "");
[INFO] [stdout]     |                                          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/middleware.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         throw!(StatusCode::PERMANENT_REDIRECT)
[INFO] [stdout]     |         -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `status`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::status` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/err.rs:36:54
[INFO] [stdout]     |
[INFO] [stdout] 36  |         $crate::status!($status_code, $message, true);
[INFO] [stdout]     |                                                      ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/middleware.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |         throw!(StatusCode::PERMANENT_REDIRECT)
[INFO] [stdout]     |         -------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `status`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::status` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `App` in the current scope
[INFO] [stdout]    --> src/middleware.rs:327:24
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let app = App::new().end(status!(StatusCode::BAD_REQUEST));
[INFO] [stdout]     |                        ^^^ function or associated item not found in `App<_, _>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/app.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout] 84  | pub struct App<S, T> {
[INFO] [stdout]     | -------------------- function or associated item `new` not found for this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `App` in the current scope
[INFO] [stdout]    --> src/middleware.rs:335:24
[INFO] [stdout]     |
[INFO] [stdout] 335 |         let app = App::new().end(HELLO.to_owned());
[INFO] [stdout]     |                        ^^^ function or associated item not found in `App<_, _>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/app.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout] 84  | pub struct App<S, T> {
[INFO] [stdout]     | -------------------- function or associated item `new` not found for this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `App` in the current scope
[INFO] [stdout]    --> src/middleware.rs:350:24
[INFO] [stdout]     |
[INFO] [stdout] 350 |         let app = App::new().end(HELLO);
[INFO] [stdout]     |                        ^^^ function or associated item not found in `App<_, _>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/app.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout] 84  | pub struct App<S, T> {
[INFO] [stdout]     | -------------------- function or associated item `new` not found for this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `App` in the current scope
[INFO] [stdout]    --> src/middleware.rs:365:24
[INFO] [stdout]     |
[INFO] [stdout] 365 |         let app = App::new().end("/target".parse::<Uri>().unwrap());
[INFO] [stdout]     |                        ^^^ function or associated item not found in `App<_, _>`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/app.rs:84:1
[INFO] [stdout]     |
[INFO] [stdout] 84  | pub struct App<S, T> {
[INFO] [stdout]     | -------------------- function or associated item `new` not found for this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]    --> src/middleware.rs:317:19
[INFO] [stdout]     |
[INFO] [stdout] 317 |     use futures::{AsyncReadExt, TryStreamExt};
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TryStreamExt`
[INFO] [stdout]    --> src/middleware.rs:317:33
[INFO] [stdout]     |
[INFO] [stdout] 317 |     use futures::{AsyncReadExt, TryStreamExt};
[INFO] [stdout]     |                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `roa-core` due to 5 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "424bfc15b685cf0bcb6b8fc9bd594b125e5763fa47393b843f13998fbe85a564", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "424bfc15b685cf0bcb6b8fc9bd594b125e5763fa47393b843f13998fbe85a564", kill_on_drop: false }`
[INFO] [stdout] 424bfc15b685cf0bcb6b8fc9bd594b125e5763fa47393b843f13998fbe85a564
