[INFO] cloning repository https://github.com/Supersonic2510/rust-minimal-monster-game [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Supersonic2510/rust-minimal-monster-game" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSupersonic2510%2Frust-minimal-monster-game", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSupersonic2510%2Frust-minimal-monster-game'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9dc50efb4f53491ff589608b96e7b585375cdc05 [INFO] linting Supersonic2510/rust-minimal-monster-game against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSupersonic2510%2Frust-minimal-monster-game" "/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/Supersonic2510/rust-minimal-monster-game [INFO] finished tweaking git repo https://github.com/Supersonic2510/rust-minimal-monster-game [INFO] tweaked toml for git repo https://github.com/Supersonic2510/rust-minimal-monster-game written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Supersonic2510/rust-minimal-monster-game on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Supersonic2510/rust-minimal-monster-game 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" "+nightly" "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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bb587b3ca9989887bd636fd4b51b3931d5f4d812d2027fd1c8b6d1de2cd9f40e [INFO] running `Command { std: "docker" "start" "-a" "bb587b3ca9989887bd636fd4b51b3931d5f4d812d2027fd1c8b6d1de2cd9f40e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bb587b3ca9989887bd636fd4b51b3931d5f4d812d2027fd1c8b6d1de2cd9f40e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bb587b3ca9989887bd636fd4b51b3931d5f4d812d2027fd1c8b6d1de2cd9f40e", kill_on_drop: false }` [INFO] [stdout] bb587b3ca9989887bd636fd4b51b3931d5f4d812d2027fd1c8b6d1de2cd9f40e [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d457f225ec338809e0d62dc6f92e28a31f440a04d2d3b86ab62c35ed927d4c6c [INFO] running `Command { std: "docker" "start" "-a" "d457f225ec338809e0d62dc6f92e28a31f440a04d2d3b86ab62c35ed927d4c6c", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling syn v2.0.74 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking demotest v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `RefCell` and `RefMut` [INFO] [stdout] --> src/monster/goblin.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | cell::{RefCell, RefMut}, [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 imports: `RefCell` and `RefMut` [INFO] [stdout] --> src/monster/orc.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | cell::{RefCell, RefMut}, [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RefMut` [INFO] [stdout] --> src/monster.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | cell::{RefCell, RefMut}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell` and `RefMut` [INFO] [stdout] --> src/weapon/sword.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | cell::{RefCell, RefMut}, [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RefMut` [INFO] [stdout] --> src/weapon.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | cell::{RefCell, RefMut}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell` and `RefMut` [INFO] [stdout] --> src/monster/goblin.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | cell::{RefCell, RefMut}, [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 imports: `RefCell` and `RefMut` [INFO] [stdout] --> src/monster/orc.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | cell::{RefCell, RefMut}, [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RefMut` [INFO] [stdout] --> src/monster.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | cell::{RefCell, RefMut}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RefCell` and `RefMut` [INFO] [stdout] --> src/weapon/sword.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | cell::{RefCell, RefMut}, [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RefMut` [INFO] [stdout] --> src/weapon.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | cell::{RefCell, RefMut}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/distributions/damage.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct DamageDistribution { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 6 | pub damage_low: i8, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 7 | pub damage_center: i8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 8 | pub damage_high: i8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub crit_low: i8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | pub crit_center: i8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 11 | pub crit_high: i8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | pub crit_rate: f32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DamageDistribution` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_no_crit` and `get_damage_value` are never used [INFO] [stdout] --> src/distributions/damage.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl DamageDistribution { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn new_no_crit(damage_low: i8, damage_center: i8, damage_high: i8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn get_damage_value(&self) -> i8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `defend` is never used [INFO] [stdout] --> src/monster.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub trait Monster: Debug { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 18 | fn defend(&self) -> &str; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Goblin` and `Orc` are never constructed [INFO] [stdout] --> src/monster.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub enum MonsterFactory { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 27 | Goblin, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 28 | Orc, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MonsterFactory` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_name` and `get_damage` are never used [INFO] [stdout] --> src/weapon.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub trait Weapon: Debug { [INFO] [stdout] | ------ methods in this trait [INFO] [stdout] 13 | fn get_name(&self) -> Rc; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 14 | fn get_damage(&self) -> i8; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `random` is never used [INFO] [stdout] --> src/weapon.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl WeaponFactory { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 24 | pub fn random() -> Rc> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `damage_dist` are never read [INFO] [stdout] --> src/weapon/sword.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Sword { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 12 | name: Rc, [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | damage_dist: DamageDistribution, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Sword` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/distributions/damage.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | if !(damage_high <= crit_low) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(damage_high > crit_low)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `!RangeInclusive::contains` implementation [INFO] [stdout] --> src/distributions/damage.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | if crit_rate < 0.0 || crit_rate > 1.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `!(0.0..=1.0).contains(&crit_rate)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/distributions/damage.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | / return Self::new( [INFO] [stdout] 59 | | damage_low, [INFO] [stdout] 60 | | damage_center, [INFO] [stdout] 61 | | damage_high, [INFO] [stdout] ... | [INFO] [stdout] 65 | | 0f32, [INFO] [stdout] 66 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 58 ~ Self::new( [INFO] [stdout] 59 + damage_low, [INFO] [stdout] 60 + damage_center, [INFO] [stdout] 61 + damage_high, [INFO] [stdout] 62 + damage_high, [INFO] [stdout] 63 + damage_high, [INFO] [stdout] 64 + damage_high, [INFO] [stdout] 65 + 0f32, [INFO] [stdout] 66 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/grid.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | return monster_array; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 52 - return monster_array; [INFO] [stdout] 52 + monster_array [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/monster/goblin.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | return "The goblin hides behind its shield!"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 40 - return "The goblin hides behind its shield!"; [INFO] [stdout] 40 + "The goblin hides behind its shield!" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/monster/goblin.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | return self.hit_points <= 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return self.hit_points <= 0; [INFO] [stdout] 48 + self.hit_points <= 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/monster/goblin.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | return self.speed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 52 - return self.speed; [INFO] [stdout] 52 + self.speed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/monster/orc.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | return self.hit_points <= 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return self.hit_points <= 0; [INFO] [stdout] 48 + self.hit_points <= 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/monster/orc.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | return self.speed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 52 - return self.speed; [INFO] [stdout] 52 + self.speed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/distributions/damage.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct DamageDistribution { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 6 | pub damage_low: i8, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 7 | pub damage_center: i8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 8 | pub damage_high: i8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 9 | pub crit_low: i8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | pub crit_center: i8, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 11 | pub crit_high: i8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 12 | pub crit_rate: f32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DamageDistribution` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_no_crit` and `get_damage_value` are never used [INFO] [stdout] --> src/distributions/damage.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl DamageDistribution { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn new_no_crit(damage_low: i8, damage_center: i8, damage_high: i8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn get_damage_value(&self) -> i8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `defend` is never used [INFO] [stdout] --> src/monster.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 15 | pub trait Monster: Debug { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 18 | fn defend(&self) -> &str; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Goblin` and `Orc` are never constructed [INFO] [stdout] --> src/monster.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub enum MonsterFactory { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 27 | Goblin, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 28 | Orc, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MonsterFactory` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_name` and `get_damage` are never used [INFO] [stdout] --> src/weapon.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub trait Weapon: Debug { [INFO] [stdout] | ------ methods in this trait [INFO] [stdout] 13 | fn get_name(&self) -> Rc; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 14 | fn get_damage(&self) -> i8; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `random` is never used [INFO] [stdout] --> src/weapon.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl WeaponFactory { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 24 | pub fn random() -> Rc> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `damage_dist` are never read [INFO] [stdout] --> src/weapon/sword.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Sword { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 12 | name: Rc, [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | damage_dist: DamageDistribution, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Sword` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/weapon/sword.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | return self.name.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 - return self.name.clone(); [INFO] [stdout] 27 + self.name.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/weapon/sword.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | return self.damage_dist.get_damage_value(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 31 - return self.damage_dist.get_damage_value(); [INFO] [stdout] 31 + self.damage_dist.get_damage_value() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/distributions/damage.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | if !(damage_high <= crit_low) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(damage_high > crit_low)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `!RangeInclusive::contains` implementation [INFO] [stdout] --> src/distributions/damage.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | if crit_rate < 0.0 || crit_rate > 1.0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `!(0.0..=1.0).contains(&crit_rate)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/distributions/damage.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | / return Self::new( [INFO] [stdout] 59 | | damage_low, [INFO] [stdout] 60 | | damage_center, [INFO] [stdout] 61 | | damage_high, [INFO] [stdout] ... | [INFO] [stdout] 65 | | 0f32, [INFO] [stdout] 66 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 58 ~ Self::new( [INFO] [stdout] 59 + damage_low, [INFO] [stdout] 60 + damage_center, [INFO] [stdout] 61 + damage_high, [INFO] [stdout] 62 + damage_high, [INFO] [stdout] 63 + damage_high, [INFO] [stdout] 64 + damage_high, [INFO] [stdout] 65 + 0f32, [INFO] [stdout] 66 ~ ) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/grid.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | return monster_array; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 52 - return monster_array; [INFO] [stdout] 52 + monster_array [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/monster/goblin.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | return "The goblin hides behind its shield!"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 40 - return "The goblin hides behind its shield!"; [INFO] [stdout] 40 + "The goblin hides behind its shield!" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/monster/goblin.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | return self.hit_points <= 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return self.hit_points <= 0; [INFO] [stdout] 48 + self.hit_points <= 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/monster/goblin.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | return self.speed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 52 - return self.speed; [INFO] [stdout] 52 + self.speed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/monster/orc.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | return self.hit_points <= 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return self.hit_points <= 0; [INFO] [stdout] 48 + self.hit_points <= 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/monster/orc.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | return self.speed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 52 - return self.speed; [INFO] [stdout] 52 + self.speed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/weapon/sword.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | return self.name.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 - return self.name.clone(); [INFO] [stdout] 27 + self.name.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/weapon/sword.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | return self.damage_dist.get_damage_value(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 31 - return self.damage_dist.get_damage_value(); [INFO] [stdout] 31 + self.damage_dist.get_damage_value() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.46s [INFO] running `Command { std: "docker" "inspect" "d457f225ec338809e0d62dc6f92e28a31f440a04d2d3b86ab62c35ed927d4c6c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d457f225ec338809e0d62dc6f92e28a31f440a04d2d3b86ab62c35ed927d4c6c", kill_on_drop: false }` [INFO] [stdout] d457f225ec338809e0d62dc6f92e28a31f440a04d2d3b86ab62c35ed927d4c6c