[INFO] cloning repository https://github.com/jiricodes/battlesnake [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jiricodes/battlesnake" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjiricodes%2Fbattlesnake", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjiricodes%2Fbattlesnake'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6b6d9b04732c8b698e5313919009fba5db08f509 [INFO] checking jiricodes/battlesnake against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjiricodes%2Fbattlesnake" "/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/jiricodes/battlesnake on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jiricodes/battlesnake [INFO] finished tweaking git repo https://github.com/jiricodes/battlesnake [INFO] tweaked toml for git repo https://github.com/jiricodes/battlesnake written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 223 packages [INFO] [stderr] Adding actix-codec v0.3.0 (latest: v0.5.2) [INFO] [stderr] Adding actix-http v2.2.2 (latest: v3.6.0) [INFO] [stderr] Adding actix-macros v0.1.3 (latest: v0.2.4) [INFO] [stderr] Adding actix-router v0.2.7 (latest: v0.5.2) [INFO] [stderr] Adding actix-rt v1.1.1 (latest: v2.9.0) [INFO] [stderr] Adding actix-server v1.0.4 (latest: v2.3.0) [INFO] [stderr] Adding actix-service v1.0.6 (latest: v2.0.2) [INFO] [stderr] Adding actix-tls v2.0.0 (latest: v3.3.0) [INFO] [stderr] Adding actix-utils v2.0.0 (latest: v3.0.1) [INFO] [stderr] Adding actix-web v3.3.3 (latest: v4.5.1) [INFO] [stderr] Adding actix-web-codegen v0.4.0 (latest: v4.2.2) [INFO] [stderr] Adding awc v2.0.3 (latest: v3.4.0) [INFO] [stderr] Adding base64 v0.13.1 (latest: v0.22.0) [INFO] [stderr] Adding bitflags v1.3.2 (latest: v2.5.0) [INFO] [stderr] Adding block-buffer v0.9.0 (latest: v0.10.4) [INFO] [stderr] Adding brotli v3.5.0 (latest: v4.0.0) [INFO] [stderr] Adding brotli-decompressor v2.5.1 (latest: v3.0.0) [INFO] [stderr] Adding bytes v0.5.6 (latest: v1.6.0) [INFO] [stderr] Adding cfg-if v0.1.10 (latest: v1.0.0) [INFO] [stderr] Adding clap v2.34.0 (latest: v4.5.4) [INFO] [stderr] Adding convert_case v0.4.0 (latest: v0.6.0) [INFO] [stderr] Adding cookie v0.14.4 (latest: v0.18.1) [INFO] [stderr] Adding digest v0.9.0 (latest: v0.10.7) [INFO] [stderr] Adding enum-as-inner v0.3.4 (latest: v0.6.0) [INFO] [stderr] Adding generic-array v0.14.7 (latest: v1.0.0) [INFO] [stderr] Adding getrandom v0.1.16 (latest: v0.2.13) [INFO] [stderr] Adding h2 v0.2.7 (latest: v0.4.4) [INFO] [stderr] Adding hashbrown v0.12.3 (latest: v0.14.3) [INFO] [stderr] Adding heck v0.4.1 (latest: v0.5.0) [INFO] [stderr] Adding hermit-abi v0.1.19 (latest: v0.3.9) [INFO] [stderr] Adding hostname v0.3.1 (latest: v0.4.0) [INFO] [stderr] Adding http v0.2.12 (latest: v1.1.0) [INFO] [stderr] Adding idna v0.2.3 (latest: v0.5.0) [INFO] [stderr] Adding indexmap v1.9.3 (latest: v2.2.6) [INFO] [stderr] Adding ipconfig v0.2.2 (latest: v0.3.2) [INFO] [stderr] Adding itoa v0.4.8 (latest: v1.0.11) [INFO] [stderr] Adding language-tags v0.2.2 (latest: v0.3.2) [INFO] [stderr] Adding mio v0.6.23 (latest: v0.8.11) [INFO] [stderr] Adding miow v0.2.2 (latest: v0.6.0) [INFO] [stderr] Adding parking_lot v0.11.2 (latest: v0.12.1) [INFO] [stderr] Adding parking_lot_core v0.8.6 (latest: v0.9.9) [INFO] [stderr] Adding pin-project v0.4.30 (latest: v1.1.5) [INFO] [stderr] Adding pin-project-internal v0.4.30 (latest: v1.1.5) [INFO] [stderr] Adding pin-project-lite v0.1.12 (latest: v0.2.14) [INFO] [stderr] Adding quick-error v1.2.3 (latest: v2.0.1) [INFO] [stderr] Adding rand v0.7.3 (latest: v0.8.5) [INFO] [stderr] Adding rand_chacha v0.2.2 (latest: v0.3.1) [INFO] [stderr] Adding rand_core v0.5.1 (latest: v0.6.4) [INFO] [stderr] Adding rand_hc v0.2.0 (latest: v0.3.2) [INFO] [stderr] Adding redox_syscall v0.2.16 (latest: v0.5.1) [INFO] [stderr] Adding rustc_version v0.2.3 (latest: v0.4.0) [INFO] [stderr] Adding semver v0.9.0 (latest: v1.0.22) [INFO] [stderr] Adding semver-parser v0.7.0 (latest: v0.10.2) [INFO] [stderr] Adding sha-1 v0.9.8 (latest: v0.10.1) [INFO] [stderr] Adding sha1 v0.6.1 (latest: v0.10.6) [INFO] [stderr] Adding socket2 v0.3.19 (latest: v0.5.6) [INFO] [stderr] Adding standback v0.2.17 (latest: v0.4.4) [INFO] [stderr] Adding strsim v0.8.0 (latest: v0.11.1) [INFO] [stderr] Adding syn v1.0.109 (latest: v2.0.58) [INFO] [stderr] Adding textwrap v0.11.0 (latest: v0.16.1) [INFO] [stderr] Adding time v0.2.27 (latest: v0.3.34) [INFO] [stderr] Adding time-macros v0.1.1 (latest: v0.2.17) [INFO] [stderr] Adding tokio v0.2.25 (latest: v1.37.0) [INFO] [stderr] Adding tokio-util v0.3.1 (latest: v0.7.10) [INFO] [stderr] Adding trust-dns-proto v0.19.7 (latest: v0.23.2) [INFO] [stderr] Adding trust-dns-resolver v0.19.7 (latest: v0.23.2) [INFO] [stderr] Adding wasi v0.9.0+wasi-snapshot-preview1 (latest: v0.13.0+wasi-0.2.0) [INFO] [stderr] Adding widestring v0.4.3 (latest: v1.0.2) [INFO] [stderr] Adding winapi v0.2.8 (latest: v0.3.9) [INFO] [stderr] Adding windows-core v0.52.0 (latest: v0.55.0) [INFO] [stderr] Adding windows-sys v0.48.0 (latest: v0.52.0) [INFO] [stderr] Adding windows-targets v0.48.5 (latest: v0.52.4) [INFO] [stderr] Adding windows_aarch64_gnullvm v0.48.5 (latest: v0.52.4) [INFO] [stderr] Adding windows_aarch64_msvc v0.48.5 (latest: v0.52.4) [INFO] [stderr] Adding windows_i686_gnu v0.48.5 (latest: v0.52.4) [INFO] [stderr] Adding windows_i686_msvc v0.48.5 (latest: v0.52.4) [INFO] [stderr] Adding windows_x86_64_gnu v0.48.5 (latest: v0.52.4) [INFO] [stderr] Adding windows_x86_64_gnullvm v0.48.5 (latest: v0.52.4) [INFO] [stderr] Adding windows_x86_64_msvc v0.48.5 (latest: v0.52.4) [INFO] [stderr] Adding winreg v0.6.2 (latest: v0.52.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8767b22f173ff4a702f5e7d6fabcfe13cd2bec735b16957eb86ea4bcf01c6be7 [INFO] running `Command { std: "docker" "start" "-a" "8767b22f173ff4a702f5e7d6fabcfe13cd2bec735b16957eb86ea4bcf01c6be7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8767b22f173ff4a702f5e7d6fabcfe13cd2bec735b16957eb86ea4bcf01c6be7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8767b22f173ff4a702f5e7d6fabcfe13cd2bec735b16957eb86ea4bcf01c6be7", kill_on_drop: false }` [INFO] [stdout] 8767b22f173ff4a702f5e7d6fabcfe13cd2bec735b16957eb86ea4bcf01c6be7 [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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f09906b11db4d2beda0202a4abb97b915766484fc12173910f6bb7072c242e3e [INFO] running `Command { std: "docker" "start" "-a" "f09906b11db4d2beda0202a4abb97b915766484fc12173910f6bb7072c242e3e", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Checking bytes v0.5.6 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking pin-project-lite v0.1.12 [INFO] [stderr] Compiling pin-project-internal v0.4.30 [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Compiling syn v2.0.58 [INFO] [stderr] Compiling standback v0.2.17 [INFO] [stderr] Checking copyless v0.1.5 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Compiling proc-macro-hack v0.5.20+deprecated [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Compiling const_fn v0.4.9 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Compiling time v0.2.27 [INFO] [stderr] Compiling crc32fast v1.4.0 [INFO] [stderr] Checking regex-syntax v0.8.3 [INFO] [stderr] Checking alloc-no-stdlib v2.0.4 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Checking alloc-stdlib v0.2.2 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling cookie v0.14.4 [INFO] [stderr] Compiling serde_json v1.0.115 [INFO] [stderr] Checking miniz_oxide v0.7.2 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking brotli-decompressor v2.5.1 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Checking itoa v0.4.8 [INFO] [stderr] Checking sha-1 v0.9.8 [INFO] [stderr] Checking language-tags v0.2.2 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking bytestring v1.3.1 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking colored v2.1.0 [INFO] [stderr] Checking flate2 v1.0.28 [INFO] [stderr] Checking net2 v0.2.39 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Checking hostname v0.3.1 [INFO] [stderr] Checking socket2 v0.3.19 [INFO] [stderr] Checking resolv-conf v0.7.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking threadpool v1.8.1 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking brotli v3.5.0 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Checking tokio v0.2.25 [INFO] [stderr] Checking chrono v0.4.37 [INFO] [stderr] Checking regex v1.10.4 [INFO] [stderr] Checking tokio-util v0.3.1 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling actix-macros v0.1.3 [INFO] [stderr] Compiling enum-as-inner v0.3.4 [INFO] [stderr] Compiling time-macros-impl v0.1.2 [INFO] [stderr] Compiling actix-web-codegen v0.4.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling thiserror-impl v1.0.58 [INFO] [stderr] Compiling async-trait v0.1.79 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Checking time-macros v0.1.1 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking tracing-futures v0.2.5 [INFO] [stderr] Checking thiserror v1.0.58 [INFO] [stderr] Checking pin-project v0.4.30 [INFO] [stderr] Checking actix-codec v0.3.0 [INFO] [stderr] Checking actix-threadpool v0.3.3 [INFO] [stderr] Checking actix-rt v1.1.1 [INFO] [stderr] Checking actix-service v1.0.6 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking h2 v0.2.7 [INFO] [stderr] Checking trust-dns-proto v0.19.7 [INFO] [stderr] Checking actix-utils v2.0.0 [INFO] [stderr] Checking actix-server v1.0.4 [INFO] [stderr] Checking actix-tls v2.0.0 [INFO] [stderr] Checking actix-testing v1.0.1 [INFO] [stderr] Checking trust-dns-resolver v0.19.7 [INFO] [stderr] Checking actix-connect v2.0.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking actix-router v0.2.7 [INFO] [stderr] Checking actix-http v2.2.2 [INFO] [stderr] Checking awc v2.0.3 [INFO] [stderr] Checking actix-web v3.3.3 [INFO] [stderr] Checking battlesnake v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web` [INFO] [stdout] --> src/main.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | use actix_web::{get, post, web, App, HttpResponse, HttpServer, Responder}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `astar::Astar` [INFO] [stdout] --> src/battlesnake/mod.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub use astar::Astar; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Reverse` [INFO] [stdout] --> src/battlesnake/astar.rs:7:26 [INFO] [stdout] | [INFO] [stdout] 7 | use std::cmp::{Ordering, Reverse}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Ord` is imported redundantly [INFO] [stdout] --> src/battlesnake/board.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Ord` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `PartialOrd` is imported redundantly [INFO] [stdout] --> src/battlesnake/board.rs:1:46 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `PartialOrd` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GameGrid`, `GridObject` [INFO] [stdout] --> src/battlesnake/heuristic.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use super::grid::{GameGrid, GridObject}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Eq` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Eq` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Ord` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Ord` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `PartialEq` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `PartialEq` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `PartialOrd` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:46 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `PartialOrd` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/battlesnake/path.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/battlesnake/point.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web` [INFO] [stdout] --> src/main.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | use actix_web::{get, post, web, App, HttpResponse, HttpServer, Responder}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `astar::Astar` [INFO] [stdout] --> src/battlesnake/mod.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub use astar::Astar; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Reverse` [INFO] [stdout] --> src/battlesnake/astar.rs:7:26 [INFO] [stdout] | [INFO] [stdout] 7 | use std::cmp::{Ordering, Reverse}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Ord` is imported redundantly [INFO] [stdout] --> src/battlesnake/board.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Ord` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `PartialOrd` is imported redundantly [INFO] [stdout] --> src/battlesnake/board.rs:1:46 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `PartialOrd` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GameGrid`, `GridObject` [INFO] [stdout] --> src/battlesnake/heuristic.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use super::grid::{GameGrid, GridObject}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Eq` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Eq` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Ord` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Ord` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `PartialEq` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `PartialEq` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `PartialOrd` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:46 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `PartialOrd` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/battlesnake/path.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/battlesnake/point.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/385fa9d845dd326c6bbfd58c22244215e431948a/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sym` [INFO] [stdout] --> src/battlesnake/domove.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let sym = GridObject::Snake(gameinfo.get_my_index()); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sym` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `move_point` is never read [INFO] [stdout] --> src/battlesnake/domove.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | let mut move_point = Point::new(0, 0); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/battlesnake/heuristic.rs:82:42 [INFO] [stdout] | [INFO] [stdout] 82 | fn battlesnake(&self, start: &Point, end: &Point) -> f32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AstarNode` is never constructed [INFO] [stdout] --> src/battlesnake/astar.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct AstarNode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_children`, `is_end`, `get_path`, `extend_with_child`, and `get_gscore` are never used [INFO] [stdout] --> src/battlesnake/astar.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl AstarNode { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 24 | pub fn new(point: Point) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn get_children(&self, grid: &GameGrid, heur: &Heuristic) -> Vec<(i32, Point)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn is_end(&self, end: &Point) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn get_path(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn extend_with_child(&self, child: &Point, step: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_gscore(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AstarQueue` is never constructed [INFO] [stdout] --> src/battlesnake/astar.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | struct AstarQueue { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `enqueue`, `dequeue`, `len`, and `point_already_reached` are never used [INFO] [stdout] --> src/battlesnake/astar.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 98 | impl AstarQueue { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 99 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn enqueue(&mut self, node: AstarNode) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn dequeue(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn point_already_reached(&mut self, point: &Point, fscore: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Astar` is never constructed [INFO] [stdout] --> src/battlesnake/astar.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 136 | pub struct Astar { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `solve`, `get_path`, and `get_cost` are never used [INFO] [stdout] --> src/battlesnake/astar.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 141 | impl Astar { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 142 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn solve(&mut self, start: Point, end: Point, grid: &GameGrid, heur: &Heuristic) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn get_path(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn get_cost(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dfs` is never constructed [INFO] [stdout] --> src/battlesnake/dfs.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Dfs { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_atleast_len`, `get_path`, `get_length`, and `get_cost` are never used [INFO] [stdout] --> src/battlesnake/dfs.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Dfs { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 11 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn get_atleast_len(&mut self, start: &Point, grid: &GameGrid, atleast: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn get_path(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn get_length(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn get_cost(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `default`, and `as_option_string` are never used [INFO] [stdout] --> src/battlesnake/domove.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Move { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 22 | pub fn new(input: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn default() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn as_option_string(input: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GridObjectLog` is never used [INFO] [stdout] --> src/battlesnake/game_logger.rs:48:6 [INFO] [stdout] | [INFO] [stdout] 48 | enum GridObjectLog { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GameGridLog` is never constructed [INFO] [stdout] --> src/battlesnake/game_logger.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GameGridLog { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/battlesnake/game_logger.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 83 | impl GameGridLog { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 84 | fn new(dimensions: (usize, usize)) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn from_api(gameinfo: &GameInfo) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | fn is_in_bounds(&self, pos: &Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | fn get_index(&self, pos: &Point) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | fn set_snakes(&mut self, snakes: Vec>) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn set_food(&mut self, food: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn print(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GameStateLog` is never constructed [INFO] [stdout] --> src/battlesnake/game_logger.rs:183:12 [INFO] [stdout] | [INFO] [stdout] 183 | pub struct GameStateLog { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_api` and `print` are never used [INFO] [stdout] --> src/battlesnake/game_logger.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 189 | impl GameStateLog { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 190 | pub fn from_api(data: &GameInfo) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn print(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Empty`, `Food`, `Snake`, `Hazard`, `Collisionchance`, and `Outofbounds` are never constructed [INFO] [stdout] --> src/battlesnake/grid.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum GridObject { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 8 | Empty, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | Food, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | Snake(usize), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | Hazard, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | Collisionchance(i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | Outofbounds, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GridObject` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_snake`, `is_considerable`, and `is_accessible` are never used [INFO] [stdout] --> src/battlesnake/grid.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl GridObject { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 17 | pub fn is_snake(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn is_considerable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn is_accessible(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `height` and `ignore_hazard` are never read [INFO] [stdout] --> src/battlesnake/grid.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct GameGrid { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 67 | height: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | ignore_hazard: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/battlesnake/grid.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl GameGrid { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 74 | pub fn new(dimensions: (usize, usize)) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn from_api(gameinfo: &GameInfo) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn get_index(&self, pos: &Point) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn get_value(&self, pos: &Point) -> GridObject { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn get_value_at_index(&self, i: usize) -> GridObject { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_accessible(&self, pos: &Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn is_in_bounds(&self, pos: &Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_snakes(&mut self, snakes: Vec>) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn set_food(&mut self, food: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn set_food_for_print(&mut self, food: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn set_hazards(&mut self, hazard: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn set_collision_chance(&mut self, collision: &Vec, hp: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn ignore_hazard(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn get_width(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn get_height(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `HeurMethod` is never used [INFO] [stdout] --> src/battlesnake/heuristic.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum HeurMethod { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HeurMethod` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Heuristic` is never constructed [INFO] [stdout] --> src/battlesnake/heuristic.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Heuristic { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/battlesnake/heuristic.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Heuristic { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new(heur_method: HeurMethod) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | fn manhattan(&self, start: &Point, end: &Point) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn euclidean(&self, start: &Point, end: &Point) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn is_in_bounds(&self, p: &Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn battlesnake_init( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | fn battlesnake(&self, start: &Point, end: &Point) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn get_value(&self, start: &Point, end: &Point) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/battlesnake/input.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl GameInfo { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn get_my_head(&self) -> Point { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn get_my_health(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn get_my_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn get_snake_bodies(&self) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn get_head_collision_hazard(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_my_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_my_length(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn get_heads(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn is_win(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `extend_front` are never used [INFO] [stdout] --> src/battlesnake/path.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Path { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn extend_front(&mut self, offset: &Point) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/battlesnake/point.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Point { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn get_x(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn get_y(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn get_right(&self) -> Point { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn get_left(&self) -> Point { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_up(&self) -> Point { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn get_down(&self) -> Point { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn get_neighbours(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn distance_squared(&self, other: &Self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn distance(&self, other: &Self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn find_closest(&self, others: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn get_neighbour_direction(self, neighbour: Self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn is_neighbour(self, other: Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 40 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sym` [INFO] [stdout] --> src/battlesnake/domove.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let sym = GridObject::Snake(gameinfo.get_my_index()); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sym` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `move_point` is never read [INFO] [stdout] --> src/battlesnake/domove.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | let mut move_point = Point::new(0, 0); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/battlesnake/heuristic.rs:82:42 [INFO] [stdout] | [INFO] [stdout] 82 | fn battlesnake(&self, start: &Point, end: &Point) -> f32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/battlesnake/heuristic.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | for (i, val) in expected.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/battlesnake/heuristic.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | for (i, val) in expected.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/battlesnake/heuristic.rs:140:17 [INFO] [stdout] | [INFO] [stdout] 140 | for (i, val) in expected.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `closest_empty` is never read [INFO] [stdout] --> src/battlesnake/astar.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 136 | pub struct Astar { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 137 | solution: Option<(f32, Vec)>, [INFO] [stdout] 138 | closest_empty: Option<(f32, Vec)>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `default`, and `as_option_string` are never used [INFO] [stdout] --> src/battlesnake/domove.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Move { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 22 | pub fn new(input: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn default() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn as_option_string(input: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Hazard` and `Collisionchance` are never constructed [INFO] [stdout] --> src/battlesnake/grid.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum GridObject { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 11 | Hazard, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | Collisionchance(i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GridObject` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_snake` and `is_considerable` are never used [INFO] [stdout] --> src/battlesnake/grid.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl GridObject { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 17 | pub fn is_snake(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn is_considerable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ignore_hazard` is never read [INFO] [stdout] --> src/battlesnake/grid.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct GameGrid { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 70 | ignore_hazard: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/battlesnake/grid.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl GameGrid { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn from_api(gameinfo: &GameInfo) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn get_value_at_index(&self, i: usize) -> GridObject { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn set_food(&mut self, food: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn set_food_for_print(&mut self, food: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn set_hazards(&mut self, hazard: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn set_collision_chance(&mut self, collision: &Vec, hp: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn ignore_hazard(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn get_width(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn get_height(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Euclidean` is never constructed [INFO] [stdout] --> src/battlesnake/heuristic.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum HeurMethod { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] 8 | Manhattan, [INFO] [stdout] 9 | Euclidean, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HeurMethod` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `method` is never read [INFO] [stdout] --> src/battlesnake/heuristic.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Heuristic { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 14 | method: HeurMethod, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/battlesnake/input.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl GameInfo { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn get_my_head(&self) -> Point { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn get_my_health(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn get_my_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn get_head_collision_hazard(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_my_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_my_length(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn is_win(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/battlesnake/path.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Path { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_neighbour` is never used [INFO] [stdout] --> src/battlesnake/point.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Point { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn is_neighbour(self, other: Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.30s [INFO] running `Command { std: "docker" "inspect" "f09906b11db4d2beda0202a4abb97b915766484fc12173910f6bb7072c242e3e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f09906b11db4d2beda0202a4abb97b915766484fc12173910f6bb7072c242e3e", kill_on_drop: false }` [INFO] [stdout] f09906b11db4d2beda0202a4abb97b915766484fc12173910f6bb7072c242e3e [INFO] checking jiricodes/battlesnake against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjiricodes%2Fbattlesnake" "/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/jiricodes/battlesnake on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jiricodes/battlesnake [INFO] finished tweaking git repo https://github.com/jiricodes/battlesnake [INFO] tweaked toml for git repo https://github.com/jiricodes/battlesnake written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "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] 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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] be3dd48cb4805702ed89361ae4529dcf3800f0d15132d3a9a57ef92d6237c972 [INFO] running `Command { std: "docker" "start" "-a" "be3dd48cb4805702ed89361ae4529dcf3800f0d15132d3a9a57ef92d6237c972", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "be3dd48cb4805702ed89361ae4529dcf3800f0d15132d3a9a57ef92d6237c972", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be3dd48cb4805702ed89361ae4529dcf3800f0d15132d3a9a57ef92d6237c972", kill_on_drop: false }` [INFO] [stdout] be3dd48cb4805702ed89361ae4529dcf3800f0d15132d3a9a57ef92d6237c972 [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" "-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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c2bfe249b6a43d5297cc4940dc0efe82db185b3967987db6e0f31de74bb54061 [INFO] running `Command { std: "docker" "start" "-a" "c2bfe249b6a43d5297cc4940dc0efe82db185b3967987db6e0f31de74bb54061", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Checking pin-project-lite v0.1.12 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking bytes v0.5.6 [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Compiling pin-project-internal v0.4.30 [INFO] [stderr] Compiling syn v2.0.58 [INFO] [stderr] Compiling standback v0.2.17 [INFO] [stderr] Checking copyless v0.1.5 [INFO] [stderr] Compiling proc-macro-hack v0.5.20+deprecated [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Compiling const_fn v0.4.9 [INFO] [stderr] Compiling time v0.2.27 [INFO] [stderr] Checking alloc-no-stdlib v2.0.4 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking regex-syntax v0.8.3 [INFO] [stderr] Compiling crc32fast v1.4.0 [INFO] [stderr] Checking alloc-stdlib v0.2.2 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling cookie v0.14.4 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling serde_json v1.0.115 [INFO] [stderr] Checking miniz_oxide v0.7.2 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking brotli-decompressor v2.5.1 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking sha-1 v0.9.8 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Checking language-tags v0.2.2 [INFO] [stderr] Checking itoa v0.4.8 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking bytestring v1.3.1 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking flate2 v1.0.28 [INFO] [stderr] Checking colored v2.1.0 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.39 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Checking hostname v0.3.1 [INFO] [stderr] Checking socket2 v0.3.19 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking resolv-conf v0.7.0 [INFO] [stderr] Checking threadpool v1.8.1 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking clap v2.34.0 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking brotli v3.5.0 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking tokio v0.2.25 [INFO] [stderr] Checking chrono v0.4.37 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling thiserror-impl v1.0.58 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling async-trait v0.1.79 [INFO] [stderr] Checking regex v1.10.4 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking thiserror v1.0.58 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking tracing-futures v0.2.5 [INFO] [stderr] Checking tokio-util v0.3.1 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling actix-macros v0.1.3 [INFO] [stderr] Compiling time-macros-impl v0.1.2 [INFO] [stderr] Compiling enum-as-inner v0.3.4 [INFO] [stderr] Compiling actix-web-codegen v0.4.0 [INFO] [stderr] Checking time-macros v0.1.1 [INFO] [stderr] Checking pin-project v0.4.30 [INFO] [stderr] Checking actix-codec v0.3.0 [INFO] [stderr] Checking actix-service v1.0.6 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking h2 v0.2.7 [INFO] [stderr] Checking trust-dns-proto v0.19.7 [INFO] [stderr] Checking actix-threadpool v0.3.3 [INFO] [stderr] Checking actix-rt v1.1.1 [INFO] [stderr] Checking actix-utils v2.0.0 [INFO] [stderr] Checking actix-server v1.0.4 [INFO] [stderr] Checking actix-tls v2.0.0 [INFO] [stderr] Checking actix-testing v1.0.1 [INFO] [stderr] Checking trust-dns-resolver v0.19.7 [INFO] [stderr] Checking actix-connect v2.0.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking actix-router v0.2.7 [INFO] [stderr] Checking actix-http v2.2.2 [INFO] [stderr] Checking awc v2.0.3 [INFO] [stderr] Checking actix-web v3.3.3 [INFO] [stderr] Checking battlesnake v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web` [INFO] [stdout] --> src/main.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | use actix_web::{get, post, web, App, HttpResponse, HttpServer, Responder}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `astar::Astar` [INFO] [stdout] --> src/battlesnake/mod.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub use astar::Astar; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Reverse` [INFO] [stdout] --> src/battlesnake/astar.rs:7:26 [INFO] [stdout] | [INFO] [stdout] 7 | use std::cmp::{Ordering, Reverse}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Ord` is imported redundantly [INFO] [stdout] --> src/battlesnake/board.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Ord` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `PartialOrd` is imported redundantly [INFO] [stdout] --> src/battlesnake/board.rs:1:46 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `PartialOrd` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GameGrid`, `GridObject` [INFO] [stdout] --> src/battlesnake/heuristic.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use super::grid::{GameGrid, GridObject}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Eq` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Eq` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Ord` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Ord` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `PartialEq` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `PartialEq` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `PartialOrd` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:46 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `PartialOrd` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/battlesnake/path.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/battlesnake/point.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web` [INFO] [stdout] --> src/main.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | use actix_web::{get, post, web, App, HttpResponse, HttpServer, Responder}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `astar::Astar` [INFO] [stdout] --> src/battlesnake/mod.rs:1:9 [INFO] [stdout] | [INFO] [stdout] 1 | pub use astar::Astar; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Reverse` [INFO] [stdout] --> src/battlesnake/astar.rs:7:26 [INFO] [stdout] | [INFO] [stdout] 7 | use std::cmp::{Ordering, Reverse}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Ord` is imported redundantly [INFO] [stdout] --> src/battlesnake/board.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Ord` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `PartialOrd` is imported redundantly [INFO] [stdout] --> src/battlesnake/board.rs:1:46 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `PartialOrd` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GameGrid`, `GridObject` [INFO] [stdout] --> src/battlesnake/heuristic.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use super::grid::{GameGrid, GridObject}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Eq` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Eq` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Ord` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `Ord` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `PartialEq` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `PartialEq` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `PartialOrd` is imported redundantly [INFO] [stdout] --> src/battlesnake/minimax.rs:2:46 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{Eq, Ord, Ordering, PartialEq, PartialOrd}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `PartialOrd` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/battlesnake/path.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `From` is imported redundantly [INFO] [stdout] --> src/battlesnake/point.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::convert::From; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/645bb72776a6a56a1a8f52631a44bd082b2ba509/library/std/src/prelude/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `From` is already defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sym` [INFO] [stdout] --> src/battlesnake/domove.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let sym = GridObject::Snake(gameinfo.get_my_index()); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sym` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `move_point` is never read [INFO] [stdout] --> src/battlesnake/domove.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | let mut move_point = Point::new(0, 0); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/battlesnake/heuristic.rs:82:42 [INFO] [stdout] | [INFO] [stdout] 82 | fn battlesnake(&self, start: &Point, end: &Point) -> f32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sym` [INFO] [stdout] --> src/battlesnake/domove.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let sym = GridObject::Snake(gameinfo.get_my_index()); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_sym` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `move_point` is never read [INFO] [stdout] --> src/battlesnake/domove.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | let mut move_point = Point::new(0, 0); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> src/battlesnake/heuristic.rs:82:42 [INFO] [stdout] | [INFO] [stdout] 82 | fn battlesnake(&self, start: &Point, end: &Point) -> f32 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/battlesnake/heuristic.rs:105:17 [INFO] [stdout] | [INFO] [stdout] 105 | for (i, val) in expected.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/battlesnake/heuristic.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | for (i, val) in expected.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/battlesnake/heuristic.rs:140:17 [INFO] [stdout] | [INFO] [stdout] 140 | for (i, val) in expected.iter().enumerate() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AstarNode` is never constructed [INFO] [stdout] --> src/battlesnake/astar.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct AstarNode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_children`, `is_end`, `get_path`, `extend_with_child`, and `get_gscore` are never used [INFO] [stdout] --> src/battlesnake/astar.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl AstarNode { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 24 | pub fn new(point: Point) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn get_children(&self, grid: &GameGrid, heur: &Heuristic) -> Vec<(i32, Point)> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn is_end(&self, end: &Point) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn get_path(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn extend_with_child(&self, child: &Point, step: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_gscore(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AstarQueue` is never constructed [INFO] [stdout] --> src/battlesnake/astar.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | struct AstarQueue { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `enqueue`, `dequeue`, `len`, and `point_already_reached` are never used [INFO] [stdout] --> src/battlesnake/astar.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 98 | impl AstarQueue { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 99 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn enqueue(&mut self, node: AstarNode) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn dequeue(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn point_already_reached(&mut self, point: &Point, fscore: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Astar` is never constructed [INFO] [stdout] --> src/battlesnake/astar.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 136 | pub struct Astar { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `solve`, `get_path`, and `get_cost` are never used [INFO] [stdout] --> src/battlesnake/astar.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 141 | impl Astar { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 142 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn solve(&mut self, start: Point, end: Point, grid: &GameGrid, heur: &Heuristic) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn get_path(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn get_cost(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dfs` is never constructed [INFO] [stdout] --> src/battlesnake/dfs.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Dfs { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_atleast_len`, `get_path`, `get_length`, and `get_cost` are never used [INFO] [stdout] --> src/battlesnake/dfs.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Dfs { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 11 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn get_atleast_len(&mut self, start: &Point, grid: &GameGrid, atleast: i32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn get_path(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn get_length(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn get_cost(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `default`, and `as_option_string` are never used [INFO] [stdout] --> src/battlesnake/domove.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Move { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 22 | pub fn new(input: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn default() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn as_option_string(input: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GridObjectLog` is never used [INFO] [stdout] --> src/battlesnake/game_logger.rs:48:6 [INFO] [stdout] | [INFO] [stdout] 48 | enum GridObjectLog { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GameGridLog` is never constructed [INFO] [stdout] --> src/battlesnake/game_logger.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GameGridLog { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/battlesnake/game_logger.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 83 | impl GameGridLog { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 84 | fn new(dimensions: (usize, usize)) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn from_api(gameinfo: &GameInfo) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | fn is_in_bounds(&self, pos: &Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | fn get_index(&self, pos: &Point) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | fn set_snakes(&mut self, snakes: Vec>) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn set_food(&mut self, food: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn print(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GameStateLog` is never constructed [INFO] [stdout] --> src/battlesnake/game_logger.rs:183:12 [INFO] [stdout] | [INFO] [stdout] 183 | pub struct GameStateLog { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_api` and `print` are never used [INFO] [stdout] --> src/battlesnake/game_logger.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 189 | impl GameStateLog { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 190 | pub fn from_api(data: &GameInfo) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn print(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Empty`, `Food`, `Snake`, `Hazard`, `Collisionchance`, and `Outofbounds` are never constructed [INFO] [stdout] --> src/battlesnake/grid.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum GridObject { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 8 | Empty, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | Food, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | Snake(usize), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | Hazard, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | Collisionchance(i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | Outofbounds, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GridObject` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_snake`, `is_considerable`, and `is_accessible` are never used [INFO] [stdout] --> src/battlesnake/grid.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl GridObject { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 17 | pub fn is_snake(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn is_considerable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn is_accessible(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `height` and `ignore_hazard` are never read [INFO] [stdout] --> src/battlesnake/grid.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct GameGrid { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 67 | height: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | ignore_hazard: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/battlesnake/grid.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl GameGrid { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 74 | pub fn new(dimensions: (usize, usize)) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn from_api(gameinfo: &GameInfo) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn get_index(&self, pos: &Point) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn get_value(&self, pos: &Point) -> GridObject { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn get_value_at_index(&self, i: usize) -> GridObject { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_accessible(&self, pos: &Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | fn is_in_bounds(&self, pos: &Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn set_snakes(&mut self, snakes: Vec>) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn set_food(&mut self, food: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn set_food_for_print(&mut self, food: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn set_hazards(&mut self, hazard: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn set_collision_chance(&mut self, collision: &Vec, hp: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn ignore_hazard(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn get_width(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn get_height(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `HeurMethod` is never used [INFO] [stdout] --> src/battlesnake/heuristic.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum HeurMethod { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HeurMethod` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Heuristic` is never constructed [INFO] [stdout] --> src/battlesnake/heuristic.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Heuristic { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/battlesnake/heuristic.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Heuristic { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new(heur_method: HeurMethod) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | fn manhattan(&self, start: &Point, end: &Point) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn euclidean(&self, start: &Point, end: &Point) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn is_in_bounds(&self, p: &Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn battlesnake_init( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | fn battlesnake(&self, start: &Point, end: &Point) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn get_value(&self, start: &Point, end: &Point) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/battlesnake/input.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl GameInfo { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn get_my_head(&self) -> Point { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn get_my_health(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn get_my_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn get_snake_bodies(&self) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn get_head_collision_hazard(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_my_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_my_length(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn get_heads(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn is_win(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `extend_front` are never used [INFO] [stdout] --> src/battlesnake/path.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Path { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn extend_front(&mut self, offset: &Point) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/battlesnake/point.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Point { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn get_x(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn get_y(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn get_right(&self) -> Point { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn get_left(&self) -> Point { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn get_up(&self) -> Point { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn get_down(&self) -> Point { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn get_neighbours(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn distance_squared(&self, other: &Self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn distance(&self, other: &Self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn find_closest(&self, others: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn get_neighbour_direction(self, neighbour: Self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn is_neighbour(self, other: Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 40 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `closest_empty` is never read [INFO] [stdout] --> src/battlesnake/astar.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 136 | pub struct Astar { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 137 | solution: Option<(f32, Vec)>, [INFO] [stdout] 138 | closest_empty: Option<(f32, Vec)>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `default`, and `as_option_string` are never used [INFO] [stdout] --> src/battlesnake/domove.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Move { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 22 | pub fn new(input: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn default() -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn as_option_string(input: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Hazard` and `Collisionchance` are never constructed [INFO] [stdout] --> src/battlesnake/grid.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum GridObject { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 11 | Hazard, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | Collisionchance(i32), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GridObject` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_snake` and `is_considerable` are never used [INFO] [stdout] --> src/battlesnake/grid.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl GridObject { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 17 | pub fn is_snake(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn is_considerable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ignore_hazard` is never read [INFO] [stdout] --> src/battlesnake/grid.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub struct GameGrid { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 70 | ignore_hazard: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/battlesnake/grid.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl GameGrid { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn from_api(gameinfo: &GameInfo) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn get_value_at_index(&self, i: usize) -> GridObject { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn set_food(&mut self, food: &Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn set_food_for_print(&mut self, food: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn set_hazards(&mut self, hazard: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn set_collision_chance(&mut self, collision: &Vec, hp: i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn ignore_hazard(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn get_width(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn get_height(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Euclidean` is never constructed [INFO] [stdout] --> src/battlesnake/heuristic.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum HeurMethod { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] 8 | Manhattan, [INFO] [stdout] 9 | Euclidean, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HeurMethod` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `method` is never read [INFO] [stdout] --> src/battlesnake/heuristic.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Heuristic { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 14 | method: HeurMethod, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/battlesnake/input.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl GameInfo { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn get_my_head(&self) -> Point { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn get_my_health(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn get_my_index(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn get_head_collision_hazard(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_my_id(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn get_my_length(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn is_win(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/battlesnake/path.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Path { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_neighbour` is never used [INFO] [stdout] --> src/battlesnake/point.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Point { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn is_neighbour(self, other: Point) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 30 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.94s [INFO] running `Command { std: "docker" "inspect" "c2bfe249b6a43d5297cc4940dc0efe82db185b3967987db6e0f31de74bb54061", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c2bfe249b6a43d5297cc4940dc0efe82db185b3967987db6e0f31de74bb54061", kill_on_drop: false }` [INFO] [stdout] c2bfe249b6a43d5297cc4940dc0efe82db185b3967987db6e0f31de74bb54061