[INFO] cloning repository https://github.com/jordan-schnur/cave-crawler-terminal [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jordan-schnur/cave-crawler-terminal" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjordan-schnur%2Fcave-crawler-terminal", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjordan-schnur%2Fcave-crawler-terminal'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dfd78ea6a8384d247f786377b9a3dc409b29388d [INFO] testing jordan-schnur/cave-crawler-terminal against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjordan-schnur%2Fcave-crawler-terminal" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jordan-schnur/cave-crawler-terminal [INFO] finished tweaking git repo https://github.com/jordan-schnur/cave-crawler-terminal [INFO] tweaked toml for git repo https://github.com/jordan-schnur/cave-crawler-terminal written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jordan-schnur/cave-crawler-terminal on toolchain 1.98.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jordan-schnur/cave-crawler-terminal already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded textwrap v0.16.1 [INFO] [stderr] Downloaded smawk v0.3.2 [INFO] [stderr] Downloaded unicode-linebreak v0.1.5 [INFO] [stderr] Downloaded rand v0.8.5 [INFO] [stderr] Downloaded errno v0.3.10 [INFO] [stderr] Downloaded windows-targets v0.52.6 [INFO] [stderr] Downloaded rand_chacha v0.3.1 [INFO] [stderr] Downloaded signal-hook-mio v0.2.4 [INFO] [stderr] Downloaded crossterm_winapi v0.9.1 [INFO] [stderr] Downloaded scopeguard v1.2.0 [INFO] [stderr] Downloaded byteorder v1.5.0 [INFO] [stderr] Downloaded lock_api v0.4.12 [INFO] [stderr] Downloaded autocfg v1.4.0 [INFO] [stderr] Downloaded wasi v0.11.0+wasi-snapshot-preview1 [INFO] [stderr] Downloaded redox_syscall v0.5.8 [INFO] [stderr] Downloaded quote v1.0.38 [INFO] [stderr] Downloaded rand_core v0.6.4 [INFO] [stderr] Downloaded ppv-lite86 v0.2.20 [INFO] [stderr] Downloaded signal-hook-registry v1.4.2 [INFO] [stderr] Downloaded log v0.4.25 [INFO] [stderr] Downloaded bitflags v2.8.0 [INFO] [stderr] Downloaded parking_lot v0.12.3 [INFO] [stderr] Downloaded parking_lot_core v0.9.10 [INFO] [stderr] Downloaded smallvec v1.13.2 [INFO] [stderr] Downloaded getrandom v0.2.15 [INFO] [stderr] Downloaded unicode-ident v1.0.15 [INFO] [stderr] Downloaded zerocopy-derive v0.7.35 [INFO] [stderr] Downloaded proc-macro2 v1.0.93 [INFO] [stderr] Downloaded signal-hook v0.3.17 [INFO] [stderr] Downloaded mio v1.0.3 [INFO] [stderr] Downloaded unicode-width v0.1.14 [INFO] [stderr] Downloaded crossterm v0.28.1 [INFO] [stderr] Downloaded zerocopy v0.7.35 [INFO] [stderr] Downloaded syn v2.0.96 [INFO] [stderr] Downloaded rustix v0.38.43 [INFO] [stderr] Downloaded windows_aarch64_gnullvm v0.52.6 [INFO] [stderr] Downloaded windows_x86_64_gnullvm v0.52.6 [INFO] [stderr] Downloaded windows_i686_gnullvm v0.52.6 [INFO] [stderr] Downloaded libc v0.2.169 [INFO] [stderr] Downloaded windows_aarch64_msvc v0.52.6 [INFO] [stderr] Downloaded windows_x86_64_msvc v0.52.6 [INFO] [stderr] Downloaded windows_x86_64_gnu v0.52.6 [INFO] [stderr] Downloaded windows_i686_gnu v0.52.6 [INFO] [stderr] Downloaded windows_i686_msvc v0.52.6 [INFO] [stderr] Downloaded winapi v0.3.9 [INFO] [stderr] Downloaded linux-raw-sys v0.4.15 [INFO] [stderr] Downloaded windows-sys v0.59.0 [INFO] [stderr] Downloaded windows-sys v0.52.0 [INFO] [stderr] Downloaded winapi-i686-pc-windows-gnu v0.4.0 [INFO] [stderr] Downloaded winapi-x86_64-pc-windows-gnu v0.4.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 64e613ade9227ba0c720d0d6100bc57af286ee860aab4a725e86ec3f7f89854b [INFO] running `Command { std: "docker" "start" "64e613ade9227ba0c720d0d6100bc57af286ee860aab4a725e86ec3f7f89854b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "64e613ade9227ba0c720d0d6100bc57af286ee860aab4a725e86ec3f7f89854b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "64e613ade9227ba0c720d0d6100bc57af286ee860aab4a725e86ec3f7f89854b" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "64e613ade9227ba0c720d0d6100bc57af286ee860aab4a725e86ec3f7f89854b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "64e613ade9227ba0c720d0d6100bc57af286ee860aab4a725e86ec3f7f89854b" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unicode-ident v1.0.15 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling log v0.4.25 [INFO] [stderr] Compiling rustix v0.38.43 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling bitflags v2.8.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling smawk v0.3.2 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling unicode-linebreak v0.1.5 [INFO] [stderr] Compiling textwrap v0.16.1 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.96 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling cave-diver-terminal v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::camera::Camera` [INFO] [stdout] --> src/enemy/goblin.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::camera::Camera; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::camera::Camera` [INFO] [stdout] --> src/frame.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::camera::Camera; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> src/frame.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::camera::Camera` [INFO] [stdout] --> src/player.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::camera::Camera; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::frame::Frame` [INFO] [stdout] --> src/player.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::frame::Frame; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/tile.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `cursor::MoveTo`, `poll`, `read`, and `style::Print` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | cursor::MoveTo, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 22 | event::{poll, read, Event, KeyCode}, [INFO] [stdout] | ^^^^ ^^^^ ^^^^^ ^^^^^^^ [INFO] [stdout] 23 | execute, [INFO] [stdout] 24 | style::Print, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/main.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `x` is never read [INFO] [stdout] --> src/main.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 85 | let mut x = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 89 | x = (i as u16) % frame.width; [INFO] [stdout] | ---------------------------- `x` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `y` is never read [INFO] [stdout] --> src/main.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | let mut y = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 90 | y = (i as u16) / frame.width; [INFO] [stdout] | ---------------------------- `y` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_visible` is never used [INFO] [stdout] --> src/camera.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Camera { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn is_visible(&self, world_x: i32, world_y: i32, width: u16, height: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_any` is never used [INFO] [stdout] --> src/drawable.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait Drawable { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 15 | fn as_any(&self) -> &dyn std::any::Any; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `downcast_ref` and `downcast_mut` are never used [INFO] [stdout] --> src/drawable.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl dyn Drawable { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 20 | pub fn downcast_ref(&self) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn downcast_mut(&mut self) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `attack` is never used [INFO] [stdout] --> src/enemy/goblin.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Goblin { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn attack(&self, player: &mut Player) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_walkable` and `get_char` are never used [INFO] [stdout] --> src/frame.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Frame { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn is_walkable(&self, x: u16, y: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn get_char(&self, x: u16, y: u16) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_walkable` is never read [INFO] [stdout] --> src/frame.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 118 | pub struct Cell { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 122 | pub is_walkable: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cell` 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: constant `ALPHABET` is never used [INFO] [stdout] --> src/game.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const ALPHABET: &[u8] = b"ABCDEFGHIJKLMN OPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `heal` and `is_alive` are never used [INFO] [stdout] --> src/health.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Health { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn heal(&mut self, amount: i32) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn is_alive(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/activity_log.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl ActivityLog { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 7.41s [INFO] running `Command { std: "docker" "inspect" "64e613ade9227ba0c720d0d6100bc57af286ee860aab4a725e86ec3f7f89854b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "64e613ade9227ba0c720d0d6100bc57af286ee860aab4a725e86ec3f7f89854b" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling cave-diver-terminal v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::camera::Camera` [INFO] [stdout] --> src/enemy/goblin.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::camera::Camera; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::camera::Camera` [INFO] [stdout] --> src/frame.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::camera::Camera; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp` [INFO] [stdout] --> src/frame.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::camera::Camera` [INFO] [stdout] --> src/player.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::camera::Camera; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::frame::Frame` [INFO] [stdout] --> src/player.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::frame::Frame; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/tile.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `cursor::MoveTo`, `poll`, `read`, and `style::Print` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | cursor::MoveTo, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 22 | event::{poll, read, Event, KeyCode}, [INFO] [stdout] | ^^^^ ^^^^ ^^^^^ ^^^^^^^ [INFO] [stdout] 23 | execute, [INFO] [stdout] 24 | style::Print, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/main.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `x` is never read [INFO] [stdout] --> src/main.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 85 | let mut x = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 89 | x = (i as u16) % frame.width; [INFO] [stdout] | ---------------------------- `x` is overwritten here before the previous value is read [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `y` is never read [INFO] [stdout] --> src/main.rs:86:17 [INFO] [stdout] | [INFO] [stdout] 86 | let mut y = 0; [INFO] [stdout] | ^ this value is reassigned later and never used [INFO] [stdout] ... [INFO] [stdout] 90 | y = (i as u16) / frame.width; [INFO] [stdout] | ---------------------------- `y` is overwritten here before the previous value is read [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_visible` is never used [INFO] [stdout] --> src/camera.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Camera { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn is_visible(&self, world_x: i32, world_y: i32, width: u16, height: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_any` is never used [INFO] [stdout] --> src/drawable.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait Drawable { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 15 | fn as_any(&self) -> &dyn std::any::Any; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `downcast_ref` and `downcast_mut` are never used [INFO] [stdout] --> src/drawable.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl dyn Drawable { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 20 | pub fn downcast_ref(&self) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn downcast_mut(&mut self) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `attack` is never used [INFO] [stdout] --> src/enemy/goblin.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Goblin { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn attack(&self, player: &mut Player) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_walkable` and `get_char` are never used [INFO] [stdout] --> src/frame.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Frame { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn is_walkable(&self, x: u16, y: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn get_char(&self, x: u16, y: u16) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_walkable` is never read [INFO] [stdout] --> src/frame.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 118 | pub struct Cell { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 122 | pub is_walkable: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cell` 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: constant `ALPHABET` is never used [INFO] [stdout] --> src/game.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const ALPHABET: &[u8] = b"ABCDEFGHIJKLMN OPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `heal` and `is_alive` are never used [INFO] [stdout] --> src/health.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl Health { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn heal(&mut self, amount: i32) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn is_alive(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/activity_log.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl ActivityLog { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 1.15s [INFO] running `Command { std: "docker" "inspect" "64e613ade9227ba0c720d0d6100bc57af286ee860aab4a725e86ec3f7f89854b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "64e613ade9227ba0c720d0d6100bc57af286ee860aab4a725e86ec3f7f89854b" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `crate::camera::Camera` [INFO] [stderr] --> src/enemy/goblin.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::camera::Camera; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::camera::Camera` [INFO] [stderr] --> src/frame.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::camera::Camera; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp` [INFO] [stderr] --> src/frame.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::cmp; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::camera::Camera` [INFO] [stderr] --> src/player.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::camera::Camera; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::frame::Frame` [INFO] [stderr] --> src/player.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::frame::Frame; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/tile.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Event`, `KeyCode`, `cursor::MoveTo`, `poll`, `read`, and `style::Print` [INFO] [stderr] --> src/main.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | cursor::MoveTo, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 22 | event::{poll, read, Event, KeyCode}, [INFO] [stderr] | ^^^^ ^^^^ ^^^^^ ^^^^^^^ [INFO] [stderr] 23 | execute, [INFO] [stderr] 24 | style::Print, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/main.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: value assigned to `x` is never read [INFO] [stderr] --> src/main.rs:85:17 [INFO] [stderr] | [INFO] [stderr] 85 | let mut x = 0; [INFO] [stderr] | ^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 89 | x = (i as u16) % frame.width; [INFO] [stderr] | ---------------------------- `x` is overwritten here before the previous value is read [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `y` is never read [INFO] [stderr] --> src/main.rs:86:17 [INFO] [stderr] | [INFO] [stderr] 86 | let mut y = 0; [INFO] [stderr] | ^ this value is reassigned later and never used [INFO] [stderr] ... [INFO] [stderr] 90 | y = (i as u16) / frame.width; [INFO] [stderr] | ---------------------------- `y` is overwritten here before the previous value is read [INFO] [stderr] [INFO] [stderr] warning: method `is_visible` is never used [INFO] [stderr] --> src/camera.rs:43:12 [INFO] [stderr] | [INFO] [stderr] 12 | impl Camera { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 43 | pub fn is_visible(&self, world_x: i32, world_y: i32, width: u16, height: u16) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `as_any` is never used [INFO] [stderr] --> src/drawable.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 10 | pub trait Drawable { [INFO] [stderr] | -------- method in this trait [INFO] [stderr] ... [INFO] [stderr] 15 | fn as_any(&self) -> &dyn std::any::Any; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `downcast_ref` and `downcast_mut` are never used [INFO] [stderr] --> src/drawable.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 19 | impl dyn Drawable { [INFO] [stderr] | ----------------- methods in this implementation [INFO] [stderr] 20 | pub fn downcast_ref(&self) -> Option<&T> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 24 | pub fn downcast_mut(&mut self) -> Option<&mut T> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `attack` is never used [INFO] [stderr] --> src/enemy/goblin.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 21 | impl Goblin { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 33 | pub fn attack(&self, player: &mut Player) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `is_walkable` and `get_char` are never used [INFO] [stderr] --> src/frame.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 14 | impl Frame { [INFO] [stderr] | ---------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 33 | pub fn is_walkable(&self, x: u16, y: u16) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 88 | pub fn get_char(&self, x: u16, y: u16) -> Option { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `is_walkable` is never read [INFO] [stderr] --> src/frame.rs:122:9 [INFO] [stderr] | [INFO] [stderr] 118 | pub struct Cell { [INFO] [stderr] | ---- field in this struct [INFO] [stderr] ... [INFO] [stderr] 122 | pub is_walkable: bool, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Cell` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: constant `ALPHABET` is never used [INFO] [stderr] --> src/game.rs:16:7 [INFO] [stderr] | [INFO] [stderr] 16 | const ALPHABET: &[u8] = b"ABCDEFGHIJKLMN OPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `heal` and `is_alive` are never used [INFO] [stderr] --> src/health.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 7 | impl Health { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 19 | pub fn heal(&mut self, amount: i32) { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 34 | pub fn is_alive(&self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `clear` is never used [INFO] [stderr] --> src/activity_log.rs:113:12 [INFO] [stderr] | [INFO] [stderr] 26 | impl ActivityLog { [INFO] [stderr] | ---------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 113 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `cave-diver-terminal` (bin "cave-diver-terminal" test) generated 19 warnings (run `cargo fix --bin "cave-diver-terminal" -p cave-diver-terminal --tests` to apply 8 suggestions) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.09s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/cave_diver_terminal-5b4a68fce7c24c33) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test pathfinding::tests::test_bounding_box_for_path_with_points ... ok [INFO] [stdout] test pathfinding::tests::test_bounding_box_for_path_with_none ... ok [INFO] [stdout] test pathfinding::tests::test_simple_path ... ok [INFO] [stdout] test activity_log::tests::test_activity_log ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "64e613ade9227ba0c720d0d6100bc57af286ee860aab4a725e86ec3f7f89854b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "64e613ade9227ba0c720d0d6100bc57af286ee860aab4a725e86ec3f7f89854b", kill_on_drop: false }` [INFO] [stdout] 64e613ade9227ba0c720d0d6100bc57af286ee860aab4a725e86ec3f7f89854b