[INFO] cloning repository https://github.com/jpfifer/dungeon_crawl [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jpfifer/dungeon_crawl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjpfifer%2Fdungeon_crawl", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjpfifer%2Fdungeon_crawl'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dc9feaef61c48eccd89da69e88d1873abcdbd515 [INFO] linting jpfifer/dungeon_crawl against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjpfifer%2Fdungeon_crawl" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jpfifer/dungeon_crawl [INFO] finished tweaking git repo https://github.com/jpfifer/dungeon_crawl [INFO] tweaked toml for git repo https://github.com/jpfifer/dungeon_crawl written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jpfifer/dungeon_crawl 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/jpfifer/dungeon_crawl 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] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bracket-algorithm-traits v0.8.2 [INFO] [stderr] Downloaded glutin_gles2_sys v0.1.5 [INFO] [stderr] Downloaded ctrlc v3.1.8 [INFO] [stderr] Downloaded wayland-egl v0.28.5 [INFO] [stderr] Downloaded serde v1.0.115 [INFO] [stderr] Downloaded bracket-pathfinding v0.8.4 [INFO] [stderr] Downloaded bracket-noise v0.8.2 [INFO] [stderr] Downloaded ron v0.6.1 [INFO] [stderr] Downloaded cocoa v0.23.0 [INFO] [stderr] Downloaded glutin v0.26.0 [INFO] [stderr] Downloaded js-sys v0.3.50 [INFO] [stderr] Downloaded legion v0.3.1 [INFO] [stderr] Downloaded wide v0.5.5 [INFO] [stderr] Downloaded serde_derive v1.0.115 [INFO] [stderr] Downloaded ultraviolet v0.7.5 [INFO] [stderr] Downloaded wasm-bindgen v0.2.73 [INFO] [stderr] Downloaded bracket-color v0.8.2 [INFO] [stderr] Downloaded erased-serde v0.3.13 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.73 [INFO] [stderr] Downloaded regex v1.4.5 [INFO] [stderr] Downloaded syn v1.0.69 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.73 [INFO] [stderr] Downloaded regex-syntax v0.6.23 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.73 [INFO] [stderr] Downloaded bracket-geometry v0.8.2 [INFO] [stderr] Downloaded glutin_egl_sys v0.1.5 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.73 [INFO] [stderr] Downloaded glutin_glx_sys v0.1.7 [INFO] [stderr] Downloaded legion_codegen v0.3.0 [INFO] [stderr] Downloaded glutin_wgl_sys v0.1.5 [INFO] [stderr] Downloaded libc v0.2.93 [INFO] [stderr] Downloaded web-sys v0.3.50 [INFO] [stderr] Downloaded bracket-terminal v0.8.2 [INFO] [stderr] Downloaded object-pool v0.5.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] d5bc34d1bf83a6ae6c2a9523d550b571b342426ea8edda79682f64368b4d3ea7 [INFO] running `Command { std: "docker" "start" "-a" "d5bc34d1bf83a6ae6c2a9523d550b571b342426ea8edda79682f64368b4d3ea7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d5bc34d1bf83a6ae6c2a9523d550b571b342426ea8edda79682f64368b4d3ea7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d5bc34d1bf83a6ae6c2a9523d550b571b342426ea8edda79682f64368b4d3ea7", kill_on_drop: false }` [INFO] [stdout] d5bc34d1bf83a6ae6c2a9523d550b571b342426ea8edda79682f64368b4d3ea7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] f165b1fab79712d93fc2cd25fb6165594d484acccde31ddb1d3d715d3448d369 [INFO] running `Command { std: "docker" "start" "-a" "f165b1fab79712d93fc2cd25fb6165594d484acccde31ddb1d3d715d3448d369", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.93 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Compiling syn v1.0.69 [INFO] [stderr] Compiling wayland-sys v0.28.5 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Checking bytemuck v1.5.1 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Checking instant v0.1.9 [INFO] [stderr] Checking nom v6.1.2 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Compiling serde_derive v1.0.115 [INFO] [stderr] Compiling wayland-protocols v0.28.5 [INFO] [stderr] Compiling serde v1.0.115 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Checking andrew v0.3.1 [INFO] [stderr] Checking dlib v0.4.2 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Checking safe_arch v0.5.2 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Checking lazycell v1.3.0 [INFO] [stderr] Checking miniz_oxide v0.3.7 [INFO] [stderr] Checking deflate v0.8.6 [INFO] [stderr] Checking aho-corasick v0.7.15 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Checking regex-syntax v0.6.23 [INFO] [stderr] Checking crossbeam-channel v0.5.0 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Compiling gl_generator v0.13.1 [INFO] [stderr] Checking jpeg-decoder v0.1.22 [INFO] [stderr] Checking crossbeam-channel v0.4.4 [INFO] [stderr] Checking itertools v0.9.0 [INFO] [stderr] Checking wide v0.5.5 [INFO] [stderr] Compiling paste v1.0.5 [INFO] [stderr] Checking base64 v0.12.3 [INFO] [stderr] Compiling glow v0.4.0 [INFO] [stderr] Checking png v0.16.8 [INFO] [stderr] Checking nix v0.20.0 [INFO] [stderr] Checking parking_lot_core v0.8.3 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking nix v0.18.0 [INFO] [stderr] Checking net2 v0.2.37 [INFO] [stderr] Compiling glutin_glx_sys v0.1.7 [INFO] [stderr] Compiling glutin_egl_sys v0.1.5 [INFO] [stderr] Checking memmap2 v0.1.0 [INFO] [stderr] Checking rand_core v0.6.2 [INFO] [stderr] Checking parking_lot_core v0.7.2 [INFO] [stderr] Checking raw-window-handle v0.3.3 [INFO] [stderr] Checking parking_lot v0.11.1 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Checking rand_chacha v0.3.0 [INFO] [stderr] Checking parking_lot v0.10.2 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Checking rand_xorshift v0.3.0 [INFO] [stderr] Checking rand v0.8.3 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking bracket-color v0.8.2 [INFO] [stderr] Checking rayon-core v1.9.0 [INFO] [stderr] Checking object-pool v0.5.3 [INFO] [stderr] Checking xcursor v0.3.3 [INFO] [stderr] Checking image v0.23.14 [INFO] [stderr] Checking mio-extras v2.0.6 [INFO] [stderr] Checking flate2 v1.0.20 [INFO] [stderr] Checking rayon v1.5.0 [INFO] [stderr] Checking ultraviolet v0.7.5 [INFO] [stderr] Checking regex v1.4.5 [INFO] [stderr] Checking bracket-random v0.8.2 [INFO] [stderr] Checking bracket-noise v0.8.2 [INFO] [stderr] Checking bracket-geometry v0.8.2 [INFO] [stderr] Checking bracket-algorithm-traits v0.8.2 [INFO] [stderr] Checking bracket-pathfinding v0.8.4 [INFO] [stderr] Checking calloop v0.6.5 [INFO] [stderr] Checking wayland-commons v0.28.5 [INFO] [stderr] Checking ctrlc v3.1.8 [INFO] [stderr] Checking wayland-client v0.28.5 [INFO] [stderr] Compiling thiserror-impl v1.0.24 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling thiserror v1.0.24 [INFO] [stderr] Compiling legion_codegen v0.3.0 [INFO] [stderr] Checking wayland-cursor v0.28.5 [INFO] [stderr] Checking wayland-egl v0.28.5 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Checking erased-serde v0.3.13 [INFO] [stderr] Checking ron v0.6.1 [INFO] [stderr] Checking legion v0.3.1 [INFO] [stderr] Checking smithay-client-toolkit v0.12.3 [INFO] [stderr] Checking winit v0.24.0 [INFO] [stderr] Checking glutin v0.26.0 [INFO] [stderr] Checking bracket-terminal v0.8.2 [INFO] [stderr] Checking bracket-lib v0.8.1 [INFO] [stderr] Checking dungeon_crawl v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::spawner::themes::DungeonTheme` [INFO] [stdout] --> src/map.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::spawner::themes::DungeonTheme; [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::spawner::themes::DungeonTheme` [INFO] [stdout] --> src/map_builder/automata.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::spawner::themes::DungeonTheme; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::map_builder::drunkard::DESIRED_FLOOR` [INFO] [stdout] --> src/map_builder/tests/drunkard_test.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::map_builder::drunkard::DESIRED_FLOOR; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::map_builder::empty::EmptyArchitect` [INFO] [stdout] --> src/map_builder/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::map_builder::empty::EmptyArchitect; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::spawner::themes::DungeonTheme` [INFO] [stdout] --> src/map.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::spawner::themes::DungeonTheme; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/spawner/template.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | (( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 69 | )), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 65 ~ ( [INFO] [stdout] 66 | point.clone(), [INFO] [stdout] 67 | template.render(), [INFO] [stdout] 68 | Name(template.name.clone()), [INFO] [stdout] 69 ~ ) , [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses [INFO] [stdout] --> src/spawner/template.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | / (( [INFO] [stdout] 66 | | point.clone(), [INFO] [stdout] 67 | | template.render(), [INFO] [stdout] 68 | | Name(template.name.clone()), [INFO] [stdout] 69 | | )), [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stdout] = note: `#[warn(clippy::double_parens)]` on by default [INFO] [stdout] help: remove them [INFO] [stdout] | [INFO] [stdout] 65 ~ ( [INFO] [stdout] 66 + point.clone(), [INFO] [stdout] 67 + template.render(), [INFO] [stdout] 68 + Name(template.name.clone()), [INFO] [stdout] 69 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/spawner/tests/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::prelude::*` [INFO] [stdout] --> src/spawner/tests/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::spawner::themes::DungeonTheme` [INFO] [stdout] --> src/map_builder/automata.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::spawner::themes::DungeonTheme; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::map_builder::empty::EmptyArchitect` [INFO] [stdout] --> src/map_builder/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::map_builder::empty::EmptyArchitect; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/spawner/template.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | (( [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 69 | )), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 65 ~ ( [INFO] [stdout] 66 | point.clone(), [INFO] [stdout] 67 | template.render(), [INFO] [stdout] 68 | Name(template.name.clone()), [INFO] [stdout] 69 ~ ) , [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses [INFO] [stdout] --> src/spawner/template.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | / (( [INFO] [stdout] 66 | | point.clone(), [INFO] [stdout] 67 | | template.render(), [INFO] [stdout] 68 | | Name(template.name.clone()), [INFO] [stdout] 69 | | )), [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stdout] = note: `#[warn(clippy::double_parens)]` on by default [INFO] [stdout] help: remove them [INFO] [stdout] | [INFO] [stdout] 65 ~ ( [INFO] [stdout] 66 + point.clone(), [INFO] [stdout] 67 + template.render(), [INFO] [stdout] 68 + Name(template.name.clone()), [INFO] [stdout] 69 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/spawner/tests/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::prelude::*` [INFO] [stdout] --> src/spawner/tests/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::spawner::template::Templates` [INFO] [stdout] --> src/spawner/tests/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::spawner::template::Templates; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/systems/combat.rs:42:19 [INFO] [stdout] | [INFO] [stdout] 42 | if let Ok(mut health) = ecs [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/map_builder/tests/drunkard_test.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut mb = drunkard.new(&mut rng); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/systems/fov.rs:11:26 [INFO] [stdout] | [INFO] [stdout] 11 | .for_each(|(pos, mut fov)| { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/systems/pickup_item.rs:28:48 [INFO] [stdout] | [INFO] [stdout] 28 | ... .for_each(|(e, c, w)| commands.remove(*e)) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w` [INFO] [stdout] --> src/systems/pickup_item.rs:28:51 [INFO] [stdout] | [INFO] [stdout] 28 | ... .for_each(|(e, c, w)| commands.remove(*e)) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_w` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/systems/pickup_item.rs:20:32 [INFO] [stdout] | [INFO] [stdout] 20 | .for_each(|(e, i, _)| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `did_something` is never read [INFO] [stdout] --> src/systems/player_input.rs:83:17 [INFO] [stdout] | [INFO] [stdout] 83 | did_something = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/systems/combat.rs:42:19 [INFO] [stdout] | [INFO] [stdout] 42 | if let Ok(mut health) = ecs [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> src/systems/use_item.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | .for_each(|(entity, activate)| { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/systems/fov.rs:11:26 [INFO] [stdout] | [INFO] [stdout] 11 | .for_each(|(pos, mut fov)| { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MonsterSpawner` is never constructed [INFO] [stdout] --> src/components.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct MonsterSpawner; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EmptyArchitect` is never constructed [INFO] [stdout] --> src/map_builder/empty.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct EmptyArchitect {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_templates` is never used [INFO] [stdout] --> src/spawner/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn load_templates() -> Templates { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/systems/pickup_item.rs:28:48 [INFO] [stdout] | [INFO] [stdout] 28 | ... .for_each(|(e, c, w)| commands.remove(*e)) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `w` [INFO] [stdout] --> src/systems/pickup_item.rs:28:51 [INFO] [stdout] | [INFO] [stdout] 28 | ... .for_each(|(e, c, w)| commands.remove(*e)) [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_w` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/systems/pickup_item.rs:20:32 [INFO] [stdout] | [INFO] [stdout] 20 | .for_each(|(e, i, _)| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `did_something` is never read [INFO] [stdout] --> src/systems/player_input.rs:83:17 [INFO] [stdout] | [INFO] [stdout] 83 | did_something = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/map.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | / match self.tiles[idx] { [INFO] [stdout] 53 | | TileType::Floor => true, [INFO] [stdout] 54 | | TileType::Exit => true, [INFO] [stdout] 55 | | _ => false, [INFO] [stdout] 56 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 52 - match self.tiles[idx] { [INFO] [stdout] 53 - TileType::Floor => true, [INFO] [stdout] 54 - TileType::Exit => true, [INFO] [stdout] 55 - _ => false, [INFO] [stdout] 56 - } [INFO] [stdout] 52 + matches!(self.tiles[idx], TileType::Floor | TileType::Exit) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/map_builder/automata.rs:86:76 [INFO] [stdout] | [INFO] [stdout] 86 | .min_by(|(_, distance1), (_, distance2)| distance1.partial_cmp(&distance2).unwrap()) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `distance2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entity` [INFO] [stdout] --> src/systems/use_item.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | .for_each(|(entity, activate)| { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> src/map_builder/drunkard.rs:62:32 [INFO] [stdout] | [INFO] [stdout] 62 | let mut drunkard_pos = start.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*start` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually return `Self` [INFO] [stdout] --> src/map_builder/themes.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | / pub fn new() -> Box { [INFO] [stdout] 7 | | Box::new(Self {}) [INFO] [stdout] 8 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stdout] = note: `#[warn(clippy::new_ret_no_self)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually return `Self` [INFO] [stdout] --> src/map_builder/themes.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / pub fn new() -> Box { [INFO] [stdout] 25 | | Box::new(Self {}) [INFO] [stdout] 26 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually take no `self` [INFO] [stdout] --> src/map_builder/mod.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | fn new(&mut self, rng: &mut RandomNumberGenerator) -> MapBuilder; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually return `Self` [INFO] [stdout] --> src/map_builder/mod.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | fn new(&mut self, rng: &mut RandomNumberGenerator) -> MapBuilder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/map_builder/mod.rs:66:32 [INFO] [stdout] | [INFO] [stdout] 66 | self.map.tiles[idx as usize] = TileType::Floor; [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `idx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/map_builder/mod.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | self.map.tiles[idx as usize] = TileType::Floor; [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `idx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/map_builder/mod.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | rooms.sort_by(|a, b| a.center().x.cmp(&b.center().x)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 82 - rooms.sort_by(|a, b| a.center().x.cmp(&b.center().x)); [INFO] [stdout] 82 + rooms.sort_by_key(|a| a.center().x); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MonsterSpawner` is never constructed [INFO] [stdout] --> src/components.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct MonsterSpawner; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EmptyArchitect` is never constructed [INFO] [stdout] --> src/map_builder/empty.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct EmptyArchitect {} [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_templates` is never used [INFO] [stdout] --> src/spawner/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn load_templates() -> Templates { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> src/map_builder/mod.rs:152:25 [INFO] [stdout] | [INFO] [stdout] 152 | spawns.push(spawnable_tiles[target_index].clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `spawnable_tiles[target_index]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/map.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | / match self.tiles[idx] { [INFO] [stdout] 53 | | TileType::Floor => true, [INFO] [stdout] 54 | | TileType::Exit => true, [INFO] [stdout] 55 | | _ => false, [INFO] [stdout] 56 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 52 - match self.tiles[idx] { [INFO] [stdout] 53 - TileType::Floor => true, [INFO] [stdout] 54 - TileType::Exit => true, [INFO] [stdout] 55 - _ => false, [INFO] [stdout] 56 - } [INFO] [stdout] 52 + matches!(self.tiles[idx], TileType::Floor | TileType::Exit) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> src/spawner/template.rs:66:17 [INFO] [stdout] | [INFO] [stdout] 66 | point.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*point` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/map_builder/automata.rs:86:76 [INFO] [stdout] | [INFO] [stdout] 86 | .min_by(|(_, distance1), (_, distance2)| distance1.partial_cmp(&distance2).unwrap()) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `distance2` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/systems/chasing.rs:14:22 [INFO] [stdout] | [INFO] [stdout] 14 | let player_pos = player.iter(ecs).nth(0).unwrap().0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `player.iter(ecs).next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] = note: `#[warn(clippy::iter_nth_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/systems/chasing.rs:21:40 [INFO] [stdout] | [INFO] [stdout] 21 | if !fov.visible_tiles.contains(&player_pos) { [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `player_pos` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> src/map_builder/drunkard.rs:62:32 [INFO] [stdout] | [INFO] [stdout] 62 | let mut drunkard_pos = start.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*start` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/systems/end_turn.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | let amulet_pos = amulet.iter(ecs).nth(0).unwrap_or(&amulet_default); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `amulet.iter(ecs).next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `TurnState` which implements the `Copy` trait [INFO] [stdout] --> src/systems/end_turn.rs:13:25 [INFO] [stdout] | [INFO] [stdout] 13 | let current_state = turn_state.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*turn_state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/systems/entity_render.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | let player_fov = fov.iter(ecs).nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `fov.iter(ecs).next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/systems/entity_render.rs:17:62 [INFO] [stdout] | [INFO] [stdout] 17 | .filter(|(pos, _)| player_fov.visible_tiles.contains(&pos)) [INFO] [stdout] | ^^^^ help: change this to: `pos` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/systems/hud.rs:11:25 [INFO] [stdout] | [INFO] [stdout] 11 | let player_health = health_query.iter(ecs).nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `health_query.iter(ecs).next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.find_map(..)` can be written more simply using `.map(..).next()` [INFO] [stdout] --> src/systems/hud.rs:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | .find_map(|(entity, player)| Some((*entity, player.map_level))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_find_map [INFO] [stdout] = note: `#[warn(clippy::unnecessary_find_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/map_builder/tests/mod.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | print!("\n"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] = note: `#[warn(clippy::print_with_newline)]` on by default [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 25 - print!("\n"); [INFO] [stdout] 25 + println!(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/systems/map_render.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | #[resource] theme: &Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `&dyn MapTheme` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] = note: `#[warn(clippy::borrowed_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually return `Self` [INFO] [stdout] --> src/map_builder/themes.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | / pub fn new() -> Box { [INFO] [stdout] 7 | | Box::new(Self {}) [INFO] [stdout] 8 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stdout] = note: `#[warn(clippy::new_ret_no_self)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/systems/map_render.rs:13:22 [INFO] [stdout] | [INFO] [stdout] 13 | let player_fov = fov.iter(ecs).nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `fov.iter(ecs).next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually return `Self` [INFO] [stdout] --> src/map_builder/themes.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | / pub fn new() -> Box { [INFO] [stdout] 25 | | Box::new(Self {}) [INFO] [stdout] 26 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually take no `self` [INFO] [stdout] --> src/map_builder/mod.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | fn new(&mut self, rng: &mut RandomNumberGenerator) -> MapBuilder; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider choosing a less ambiguous name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stdout] = note: `#[warn(clippy::wrong_self_convention)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually return `Self` [INFO] [stdout] --> src/map_builder/mod.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | fn new(&mut self, rng: &mut RandomNumberGenerator) -> MapBuilder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/map_builder/mod.rs:66:32 [INFO] [stdout] | [INFO] [stdout] 66 | self.map.tiles[idx as usize] = TileType::Floor; [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `idx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/map_builder/mod.rs:75:32 [INFO] [stdout] | [INFO] [stdout] 75 | self.map.tiles[idx as usize] = TileType::Floor; [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `idx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/map_builder/mod.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | rooms.sort_by(|a, b| a.center().x.cmp(&b.center().x)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 82 - rooms.sort_by(|a, b| a.center().x.cmp(&b.center().x)); [INFO] [stdout] 82 + rooms.sort_by_key(|a| a.center().x); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> src/map_builder/mod.rs:152:25 [INFO] [stdout] | [INFO] [stdout] 152 | spawns.push(spawnable_tiles[target_index].clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `spawnable_tiles[target_index]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.find_map(..)` can be written more simply using `.map(..).next()` [INFO] [stdout] --> src/systems/player_input.rs:61:14 [INFO] [stdout] | [INFO] [stdout] 61 | .find_map(|(entity, pos)| Some((*entity, *pos + delta))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_find_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.find_map(..)` can be written more simply using `.map(..).next()` [INFO] [stdout] --> src/systems/player_input.rs:101:10 [INFO] [stdout] | [INFO] [stdout] 101 | .find_map(|(entity, _)| Some(*entity)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_find_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.find_map(..)` can be written more simply using `.map(..).next()` [INFO] [stdout] --> src/systems/player_input.rs:108:10 [INFO] [stdout] | [INFO] [stdout] 108 | .find_map(|(_, (item_entity, _, _))| Some(*item_entity)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_find_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/systems/tooltips.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | let player_fov = fov.iter(ecs).nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `fov.iter(ecs).next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/systems/use_item.rs:17:30 [INFO] [stdout] | [INFO] [stdout] 17 | single_use = !item.get_component::().is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `item.get_component::().is_err()` [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: the function `CommandBuffer::new` doesn't need a mutable reference [INFO] [stdout] --> src/main.rs:54:41 [INFO] [stdout] | [INFO] [stdout] 54 | let mut cb = CommandBuffer::new(&mut self.ecs); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 54 - let mut cb = CommandBuffer::new(&mut self.ecs); [INFO] [stdout] 54 + let mut cb = CommandBuffer::new(&self.ecs); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Point` which implements the `Copy` trait [INFO] [stdout] --> src/spawner/template.rs:66:17 [INFO] [stdout] | [INFO] [stdout] 66 | point.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*point` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `TurnState` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:199:29 [INFO] [stdout] | [INFO] [stdout] 199 | let current_state = self.resources.get::().unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.resources.get::().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/spawner/tests/mod.rs:12:59 [INFO] [stdout] | [INFO] [stdout] 12 | .for_each(|e| println!("{} => Glyph: {}", e.name, e.glyph.chars().nth(0).unwrap())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `e.glyph.chars().next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] = note: `#[warn(clippy::iter_nth_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/map_builder/mod.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | &vec![self.map.point2d_to_index(self.player_start)], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[self.map.point2d_to_index(self.player_start)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/map_builder/drunkard.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 40 | &vec![mb.map.point2d_to_index(center)], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[mb.map.point2d_to_index(center)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/map_builder/prefab.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | &vec![mb.map.point2d_to_index(mb.player_start)], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[mb.map.point2d_to_index(mb.player_start)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/systems/chasing.rs:14:22 [INFO] [stdout] | [INFO] [stdout] 14 | let player_pos = player.iter(ecs).nth(0).unwrap().0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `player.iter(ecs).next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/systems/chasing.rs:21:40 [INFO] [stdout] | [INFO] [stdout] 21 | if !fov.visible_tiles.contains(&player_pos) { [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `player_pos` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/systems/end_turn.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | let amulet_pos = amulet.iter(ecs).nth(0).unwrap_or(&amulet_default); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `amulet.iter(ecs).next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `TurnState` which implements the `Copy` trait [INFO] [stdout] --> src/systems/end_turn.rs:13:25 [INFO] [stdout] | [INFO] [stdout] 13 | let current_state = turn_state.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*turn_state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/systems/entity_render.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | let player_fov = fov.iter(ecs).nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `fov.iter(ecs).next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/systems/entity_render.rs:17:62 [INFO] [stdout] | [INFO] [stdout] 17 | .filter(|(pos, _)| player_fov.visible_tiles.contains(&pos)) [INFO] [stdout] | ^^^^ help: change this to: `pos` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/systems/hud.rs:11:25 [INFO] [stdout] | [INFO] [stdout] 11 | let player_health = health_query.iter(ecs).nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `health_query.iter(ecs).next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.find_map(..)` can be written more simply using `.map(..).next()` [INFO] [stdout] --> src/systems/hud.rs:34:10 [INFO] [stdout] | [INFO] [stdout] 34 | .find_map(|(entity, player)| Some((*entity, player.map_level))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_find_map [INFO] [stdout] = note: `#[warn(clippy::unnecessary_find_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stdout] --> src/systems/map_render.rs:10:24 [INFO] [stdout] | [INFO] [stdout] 10 | #[resource] theme: &Box, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `&dyn MapTheme` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stdout] = note: `#[warn(clippy::borrowed_box)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/systems/map_render.rs:13:22 [INFO] [stdout] | [INFO] [stdout] 13 | let player_fov = fov.iter(ecs).nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `fov.iter(ecs).next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.find_map(..)` can be written more simply using `.map(..).next()` [INFO] [stdout] --> src/systems/player_input.rs:61:14 [INFO] [stdout] | [INFO] [stdout] 61 | .find_map(|(entity, pos)| Some((*entity, *pos + delta))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_find_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.find_map(..)` can be written more simply using `.map(..).next()` [INFO] [stdout] --> src/systems/player_input.rs:101:10 [INFO] [stdout] | [INFO] [stdout] 101 | .find_map(|(entity, _)| Some(*entity)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_find_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `.find_map(..)` can be written more simply using `.map(..).next()` [INFO] [stdout] --> src/systems/player_input.rs:108:10 [INFO] [stdout] | [INFO] [stdout] 108 | .find_map(|(_, (item_entity, _, _))| Some(*item_entity)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_find_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/systems/tooltips.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | let player_fov = fov.iter(ecs).nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `fov.iter(ecs).next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/systems/use_item.rs:17:30 [INFO] [stdout] | [INFO] [stdout] 17 | single_use = !item.get_component::().is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `item.get_component::().is_err()` [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: the function `CommandBuffer::new` doesn't need a mutable reference [INFO] [stdout] --> src/main.rs:54:41 [INFO] [stdout] | [INFO] [stdout] 54 | let mut cb = CommandBuffer::new(&mut self.ecs); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 54 - let mut cb = CommandBuffer::new(&mut self.ecs); [INFO] [stdout] 54 + let mut cb = CommandBuffer::new(&self.ecs); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `TurnState` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:199:29 [INFO] [stdout] | [INFO] [stdout] 199 | let current_state = self.resources.get::().unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.resources.get::().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/map_builder/mod.rs:102:13 [INFO] [stdout] | [INFO] [stdout] 102 | &vec![self.map.point2d_to_index(self.player_start)], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[self.map.point2d_to_index(self.player_start)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/map_builder/drunkard.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 40 | &vec![mb.map.point2d_to_index(center)], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[mb.map.point2d_to_index(center)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/map_builder/prefab.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | &vec![mb.map.point2d_to_index(mb.player_start)], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[mb.map.point2d_to_index(mb.player_start)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 47.42s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] running `Command { std: "docker" "inspect" "f165b1fab79712d93fc2cd25fb6165594d484acccde31ddb1d3d715d3448d369", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f165b1fab79712d93fc2cd25fb6165594d484acccde31ddb1d3d715d3448d369", kill_on_drop: false }` [INFO] [stdout] f165b1fab79712d93fc2cd25fb6165594d484acccde31ddb1d3d715d3448d369