[INFO] cloning repository https://github.com/sirpent-team/sirpent-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sirpent-team/sirpent-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsirpent-team%2Fsirpent-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsirpent-team%2Fsirpent-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a9a0c111f861d2e5c50131dc71e651d60a63463b
[INFO] checking sirpent-team/sirpent-rust against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsirpent-team%2Fsirpent-rust" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/sirpent-team/sirpent-rust on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/sirpent-team/sirpent-rust
[INFO] finished tweaking git repo https://github.com/sirpent-team/sirpent-rust
[INFO] tweaked toml for git repo https://github.com/sirpent-team/sirpent-rust written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/sirpent-team/sirpent-rust 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/carllerche/kabuki`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded mio v0.6.6
[INFO] [stderr]   Downloaded env_logger v0.4.2
[INFO] [stderr]   Downloaded memchr v1.0.1
[INFO] [stderr]   Downloaded thread-id v3.0.0
[INFO] [stderr]   Downloaded num_cpus v1.3.0
[INFO] [stderr]   Downloaded thread-id v2.0.0
[INFO] [stderr]   Downloaded slab v0.3.0
[INFO] [stderr]   Downloaded matches v0.1.4
[INFO] [stderr]   Downloaded iovec v0.1.0
[INFO] [stderr]   Downloaded thread_local v0.3.3
[INFO] [stderr]   Downloaded tokio-io v0.1.1
[INFO] [stderr]   Downloaded syn v0.11.10
[INFO] [stderr]   Downloaded crossbeam v0.2.10
[INFO] [stderr]   Downloaded aho-corasick v0.5.3
[INFO] [stderr]   Downloaded libc v0.2.21
[INFO] [stderr]   Downloaded regex v0.1.80
[INFO] [stderr]   Downloaded clippy_lints v0.0.122
[INFO] [stderr]   Downloaded regex v0.2.1
[INFO] [stderr]   Downloaded backtrace-sys v0.1.10
[INFO] [stderr]   Downloaded unicode-normalization v0.1.4
[INFO] [stderr]   Downloaded regex-syntax v0.3.9
[INFO] [stderr]   Downloaded futures v0.1.13
[INFO] [stderr]   Downloaded regex-syntax v0.4.0
[INFO] [stderr]   Downloaded gcc v0.3.45
[INFO] [stderr]   Downloaded rand v0.3.15
[INFO] [stderr]   Downloaded toml v0.2.1
[INFO] [stderr]   Downloaded futures-threadpool v0.1.0
[INFO] [stderr]   Downloaded tokio-timer v0.1.1
[INFO] [stderr]   Downloaded futures-spawn v0.1.1
[INFO] [stderr]   Downloaded rustc-demangle v0.1.4
[INFO] [stderr]   Downloaded cargo_metadata v0.1.2
[INFO] [stderr]   Downloaded scoped-tls v0.1.0
[INFO] [stderr]   Downloaded serde_derive v0.9.13
[INFO] [stderr]   Downloaded log v0.3.7
[INFO] [stderr]   Downloaded comms v0.1.4
[INFO] [stderr]   Downloaded backtrace v0.3.0
[INFO] [stderr]   Downloaded error-chain v0.9.0
[INFO] [stderr]   Downloaded futures-mpsc v0.1.0
[INFO] [stderr]   Downloaded thread_local v0.2.7
[INFO] [stderr]   Downloaded utf8-ranges v0.1.3
[INFO] [stderr]   Downloaded uuid v0.4.0
[INFO] [stderr]   Downloaded lazycell v0.4.0
[INFO] [stderr]   Downloaded net2 v0.2.27
[INFO] [stderr]   Downloaded bytes v0.4.2
[INFO] [stderr]   Downloaded byteorder v1.0.0
[INFO] [stderr]   Downloaded semver v0.6.0
[INFO] [stderr]   Downloaded memchr v0.1.11
[INFO] [stderr]   Downloaded cfg-if v0.1.0
[INFO] [stderr]   Downloaded env_logger v0.3.5
[INFO] [stderr]   Downloaded serde_json v0.9.10
[INFO] [stderr]   Downloaded tokio-core v0.1.6
[INFO] [stderr]   Downloaded serde v0.9.13
[INFO] [stderr]   Downloaded quickcheck v0.2.27
[INFO] [stderr]   Downloaded rustc-serialize v0.3.23
[INFO] [stderr]   Downloaded clippy v0.0.122
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5dc0d04a1ba34b15a557f2ec5c71dee5c93fe0bbe08320c06e855c5019075a18
[INFO] running `Command { std: "docker" "start" "-a" "5dc0d04a1ba34b15a557f2ec5c71dee5c93fe0bbe08320c06e855c5019075a18", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5dc0d04a1ba34b15a557f2ec5c71dee5c93fe0bbe08320c06e855c5019075a18", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5dc0d04a1ba34b15a557f2ec5c71dee5c93fe0bbe08320c06e855c5019075a18", kill_on_drop: false }`
[INFO] [stdout] 5dc0d04a1ba34b15a557f2ec5c71dee5c93fe0bbe08320c06e855c5019075a18
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 66ddaf99b834d0b0c1d4dc166d9c60351b6504f5b6b0b725e1da7873b6d7e54d
[INFO] running `Command { std: "docker" "start" "-a" "66ddaf99b834d0b0c1d4dc166d9c60351b6504f5b6b0b725e1da7873b6d7e54d", kill_on_drop: false }`
[INFO] [stderr]     Checking libc v0.2.21
[INFO] [stderr]     Checking log v0.3.7
[INFO] [stderr]     Checking cfg-if v0.1.0
[INFO] [stderr]     Checking futures v0.1.13
[INFO] [stderr]     Checking slab v0.3.0
[INFO] [stderr]     Checking byteorder v1.0.0
[INFO] [stderr]    Compiling gcc v0.3.45
[INFO] [stderr]     Checking lazycell v0.4.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking scoped-tls v0.1.0
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling backtrace v0.3.0
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking serde v0.9.13
[INFO] [stderr]    Compiling dbghelp-sys v0.2.0
[INFO] [stderr]     Checking crossbeam v0.2.10
[INFO] [stderr]     Checking utf8-ranges v1.0.0
[INFO] [stderr]     Checking unreachable v0.1.1
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking regex-syntax v0.4.0
[INFO] [stderr]     Checking rustc-demangle v0.1.4
[INFO] [stderr]     Checking itoa v0.3.1
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking dtoa v0.4.1
[INFO] [stderr]     Checking num-traits v0.1.37
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]     Checking ansi_term v0.9.0
[INFO] [stderr]    Compiling syn v0.11.10
[INFO] [stderr]     Checking iovec v0.1.0
[INFO] [stderr]     Checking net2 v0.2.27
[INFO] [stderr]     Checking thread-id v3.0.0
[INFO] [stderr]     Checking memchr v1.0.1
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]     Checking rand v0.3.15
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking num_cpus v1.3.0
[INFO] [stderr]     Checking thread_local v0.3.3
[INFO] [stderr]     Checking aho-corasick v0.6.3
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking bytes v0.4.2
[INFO] [stderr]     Checking mio v0.6.6
[INFO] [stderr]    Compiling backtrace-sys v0.1.10
[INFO] [stderr]     Checking regex v0.2.1
[INFO] [stderr]    Compiling serde_codegen_internals v0.14.2
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stderr]     Checking tokio-io v0.1.1
[INFO] [stderr]     Checking tokio-timer v0.1.1
[INFO] [stderr]     Checking futures-mpsc v0.1.0
[INFO] [stderr]     Checking comms v0.1.4
[INFO] [stderr]    Compiling serde_derive v0.9.13
[INFO] [stderr]     Checking tokio-core v0.1.6
[INFO] [stderr]     Checking env_logger v0.4.2
[INFO] [stderr]     Checking futures-spawn v0.1.1
[INFO] [stderr]     Checking futures-threadpool v0.1.0
[INFO] [stderr]     Checking kabuki v0.0.1 (https://github.com/carllerche/kabuki?rev=4cc9aa77b7a59890b8cbfd276a067be015ed54f7#4cc9aa77)
[INFO] [stderr]     Checking env_logger v0.3.5
[INFO] [stderr]     Checking quickcheck v0.2.27
[INFO] [stderr]     Checking uuid v0.4.0
[INFO] [stderr]     Checking serde_json v0.9.10
[INFO] [stderr]     Checking error-chain v0.9.0
[INFO] [stderr]     Checking sirpent v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  | / error_chain! {
[INFO] [stdout] 2  | |     // The type defined for this error. These are the conventional
[INFO] [stdout] 3  | |     // and recommended names, but they can be arbitrarily chosen.
[INFO] [stdout] 4  | |     //
[INFO] [stdout] ...  |
[INFO] [stdout] 34 | |     }
[INFO] [stdout] 35 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/mod.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |     rng: Box<Rng>,
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     rng: Box<dyn Rng>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/state/snake.rs:93:33
[INFO] [stdout]    |
[INFO] [stdout] 93 |         fn shrink(&self) -> Box<Iterator<Item = Snake>> {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 93 |         fn shrink(&self) -> Box<dyn Iterator<Item = Snake>> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/errors.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  | / error_chain! {
[INFO] [stdout] 2  | |     // The type defined for this error. These are the conventional
[INFO] [stdout] 3  | |     // and recommended names, but they can be arbitrarily chosen.
[INFO] [stdout] 4  | |     //
[INFO] [stdout] ...  |
[INFO] [stdout] 34 | |     }
[INFO] [stdout] 35 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/mod.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |     rng: Box<Rng>,
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     rng: Box<dyn Rng>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/mod.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn new(rng: Box<Rng>, grid: Grid) -> Self {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn new(rng: Box<dyn Rng>, grid: Grid) -> Self {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/engine/mod.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn new(rng: Box<Rng>, grid: Grid) -> Self {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn new(rng: Box<dyn Rng>, grid: Grid) -> Self {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/handshake.rs:35:59
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn transmit<I>(client: MsgClient<I>, msg: Msg) -> Box<Future<Item = MsgClient<I>, Error = ()>>
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn transmit<I>(client: MsgClient<I>, msg: Msg) -> Box<dyn Future<Item = MsgClient<I>, Error = ()>>
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/handshake.rs:44:26
[INFO] [stdout]    |
[INFO] [stdout] 44 |                   -> Box<Future<Item = (Msg, MsgClient<I>), Error = ()>>
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |                   -> Box<dyn Future<Item = (Msg, MsgClient<I>), Error = ()>>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/handshake.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |                           -> Box<Future<Item = MsgClient<String>, Error = ()>> {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |                           -> Box<dyn Future<Item = MsgClient<String>, Error = ()>> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/handshake.rs:78:23
[INFO] [stdout]    |
[INFO] [stdout] 78 |     type Future = Box<Future<Item = Self::Response, Error = Self::Error>>;
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     type Future = Box<dyn Future<Item = Self::Response, Error = Self::Error>>;
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/game.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |                  -> Box<Future<Item = (MsgRoom<String>, mpsc::Sender<Msg>), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |                  -> Box<dyn Future<Item = (MsgRoom<String>, mpsc::Sender<Msg>), Error = ()>> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/game.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |          -> Box<Future<Item = (HashMap<String, Direction>, MsgRoom<String>), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |          -> Box<dyn Future<Item = (HashMap<String, Direction>, MsgRoom<String>), Error = ()>> {
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/game.rs:56:22
[INFO] [stdout]    |
[INFO] [stdout] 56 |               -> Box<Future<Item = (Game, MsgRoom<String>, mpsc::Sender<Msg>), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |               -> Box<dyn Future<Item = (Game, MsgRoom<String>, mpsc::Sender<Msg>), Error = ()>> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/game.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |                -> Box<Future<Item = (Game,
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 77 | |                                    MsgRoom<String>,
[INFO] [stdout] 78 | |                                    mpsc::Sender<Msg>,
[INFO] [stdout] 79 | |                                    Milliseconds,
[INFO] [stdout] 80 | |                                    tokio_timer::Timer),
[INFO] [stdout] 81 | |                            Error = ()>> {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 76 |              -> Box<dyn Future<Item = (Game,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/actors/game.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |                -> Box<Future<Item = (Game, MsgRoom<String>, mpsc::Sender<Msg>), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |                -> Box<dyn Future<Item = (Game, MsgRoom<String>, mpsc::Sender<Msg>), Error = ()>> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/actors/game.rs:117:23
[INFO] [stdout]     |
[INFO] [stdout] 117 |     type Future = Box<Future<Item = Self::Response, Error = Self::Error>>;
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 |     type Future = Box<dyn Future<Item = Self::Response, Error = Self::Error>>;
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/handshake.rs:35:59
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn transmit<I>(client: MsgClient<I>, msg: Msg) -> Box<Future<Item = MsgClient<I>, Error = ()>>
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn transmit<I>(client: MsgClient<I>, msg: Msg) -> Box<dyn Future<Item = MsgClient<I>, Error = ()>>
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/handshake.rs:44:26
[INFO] [stdout]    |
[INFO] [stdout] 44 |                   -> Box<Future<Item = (Msg, MsgClient<I>), Error = ()>>
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |                   -> Box<dyn Future<Item = (Msg, MsgClient<I>), Error = ()>>
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/handshake.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |                           -> Box<Future<Item = MsgClient<String>, Error = ()>> {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 58 |                           -> Box<dyn Future<Item = MsgClient<String>, Error = ()>> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/handshake.rs:78:23
[INFO] [stdout]    |
[INFO] [stdout] 78 |     type Future = Box<Future<Item = Self::Response, Error = Self::Error>>;
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     type Future = Box<dyn Future<Item = Self::Response, Error = Self::Error>>;
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/game.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |                  -> Box<Future<Item = (MsgRoom<String>, mpsc::Sender<Msg>), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |                  -> Box<dyn Future<Item = (MsgRoom<String>, mpsc::Sender<Msg>), Error = ()>> {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/game.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |          -> Box<Future<Item = (HashMap<String, Direction>, MsgRoom<String>), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |          -> Box<dyn Future<Item = (HashMap<String, Direction>, MsgRoom<String>), Error = ()>> {
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/game.rs:56:22
[INFO] [stdout]    |
[INFO] [stdout] 56 |               -> Box<Future<Item = (Game, MsgRoom<String>, mpsc::Sender<Msg>), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |               -> Box<dyn Future<Item = (Game, MsgRoom<String>, mpsc::Sender<Msg>), Error = ()>> {
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/game.rs:76:21
[INFO] [stdout]    |
[INFO] [stdout] 76 |                -> Box<Future<Item = (Game,
[INFO] [stdout]    |  _____________________^
[INFO] [stdout] 77 | |                                    MsgRoom<String>,
[INFO] [stdout] 78 | |                                    mpsc::Sender<Msg>,
[INFO] [stdout] 79 | |                                    Milliseconds,
[INFO] [stdout] 80 | |                                    tokio_timer::Timer),
[INFO] [stdout] 81 | |                            Error = ()>> {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 76 |              -> Box<dyn Future<Item = (Game,
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/actors/game.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |                -> Box<Future<Item = (Game, MsgRoom<String>, mpsc::Sender<Msg>), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |                -> Box<dyn Future<Item = (Game, MsgRoom<String>, mpsc::Sender<Msg>), Error = ()>> {
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/actors/game.rs:117:23
[INFO] [stdout]     |
[INFO] [stdout] 117 |     type Future = Box<Future<Item = Self::Response, Error = Self::Error>>;
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 117 |     type Future = Box<dyn Future<Item = Self::Response, Error = Self::Error>>;
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/handshake.rs:90:104
[INFO] [stdout]    |
[INFO] [stdout] 90 | ...n(move |(msg, unnamed_client)| -> Box<Future<Item = (MsgClient<String>, ClientKind), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 90 |             Self::receive(unnamed_client, timeout, timer).and_then(move |(msg, unnamed_client)| -> Box<dyn Future<Item = (MsgClient<String>, ClientKind), Error = ()>> {
[INFO] [stdout]    |                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/errors.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  | / error_chain! {
[INFO] [stdout] 2  | |     // The type defined for this error. These are the conventional
[INFO] [stdout] 3  | |     // and recommended names, but they can be arbitrarily chosen.
[INFO] [stdout] 4  | |     //
[INFO] [stdout] ...  |
[INFO] [stdout] 34 | |     }
[INFO] [stdout] 35 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/actors/handshake.rs:90:104
[INFO] [stdout]    |
[INFO] [stdout] 90 | ...n(move |(msg, unnamed_client)| -> Box<Future<Item = (MsgClient<String>, ClientKind), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 90 |             Self::receive(unnamed_client, timeout, timer).and_then(move |(msg, unnamed_client)| -> Box<dyn Future<Item = (MsgClient<String>, ClientKind), Error = ()>> {
[INFO] [stdout]    |                                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/errors.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout] 1  | / error_chain! {
[INFO] [stdout] 2  | |     // The type defined for this error. These are the conventional
[INFO] [stdout] 3  | |     // and recommended names, but they can be arbitrarily chosen.
[INFO] [stdout] 4  | |     //
[INFO] [stdout] ...  |
[INFO] [stdout] 34 | |     }
[INFO] [stdout] 35 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]   --> src/actors/game.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |          timeout: Milliseconds,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timer`
[INFO] [stdout]   --> src/actors/game.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 |          timer: &tokio_timer::Timer)
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_timer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeout`
[INFO] [stdout]   --> src/actors/game.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |          timeout: Milliseconds,
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timer`
[INFO] [stdout]   --> src/actors/game.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 |          timer: &tokio_timer::Timer)
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_timer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_cells_within_bounds_prop` is never used
[INFO] [stdout]    --> src/state/grids/triangle.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout] 198 |     fn random_cells_within_bounds_prop(g: TriangleGrid) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_cells_within_bounds` is never used
[INFO] [stdout]    --> src/state/grids/triangle.rs:210:8
[INFO] [stdout]     |
[INFO] [stdout] 210 |     fn random_cells_within_bounds() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]  --> examples/grid_trait_object.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn has_edge(&self, &Self::N, &Self::N) -> bool;
[INFO] [stdout]   |                        ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::N`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]   = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]  --> examples/grid_trait_object.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn has_edge(&self, &Self::N, &Self::N) -> bool;
[INFO] [stdout]   |                                  ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::N`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]  --> examples/grid_trait_object.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn edges(&self, &Self::N) -> Vec<Self::E>;
[INFO] [stdout]   |                     ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::N`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/grid_trait_object.rs:44:31
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn get_edges<N, E>(graph: Box<Graph<N = N, E = E>>) -> bool
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn get_edges<N, E>(graph: Box<dyn Graph<N = N, E = E>>) -> bool
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:106:18
[INFO] [stdout]     |
[INFO] [stdout] 106 |           -> Box<Future<Item = (), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 106 |           -> Box<dyn Future<Item = (), Error = ()>> {
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:133:27
[INFO] [stdout]     |
[INFO] [stdout] 133 |               add_rx: Box<Stream<Item = Vec<MsgClient<String>>, Error = ()>>,
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 133 |               add_rx: Box<dyn Stream<Item = Vec<MsgClient<String>>, Error = ()>>,
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/grid_trait_object.rs:40:38
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let obj = Box::new(graph) as Box<Graph<N = Node, E = Edge>>;
[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: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let obj = Box::new(graph) as Box<dyn Graph<N = Node, E = Edge>>;
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 138 |               -> Box<Future<Item = (), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |               -> Box<dyn Future<Item = (), Error = ()>> {
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::str;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:106:18
[INFO] [stdout]     |
[INFO] [stdout] 106 |           -> Box<Future<Item = (), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 106 |           -> Box<dyn Future<Item = (), Error = ()>> {
[INFO] [stdout]     |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:133:27
[INFO] [stdout]     |
[INFO] [stdout] 133 |               add_rx: Box<Stream<Item = Vec<MsgClient<String>>, Error = ()>>,
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 133 |               add_rx: Box<dyn Stream<Item = Vec<MsgClient<String>>, Error = ()>>,
[INFO] [stdout]     |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/main.rs:138:22
[INFO] [stdout]     |
[INFO] [stdout] 138 |               -> Box<Future<Item = (), Error = ()>> {
[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: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 138 |               -> Box<dyn Future<Item = (), Error = ()>> {
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 17.70s
[INFO] running `Command { std: "docker" "inspect" "66ddaf99b834d0b0c1d4dc166d9c60351b6504f5b6b0b725e1da7873b6d7e54d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "66ddaf99b834d0b0c1d4dc166d9c60351b6504f5b6b0b725e1da7873b6d7e54d", kill_on_drop: false }`
[INFO] [stdout] 66ddaf99b834d0b0c1d4dc166d9c60351b6504f5b6b0b725e1da7873b6d7e54d
