[INFO] crate silver-rs 0.2.0-dev is already in cache
[INFO] checking silver-rs-0.2.0-dev against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] extracting crate silver-rs 0.2.0-dev into /workspace/builds/worker-7/source
[INFO] validating manifest of crates.io crate silver-rs 0.2.0-dev on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking crates.io crate silver-rs 0.2.0-dev
[INFO] finished tweaking crates.io crate silver-rs 0.2.0-dev
[INFO] tweaked toml for crates.io crate silver-rs 0.2.0-dev written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 5a5235a458686849357b62208cb2c1ea033c17c017bb6f2f9f8c5514f75f76bd
[INFO] running `"docker" "start" "-a" "5a5235a458686849357b62208cb2c1ea033c17c017bb6f2f9f8c5514f75f76bd"`
[INFO] [stderr]    Compiling hyper v0.12.35
[INFO] [stderr]     Checking tokio-codec v0.1.2
[INFO] [stderr]     Checking tokio-fs v0.1.7
[INFO] [stderr]     Checking tokio-reactor v0.1.12
[INFO] [stderr]     Checking tokio-uds v0.2.6
[INFO] [stderr]     Checking tokio-tcp v0.1.4
[INFO] [stderr]     Checking tokio-udp v0.1.6
[INFO] [stderr]     Checking tokio v0.1.22
[INFO] [stderr]     Checking silver-rs v0.2.0-dev (/opt/rustwide/workdir)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/app/service.rs:77:20
[INFO] [stderr]    |
[INFO] [stderr] 77 |     in_flight: Box<Future<Item = Output, Error = Error> + Send>,
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = Output, Error = Error> + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/error.rs:7:26
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub type CritError = Box<StdError + Send + Sync + 'static>;
[INFO] [stderr]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn StdError + Send + Sync + 'static`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/output/body.rs:52:28
[INFO] [stderr]    |
[INFO] [stderr] 52 |         S::Error: Into<Box<StdError + Send + Sync + 'static>>,
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn StdError + Send + Sync + 'static`
[INFO] [stderr] 
[INFO] [stderr] warning: unused label
[INFO] [stderr]    --> src/router/recognizer.rs:177:9
[INFO] [stderr]     |
[INFO] [stderr] 177 |         'walk: while pos < path.len() {
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/router/route.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 | /         Fn(&Context, &mut RouterContext) -> Box<Future<Item = Output, Error = Error> + Send>
[INFO] [stderr] 17 | |             + Send
[INFO] [stderr] 18 | |             + Sync
[INFO] [stderr] 19 | |             + 'static,
[INFO] [stderr]    | |_____________________^
[INFO] [stderr]    |
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 16 |         dyn Fn(&Context, &mut RouterContext) -> Box<Future<Item = Output, Error = Error> + Send>
[INFO] [stderr] 17 |             + Send
[INFO] [stderr] 18 |             + Sync
[INFO] [stderr] 19 |             + 'static,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/router/route.rs:16:49
[INFO] [stderr]    |
[INFO] [stderr] 16 |         Fn(&Context, &mut RouterContext) -> Box<Future<Item = Output, Error = Error> + Send>
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = Output, Error = Error> + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/router/route.rs:60:14
[INFO] [stderr]    |
[INFO] [stderr] 60 |     ) -> Box<Future<Item = Output, Error = Error> + Send> {
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = Output, Error = Error> + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/router/router.rs:28:47
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub fn handle(&self, cx: &Context) -> Box<Future<Item = Output, Error = Error> + Send> {
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = Output, Error = Error> + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/app/service.rs:77:20
[INFO] [stderr]    |
[INFO] [stderr] 77 |     in_flight: Box<Future<Item = Output, Error = Error> + Send>,
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = Output, Error = Error> + Send`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/error.rs:7:26
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub type CritError = Box<StdError + Send + Sync + 'static>;
[INFO] [stderr]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn StdError + Send + Sync + 'static`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/output/body.rs:52:28
[INFO] [stderr]    |
[INFO] [stderr] 52 |         S::Error: Into<Box<StdError + Send + Sync + 'static>>,
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn StdError + Send + Sync + 'static`
[INFO] [stderr] 
[INFO] [stderr] warning: unused label
[INFO] [stderr]    --> src/router/recognizer.rs:177:9
[INFO] [stderr]     |
[INFO] [stderr] 177 |         'walk: while pos < path.len() {
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/router/route.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 | /         Fn(&Context, &mut RouterContext) -> Box<Future<Item = Output, Error = Error> + Send>
[INFO] [stderr] 17 | |             + Send
[INFO] [stderr] 18 | |             + Sync
[INFO] [stderr] 19 | |             + 'static,
[INFO] [stderr]    | |_____________________^
[INFO] [stderr]    |
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 16 |         dyn Fn(&Context, &mut RouterContext) -> Box<Future<Item = Output, Error = Error> + Send>
[INFO] [stderr] 17 |             + Send
[INFO] [stderr] 18 |             + Sync
[INFO] [stderr] 19 |             + 'static,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/router/route.rs:16:49
[INFO] [stderr]    |
[INFO] [stderr] 16 |         Fn(&Context, &mut RouterContext) -> Box<Future<Item = Output, Error = Error> + Send>
[INFO] [stderr]    |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = Output, Error = Error> + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/router/route.rs:60:14
[INFO] [stderr]    |
[INFO] [stderr] 60 |     ) -> Box<Future<Item = Output, Error = Error> + Send> {
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = Output, Error = Error> + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/router/router.rs:28:47
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub fn handle(&self, cx: &Context) -> Box<Future<Item = Output, Error = Error> + Send> {
[INFO] [stderr]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future<Item = Output, Error = Error> + Send`
[INFO] [stderr] 
[INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stderr]    --> src/router/recognizer.rs:347:51
[INFO] [stderr]     |
[INFO] [stderr] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stderr]     |                                                     ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stderr] ...
[INFO] [stderr] 365 | /         t!(
[INFO] [stderr] 366 | |             case1,
[INFO] [stderr] 367 | |             ["/foo"],
[INFO] [stderr] 368 | |             Node {
[INFO] [stderr] ...   |
[INFO] [stderr] 372 | |             }
[INFO] [stderr] 373 | |         );
[INFO] [stderr]     | |__________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(array_into_iter)]` on by default
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stderr]    --> src/router/recognizer.rs:347:51
[INFO] [stderr]     |
[INFO] [stderr] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stderr]     |                                                     ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stderr] ...
[INFO] [stderr] 375 | /         t!(
[INFO] [stderr] 376 | |             case2,
[INFO] [stderr] 377 | |             ["/foo", "/bar"],
[INFO] [stderr] 378 | |             Node {
[INFO] [stderr] ...   |
[INFO] [stderr] 393 | |             }
[INFO] [stderr] 394 | |         );
[INFO] [stderr]     | |__________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stderr]    --> src/router/recognizer.rs:347:51
[INFO] [stderr]     |
[INFO] [stderr] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stderr]     |                                                     ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stderr] ...
[INFO] [stderr] 396 | /         t!(
[INFO] [stderr] 397 | |             case3,
[INFO] [stderr] 398 | |             ["/foo", "/foobar"],
[INFO] [stderr] 399 | |             Node {
[INFO] [stderr] ...   |
[INFO] [stderr] 407 | |             }
[INFO] [stderr] 408 | |         );
[INFO] [stderr]     | |__________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stderr]    --> src/router/recognizer.rs:347:51
[INFO] [stderr]     |
[INFO] [stderr] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stderr]     |                                                     ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stderr] ...
[INFO] [stderr] 410 | /         t!(
[INFO] [stderr] 411 | |             param_case1,
[INFO] [stderr] 412 | |             ["/:id"],
[INFO] [stderr] 413 | |             Node {
[INFO] [stderr] ...   |
[INFO] [stderr] 421 | |             }
[INFO] [stderr] 422 | |         );
[INFO] [stderr]     | |__________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stderr]    --> src/router/recognizer.rs:347:51
[INFO] [stderr]     |
[INFO] [stderr] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stderr]     |                                                     ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stderr] ...
[INFO] [stderr] 424 | /         t!(
[INFO] [stderr] 425 | |             param_case2,
[INFO] [stderr] 426 | |             [
[INFO] [stderr] 427 | |                 "/files",
[INFO] [stderr] ...   |
[INFO] [stderr] 457 | |             }
[INFO] [stderr] 458 | |         );
[INFO] [stderr]     | |__________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stderr]    --> src/router/recognizer.rs:347:51
[INFO] [stderr]     |
[INFO] [stderr] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stderr]     |                                                     ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stderr] ...
[INFO] [stderr] 460 | /         t!(
[INFO] [stderr] 461 | |             catch_all_case1,
[INFO] [stderr] 462 | |             ["/*path"],
[INFO] [stderr] 463 | |             Node {
[INFO] [stderr] ...   |
[INFO] [stderr] 471 | |             }
[INFO] [stderr] 472 | |         );
[INFO] [stderr]     | |__________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added.
[INFO] [stderr]    --> src/router/recognizer.rs:347:51
[INFO] [stderr]     |
[INFO] [stderr] 347 |                       for (i, path) in [$($path),*].into_iter().enumerate() {
[INFO] [stderr]     |                                                     ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter`
[INFO] [stderr] ...
[INFO] [stderr] 474 | /         t!(
[INFO] [stderr] 475 | |             catch_all_case2,
[INFO] [stderr] 476 | |             ["/files", "/files/*path"],
[INFO] [stderr] 477 | |             Node {
[INFO] [stderr] ...   |
[INFO] [stderr] 489 | |             }
[INFO] [stderr] 490 | |         );
[INFO] [stderr]     | |__________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #66145 <https://github.com/rust-lang/rust/issues/66145>
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `silver_rs::transport`
[INFO] [stderr]  --> examples/upgrade.rs:9:16
[INFO] [stderr]   |
[INFO] [stderr] 9 | use silver_rs::transport::Io;
[INFO] [stderr]   |                ^^^^^^^^^ could not find `transport` in `silver_rs`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved import `silver_rs::upgrade`
[INFO] [stderr]   --> examples/upgrade.rs:10:16
[INFO] [stderr]    |
[INFO] [stderr] 10 | use silver_rs::upgrade::UpgradeContext;
[INFO] [stderr]    |                ^^^^^^^ could not find `upgrade` in `silver_rs`
[INFO] [stderr] 
[INFO] [stderr] error[E0432]: unresolved imports `silver_rs::App`, `silver_rs::Context`, `silver_rs::Error`
[INFO] [stderr]   --> examples/upgrade.rs:11:17
[INFO] [stderr]    |
[INFO] [stderr] 11 | use silver_rs::{App, Context, Error};
[INFO] [stderr]    |                 ^^^  ^^^^^^^  ^^^^^ no `Error` in the root
[INFO] [stderr]    |                 |    |
[INFO] [stderr]    |                 |    no `Context` in the root
[INFO] [stderr]    |                 no `App` in the root
[INFO] [stderr]    |
[INFO] [stderr] help: a similar name exists in the module
[INFO] [stderr]    |
[INFO] [stderr] 11 | use silver_rs::{app, Context, Error};
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] help: a similar name exists in the module
[INFO] [stderr]    |
[INFO] [stderr] 11 | use silver_rs::{App, context, Error};
[INFO] [stderr]    |                      ^^^^^^^
[INFO] [stderr] help: a similar name exists in the module
[INFO] [stderr]    |
[INFO] [stderr] 11 | use silver_rs::{App, Context, error};
[INFO] [stderr]    |                               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0412]: cannot find type `Result` in module `silver_rs::app`
[INFO] [stderr]   --> examples/upgrade.rs:39:30
[INFO] [stderr]    |
[INFO] [stderr] 39 | fn main() -> silver_rs::app::Result<()> {
[INFO] [stderr]    |                              ^^^^^^ not found in `silver_rs::app`
[INFO] [stderr]    |
[INFO] [stderr] help: possible candidates are found in other modules, you can import them into scope
[INFO] [stderr]    |
[INFO] [stderr] 8  | use http::Result;
[INFO] [stderr]    |
[INFO] [stderr] 8  | use silver_rs::rt::Result;
[INFO] [stderr]    |
[INFO] [stderr] 8  | use std::fmt::Result;
[INFO] [stderr]    |
[INFO] [stderr] 8  | use std::io::Result;
[INFO] [stderr]    |
[INFO] [stderr]      and 3 other candidates
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec
[INFO] [stderr]   --> examples/upgrade.rs:17:23
[INFO] [stderr]    |
[INFO] [stderr] 17 | use tokio_io::codec::{Framed, FramedParts, LinesCodec};
[INFO] [stderr]    |                       ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::LinesCodec': Moved to tokio-codec
[INFO] [stderr]   --> examples/upgrade.rs:17:44
[INFO] [stderr]    |
[INFO] [stderr] 17 | use tokio_io::codec::{Framed, FramedParts, LinesCodec};
[INFO] [stderr]    |                                            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::Framed': Moved to tokio-codec
[INFO] [stderr]   --> examples/upgrade.rs:27:34
[INFO] [stderr]    |
[INFO] [stderr] 27 |             let (sink, stream) = Framed::from_parts(parts, LinesCodec::new()).split();
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'tokio_io::codec::LinesCodec': Moved to tokio-codec
[INFO] [stderr]   --> examples/upgrade.rs:27:60
[INFO] [stderr]    |
[INFO] [stderr] 27 |             let (sink, stream) = Framed::from_parts(parts, LinesCodec::new()).split();
[INFO] [stderr]    |                                                            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 4 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0412, E0432.
[INFO] [stderr] For more information about an error, try `rustc --explain E0412`.
[INFO] [stderr] error: could not compile `silver-rs`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: build failed
[INFO] running `"docker" "inspect" "5a5235a458686849357b62208cb2c1ea033c17c017bb6f2f9f8c5514f75f76bd"`
[INFO] running `"docker" "rm" "-f" "5a5235a458686849357b62208cb2c1ea033c17c017bb6f2f9f8c5514f75f76bd"`
[INFO] [stdout] 5a5235a458686849357b62208cb2c1ea033c17c017bb6f2f9f8c5514f75f76bd
