[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] testing sirpent-team/sirpent-rust against master#61223975d46f794466efa832bc7562b9707ecc46+rustflags=-Copt-level=3 for pr-121282 [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 61223975d46f794466efa832bc7562b9707ecc46 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+61223975d46f794466efa832bc7562b9707ecc46" "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" "+61223975d46f794466efa832bc7562b9707ecc46" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Updating git repository `https://github.com/carllerche/kabuki` [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [ERROR] this task or one of its parent failed! [ERROR] no output for 300 seconds [ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace. [INFO] testing sirpent-team/sirpent-rust against try#d073071d77ce0f93b4fd8cc567a1e2b9e1b22126+rustflags=-Copt-level=3 for pr-121282 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsirpent-team%2Fsirpent-rust" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/sirpent-team/sirpent-rust on toolchain d073071d77ce0f93b4fd8cc567a1e2b9e1b22126 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d073071d77ce0f93b4fd8cc567a1e2b9e1b22126" "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-tc2/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" "+d073071d77ce0f93b4fd8cc567a1e2b9e1b22126" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded error-chain v0.9.0 [INFO] [stderr] Downloaded tokio-core v0.1.6 [INFO] [stderr] Downloaded tokio-timer v0.1.1 [INFO] [stderr] Downloaded futures-spawn v0.1.1 [INFO] [stderr] Downloaded bytes v0.4.2 [INFO] [stderr] Downloaded cargo_metadata v0.1.2 [INFO] [stderr] Downloaded tokio-io v0.1.1 [INFO] [stderr] Downloaded futures-threadpool v0.1.0 [INFO] [stderr] Downloaded mio v0.6.6 [INFO] [stderr] Downloaded futures-mpsc v0.1.0 [INFO] [stderr] Downloaded comms v0.1.4 [INFO] [stderr] Downloaded clippy v0.0.122 [INFO] [stderr] Downloaded clippy_lints v0.0.122 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+d073071d77ce0f93b4fd8cc567a1e2b9e1b22126" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9949802fdc35818f404db32ddf02e24a1e7ae134a5699e984937ca119a3d9d92 [INFO] running `Command { std: "docker" "start" "-a" "9949802fdc35818f404db32ddf02e24a1e7ae134a5699e984937ca119a3d9d92", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9949802fdc35818f404db32ddf02e24a1e7ae134a5699e984937ca119a3d9d92", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9949802fdc35818f404db32ddf02e24a1e7ae134a5699e984937ca119a3d9d92", kill_on_drop: false }` [INFO] [stdout] 9949802fdc35818f404db32ddf02e24a1e7ae134a5699e984937ca119a3d9d92 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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" "+d073071d77ce0f93b4fd8cc567a1e2b9e1b22126" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] be823ecc1f2628787e668a9e101e01891f12baadd5237e4478431755e623504a [INFO] running `Command { std: "docker" "start" "-a" "be823ecc1f2628787e668a9e101e01891f12baadd5237e4478431755e623504a", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.21 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Compiling cfg-if v0.1.0 [INFO] [stderr] Compiling futures v0.1.13 [INFO] [stderr] Compiling log v0.3.7 [INFO] [stderr] Compiling slab v0.3.0 [INFO] [stderr] Compiling byteorder v1.0.0 [INFO] [stderr] Compiling gcc v0.3.45 [INFO] [stderr] Compiling lazycell v0.4.0 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling winapi v0.2.8 [INFO] [stderr] Compiling 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] Compiling regex-syntax v0.4.0 [INFO] [stderr] Compiling unreachable v0.1.1 [INFO] [stderr] Compiling utf8-ranges v1.0.0 [INFO] [stderr] Compiling crossbeam v0.2.10 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Compiling serde v0.9.13 [INFO] [stderr] Compiling rustc-demangle v0.1.4 [INFO] [stderr] Compiling itoa v0.3.1 [INFO] [stderr] Compiling num-traits v0.1.37 [INFO] [stderr] Compiling dbghelp-sys v0.2.0 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Compiling dtoa v0.4.1 [INFO] [stderr] Compiling iovec v0.1.0 [INFO] [stderr] Compiling net2 v0.2.27 [INFO] [stderr] Compiling thread-id v3.0.0 [INFO] [stderr] Compiling memchr v1.0.1 [INFO] [stderr] Compiling bytes v0.4.2 [INFO] [stderr] Compiling aho-corasick v0.6.3 [INFO] [stderr] Compiling thread_local v0.3.3 [INFO] [stderr] Compiling num_cpus v1.3.0 [INFO] [stderr] Compiling syn v0.11.10 [INFO] [stderr] Compiling rand v0.3.15 [INFO] [stderr] Compiling mio v0.6.6 [INFO] [stderr] Compiling ansi_term v0.9.0 [INFO] [stderr] Compiling regex v0.2.1 [INFO] [stderr] Compiling tokio-io v0.1.1 [INFO] [stderr] Compiling tokio-timer v0.1.1 [INFO] [stderr] Compiling futures-mpsc v0.1.0 [INFO] [stderr] Compiling comms v0.1.4 [INFO] [stderr] Compiling tokio-core v0.1.6 [INFO] [stderr] Compiling serde_codegen_internals v0.14.2 [INFO] [stderr] Compiling backtrace-sys v0.1.10 [INFO] [stderr] Compiling futures-spawn v0.1.1 [INFO] [stderr] Compiling env_logger v0.4.2 [INFO] [stderr] Compiling futures-threadpool v0.1.0 [INFO] [stderr] Compiling kabuki v0.0.1 (https://github.com/carllerche/kabuki?rev=4cc9aa77b7a59890b8cbfd276a067be015ed54f7#4cc9aa77) [INFO] [stderr] Compiling serde_json v0.9.10 [INFO] [stderr] Compiling uuid v0.4.0 [INFO] [stderr] Compiling serde_derive v0.9.13 [INFO] [stderr] Compiling error-chain v0.9.0 [INFO] [stderr] Compiling sirpent v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: the item `serde_json` is imported redundantly [INFO] [stdout] --> src/net/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use serde_json; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | extern crate serde_json; [INFO] [stdout] | ------------------------ the item `serde_json` is already imported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `serde_json` is imported redundantly [INFO] [stdout] --> src/utils.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use serde_json; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | extern crate serde_json; [INFO] [stdout] | ------------------------ the item `serde_json` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Into` is imported redundantly [INFO] [stdout] --> src/utils.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/d073071d77ce0f93b4fd8cc567a1e2b9e1b22126/library/std/src/prelude/mod.rs:105:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Into` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `tokio_timer` is imported redundantly [INFO] [stdout] --> src/actors/handshake.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use tokio_timer; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | extern crate tokio_timer; [INFO] [stdout] | ------------------------- the item `tokio_timer` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `tokio_timer` is imported redundantly [INFO] [stdout] --> src/actors/game.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use tokio_timer; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | extern crate tokio_timer; [INFO] [stdout] | ------------------------- the item `tokio_timer` is already imported here [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, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | rng: Box, [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, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 | pub fn new(rng: Box, 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(client: MsgClient, msg: Msg) -> Box, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 | fn transmit(client: MsgClient, msg: Msg) -> Box, 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), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 | -> Box), 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, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 58 | -> Box, 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>; [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 78 | type Future = Box>; [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, mpsc::Sender), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | -> Box, mpsc::Sender), 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, MsgRoom), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 41 | -> Box, MsgRoom), 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, mpsc::Sender), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 56 | -> Box, mpsc::Sender), 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, [INFO] [stdout] 78 | | mpsc::Sender, [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 76 | -> Box src/actors/game.rs:101:23 [INFO] [stdout] | [INFO] [stdout] 101 | -> Box, mpsc::Sender), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 101 | -> Box, mpsc::Sender), 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>; [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 | type Future = Box>; [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, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 90 | Self::receive(unnamed_client, timeout, timer).and_then(move |(msg, unnamed_client)| -> Box, 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: 22 warnings emitted [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> { [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 106 | -> Box> { [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>, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 133 | add_rx: Box>, 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> { [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 | -> Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.25s [INFO] running `Command { std: "docker" "inspect" "be823ecc1f2628787e668a9e101e01891f12baadd5237e4478431755e623504a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be823ecc1f2628787e668a9e101e01891f12baadd5237e4478431755e623504a", kill_on_drop: false }` [INFO] [stdout] be823ecc1f2628787e668a9e101e01891f12baadd5237e4478431755e623504a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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" "+d073071d77ce0f93b4fd8cc567a1e2b9e1b22126" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6afcfd302537bca33b6e9f73783c43e5b767c9a613fb8797c179cce428538068 [INFO] running `Command { std: "docker" "start" "-a" "6afcfd302537bca33b6e9f73783c43e5b767c9a613fb8797c179cce428538068", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v0.1.11 [INFO] [stderr] Compiling utf8-ranges v0.1.3 [INFO] [stderr] Compiling regex-syntax v0.3.9 [INFO] [stderr] Compiling thread-id v2.0.0 [INFO] [stdout] warning: the item `serde_json` is imported redundantly [INFO] [stdout] --> src/net/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use serde_json; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | extern crate serde_json; [INFO] [stdout] | ------------------------ the item `serde_json` is already imported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `serde_json` is imported redundantly [INFO] [stdout] --> src/utils.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use serde_json; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | extern crate serde_json; [INFO] [stdout] | ------------------------ the item `serde_json` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Into` is imported redundantly [INFO] [stdout] --> src/utils.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/d073071d77ce0f93b4fd8cc567a1e2b9e1b22126/library/std/src/prelude/mod.rs:105:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Into` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `tokio_timer` is imported redundantly [INFO] [stdout] --> src/actors/handshake.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use tokio_timer; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | extern crate tokio_timer; [INFO] [stdout] | ------------------------- the item `tokio_timer` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `tokio_timer` is imported redundantly [INFO] [stdout] --> src/actors/game.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use tokio_timer; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | extern crate tokio_timer; [INFO] [stdout] | ------------------------- the item `tokio_timer` is already imported here [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, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | rng: Box, [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, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 | pub fn new(rng: Box, 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(client: MsgClient, msg: Msg) -> Box, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 | fn transmit(client: MsgClient, msg: Msg) -> Box, 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), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 | -> Box), 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, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 58 | -> Box, 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>; [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 78 | type Future = Box>; [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, mpsc::Sender), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | -> Box, mpsc::Sender), 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, MsgRoom), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 41 | -> Box, MsgRoom), 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, mpsc::Sender), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 56 | -> Box, mpsc::Sender), 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, [INFO] [stdout] 78 | | mpsc::Sender, [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 76 | -> Box src/actors/game.rs:101:23 [INFO] [stdout] | [INFO] [stdout] 101 | -> Box, mpsc::Sender), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 101 | -> Box, mpsc::Sender), 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>; [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 | type Future = Box>; [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, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 90 | Self::receive(unnamed_client, timeout, timer).and_then(move |(msg, unnamed_client)| -> Box, 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: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling thread_local v0.2.7 [INFO] [stderr] Compiling aho-corasick v0.5.3 [INFO] [stderr] Compiling regex v0.1.80 [INFO] [stderr] Compiling env_logger v0.3.5 [INFO] [stderr] Compiling quickcheck v0.2.27 [INFO] [stderr] Compiling sirpent v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: the item `Default` is imported redundantly [INFO] [stdout] --> examples/grid_trait_object.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::default::Default; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/d073071d77ce0f93b4fd8cc567a1e2b9e1b22126/library/std/src/prelude/mod.rs:105:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Default` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` 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: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 [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 [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; [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 [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(graph: Box>) -> 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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 | fn get_edges(graph: Box>) -> 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> { [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 106 | -> Box> { [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>, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 133 | add_rx: Box>, 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> { [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 138 | -> Box> { [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>; [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 40 | let obj = Box::new(graph) as Box>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `has_edge` is never used [INFO] [stdout] --> examples/grid_trait_object.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 4 | trait Graph { [INFO] [stdout] | ----- method in this trait [INFO] [stdout] ... [INFO] [stdout] 8 | fn has_edge(&self, &Self::N, &Self::N) -> bool; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `serde_json` is imported redundantly [INFO] [stdout] --> src/net/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use serde_json; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | extern crate serde_json; [INFO] [stdout] | ------------------------ the item `serde_json` is already imported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `serde_json` is imported redundantly [INFO] [stdout] --> src/utils.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use serde_json; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | extern crate serde_json; [INFO] [stdout] | ------------------------ the item `serde_json` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Into` is imported redundantly [INFO] [stdout] --> src/utils.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/d073071d77ce0f93b4fd8cc567a1e2b9e1b22126/library/std/src/prelude/mod.rs:105:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Into` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `tokio_timer` is imported redundantly [INFO] [stdout] --> src/actors/handshake.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use tokio_timer; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | extern crate tokio_timer; [INFO] [stdout] | ------------------------- the item `tokio_timer` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `tokio_timer` is imported redundantly [INFO] [stdout] --> src/actors/game.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use tokio_timer; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/lib.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | extern crate tokio_timer; [INFO] [stdout] | ------------------------- the item `tokio_timer` is already imported here [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, [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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | rng: Box, [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> { [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 93 | fn shrink(&self) -> Box> { [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, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 | pub fn new(rng: Box, 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(client: MsgClient, msg: Msg) -> Box, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 | fn transmit(client: MsgClient, msg: Msg) -> Box, 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), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 44 | -> Box), 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, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 58 | -> Box, 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>; [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 78 | type Future = Box>; [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, mpsc::Sender), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 30 | -> Box, mpsc::Sender), 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, MsgRoom), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 41 | -> Box, MsgRoom), 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, mpsc::Sender), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 56 | -> Box, mpsc::Sender), 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, [INFO] [stdout] 78 | | mpsc::Sender, [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 76 | -> Box src/actors/game.rs:101:23 [INFO] [stdout] | [INFO] [stdout] 101 | -> Box, mpsc::Sender), 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 101 | -> Box, mpsc::Sender), 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>; [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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 117 | type Future = Box>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [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, 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 [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 90 | Self::receive(unnamed_client, timeout, timer).and_then(move |(msg, unnamed_client)| -> Box, 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: 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: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 6.16s [INFO] running `Command { std: "docker" "inspect" "6afcfd302537bca33b6e9f73783c43e5b767c9a613fb8797c179cce428538068", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6afcfd302537bca33b6e9f73783c43e5b767c9a613fb8797c179cce428538068", kill_on_drop: false }` [INFO] [stdout] 6afcfd302537bca33b6e9f73783c43e5b767c9a613fb8797c179cce428538068 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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" "+d073071d77ce0f93b4fd8cc567a1e2b9e1b22126" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 1ea1730f303cbb44194ac2eac68f61478149baf6ada83718ed0d9cd2551e081b [INFO] running `Command { std: "docker" "start" "-a" "1ea1730f303cbb44194ac2eac68f61478149baf6ada83718ed0d9cd2551e081b", kill_on_drop: false }` [INFO] [stderr] warning: the item `serde_json` is imported redundantly [INFO] [stderr] --> src/net/mod.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use serde_json; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | extern crate serde_json; [INFO] [stderr] | ------------------------ the item `serde_json` is already imported here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: the item `serde_json` is imported redundantly [INFO] [stderr] --> src/utils.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use serde_json; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | extern crate serde_json; [INFO] [stderr] | ------------------------ the item `serde_json` is already imported here [INFO] [stderr] [INFO] [stderr] warning: the item `Into` is imported redundantly [INFO] [stderr] --> src/utils.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::convert::Into; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] --> /rustc/d073071d77ce0f93b4fd8cc567a1e2b9e1b22126/library/std/src/prelude/mod.rs:105:13 [INFO] [stderr] | [INFO] [stderr] = note: the item `Into` is already defined here [INFO] [stderr] [INFO] [stderr] warning: the item `tokio_timer` is imported redundantly [INFO] [stderr] --> src/actors/handshake.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use tokio_timer; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | extern crate tokio_timer; [INFO] [stderr] | ------------------------- the item `tokio_timer` is already imported here [INFO] [stderr] [INFO] [stderr] warning: the item `tokio_timer` is imported redundantly [INFO] [stderr] --> src/actors/game.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use tokio_timer; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/lib.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | extern crate tokio_timer; [INFO] [stderr] | ------------------------- the item `tokio_timer` is already imported here [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/errors.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | / error_chain! { [INFO] [stderr] 2 | | // The type defined for this error. These are the conventional [INFO] [stderr] 3 | | // and recommended names, but they can be arbitrarily chosen. [INFO] [stderr] 4 | | // [INFO] [stderr] ... | [INFO] [stderr] 34 | | } [INFO] [stderr] 35 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = 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] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/engine/mod.rs:27:14 [INFO] [stderr] | [INFO] [stderr] 27 | rng: Box, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 27 | rng: Box, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/engine/mod.rs:34:25 [INFO] [stderr] | [INFO] [stderr] 34 | pub fn new(rng: Box, grid: Grid) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 34 | pub fn new(rng: Box, grid: Grid) -> Self { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/actors/handshake.rs:35:59 [INFO] [stderr] | [INFO] [stderr] 35 | fn transmit(client: MsgClient, msg: Msg) -> Box, Error = ()>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 35 | fn transmit(client: MsgClient, msg: Msg) -> Box, Error = ()>> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/actors/handshake.rs:44:26 [INFO] [stderr] | [INFO] [stderr] 44 | -> Box), Error = ()>> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 44 | -> Box), Error = ()>> [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/actors/handshake.rs:58:34 [INFO] [stderr] | [INFO] [stderr] 58 | -> Box, Error = ()>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 58 | -> Box, Error = ()>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/actors/handshake.rs:78:23 [INFO] [stderr] | [INFO] [stderr] 78 | type Future = Box>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 78 | type Future = Box>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/actors/game.rs:30:25 [INFO] [stderr] | [INFO] [stderr] 30 | -> Box, mpsc::Sender), Error = ()>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 30 | -> Box, mpsc::Sender), Error = ()>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/actors/game.rs:41:17 [INFO] [stderr] | [INFO] [stderr] 41 | -> Box, MsgRoom), Error = ()>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 41 | -> Box, MsgRoom), Error = ()>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/actors/game.rs:56:22 [INFO] [stderr] | [INFO] [stderr] 56 | -> Box, mpsc::Sender), Error = ()>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 56 | -> Box, mpsc::Sender), Error = ()>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/actors/game.rs:76:21 [INFO] [stderr] | [INFO] [stderr] 76 | -> Box, [INFO] [stderr] 78 | | mpsc::Sender, [INFO] [stderr] 79 | | Milliseconds, [INFO] [stderr] 80 | | tokio_timer::Timer), [INFO] [stderr] 81 | | Error = ()>> { [INFO] [stderr] | |______________________________________^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 76 | -> Box src/actors/game.rs:101:23 [INFO] [stderr] | [INFO] [stderr] 101 | -> Box, mpsc::Sender), Error = ()>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 101 | -> Box, mpsc::Sender), Error = ()>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/actors/game.rs:117:23 [INFO] [stderr] | [INFO] [stderr] 117 | type Future = Box>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 117 | type Future = Box>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/actors/handshake.rs:90:104 [INFO] [stderr] | [INFO] [stderr] 90 | ...n(move |(msg, unnamed_client)| -> Box, ClientKind), Error = ()>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 90 | Self::receive(unnamed_client, timeout, timer).and_then(move |(msg, unnamed_client)| -> Box, ClientKind), Error = ()>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting [INFO] [stderr] --> src/errors.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | / error_chain! { [INFO] [stderr] 2 | | // The type defined for this error. These are the conventional [INFO] [stderr] 3 | | // and recommended names, but they can be arbitrarily chosen. [INFO] [stderr] 4 | | // [INFO] [stderr] ... | [INFO] [stderr] 34 | | } [INFO] [stderr] 35 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = 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] [stderr] [INFO] [stderr] warning: unused variable: `timeout` [INFO] [stderr] --> src/actors/game.rs:39:10 [INFO] [stderr] | [INFO] [stderr] 39 | timeout: Milliseconds, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeout` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `timer` [INFO] [stderr] --> src/actors/game.rs:40:10 [INFO] [stderr] | [INFO] [stderr] 40 | timer: &tokio_timer::Timer) [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_timer` [INFO] [stderr] [INFO] [stderr] warning: `sirpent` (lib) generated 22 warnings (run `cargo fix --lib -p sirpent` to apply 13 suggestions) [INFO] [stderr] warning: unused import: `std::str` [INFO] [stderr] --> src/main.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::str; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:106:18 [INFO] [stderr] | [INFO] [stderr] 106 | -> Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 106 | -> Box> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:133:27 [INFO] [stderr] | [INFO] [stderr] 133 | add_rx: Box>, Error = ()>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 133 | add_rx: Box>, Error = ()>>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:138:22 [INFO] [stderr] | [INFO] [stderr] 138 | -> Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 138 | -> Box> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: the item `Default` is imported redundantly [INFO] [stderr] --> examples/grid_trait_object.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::default::Default; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] --> /rustc/d073071d77ce0f93b4fd8cc567a1e2b9e1b22126/library/std/src/prelude/mod.rs:105:13 [INFO] [stderr] | [INFO] [stderr] = note: the item `Default` is already defined here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> examples/grid_trait_object.rs:8:24 [INFO] [stderr] | [INFO] [stderr] 8 | fn has_edge(&self, &Self::N, &Self::N) -> bool; [INFO] [stderr] | ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::N` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] = note: `#[warn(anonymous_parameters)]` on by default [INFO] [stderr] [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> examples/grid_trait_object.rs:8:34 [INFO] [stderr] | [INFO] [stderr] 8 | fn has_edge(&self, &Self::N, &Self::N) -> bool; [INFO] [stderr] | ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::N` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition [INFO] [stderr] --> examples/grid_trait_object.rs:9:21 [INFO] [stderr] | [INFO] [stderr] 9 | fn edges(&self, &Self::N) -> Vec; [INFO] [stderr] | ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::N` [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018! [INFO] [stderr] = note: for more information, see issue #41686 [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> examples/grid_trait_object.rs:44:31 [INFO] [stderr] | [INFO] [stderr] 44 | fn get_edges(graph: Box>) -> bool [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 44 | fn get_edges(graph: Box>) -> bool [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> examples/grid_trait_object.rs:40:38 [INFO] [stderr] | [INFO] [stderr] 40 | let obj = Box::new(graph) as Box>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 40 | let obj = Box::new(graph) as Box>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: method `has_edge` is never used [INFO] [stderr] --> examples/grid_trait_object.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 4 | trait Graph { [INFO] [stderr] | ----- method in this trait [INFO] [stderr] ... [INFO] [stderr] 8 | fn has_edge(&self, &Self::N, &Self::N) -> bool; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/state/snake.rs:93:33 [INFO] [stderr] | [INFO] [stderr] 93 | fn shrink(&self) -> Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is an object-safe trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 93 | fn shrink(&self) -> Box> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: function `random_cells_within_bounds_prop` is never used [INFO] [stderr] --> src/state/grids/triangle.rs:198:8 [INFO] [stderr] | [INFO] [stderr] 198 | fn random_cells_within_bounds_prop(g: TriangleGrid) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `random_cells_within_bounds` is never used [INFO] [stderr] --> src/state/grids/triangle.rs:210:8 [INFO] [stderr] | [INFO] [stderr] 210 | fn random_cells_within_bounds() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `sirpent` (bin "sirpent" test) generated 4 warnings (run `cargo fix --bin "sirpent" --tests` to apply 4 suggestions) [INFO] [stderr] warning: `sirpent` (example "grid_trait_object") generated 7 warnings (run `cargo fix --example "grid_trait_object"` to apply 5 suggestions) [INFO] [stderr] warning: `sirpent` (lib test) generated 25 warnings (22 duplicates) (run `cargo fix --lib -p sirpent --tests` to apply 1 suggestion) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sirpent-ee1ec05ea507d595) [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test state::grids::square::tests::neighbour_adjacency ... ok [INFO] [stdout] test state::grids::hexagon::tests::identity_of_indescernibles ... ok [INFO] [stdout] test state::grids::triangle::tests::triangle_inequality ... ok [INFO] [stdout] test tests::it_works ... ok [INFO] [stdout] test state::grids::hexagon::tests::neighbour_adjacency ... ok [INFO] [stdout] test state::grids::square::tests::symmetry ... ok [INFO] [stdout] test state::grids::triangle::tests::symmetry ... ok [INFO] [stdout] test state::grids::hexagon::tests::triangle_inequality ... ok [INFO] [stdout] test state::grids::hexagon::tests::symmetry ... ok [INFO] [stdout] test state::grids::square::tests::triangle_inequality ... ok [INFO] [stdout] test state::snake::tests::only_head_is_at_head ... ok [INFO] [stdout] test state::grids::square::tests::identity_of_indescernibles ... ok [INFO] [stdout] test state::snake::tests::head_is_at_head ... ok [INFO] [stdout] test state::grids::triangle::tests::identity_of_indescernibles ... ok [INFO] [stdout] test state::grids::triangle::tests::neighbour_adjacency ... ok [INFO] [stdout] test state::snake::tests::snake_is_connected ... ok [INFO] [stdout] test state::snake::tests::step_preserves_connectedness ... ok [INFO] [stdout] test state::grids::square::tests::random_cells_within_bounds ... ok [INFO] [stdout] test state::grids::hexagon::tests::random_cells_within_bounds ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sirpent-2470fd56353c02b3) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests sirpent [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "1ea1730f303cbb44194ac2eac68f61478149baf6ada83718ed0d9cd2551e081b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1ea1730f303cbb44194ac2eac68f61478149baf6ada83718ed0d9cd2551e081b", kill_on_drop: false }` [INFO] [stdout] 1ea1730f303cbb44194ac2eac68f61478149baf6ada83718ed0d9cd2551e081b