[INFO] cloning repository https://github.com/ianfinity01/MITAppRS [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ianfinity01/MITAppRS" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fianfinity01%2FMITAppRS", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fianfinity01%2FMITAppRS'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 593d305d3cab233da47b029a7a652ed6d0721f71 [INFO] linting ianfinity01/MITAppRS against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fianfinity01%2FMITAppRS" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ianfinity01/MITAppRS [INFO] finished tweaking git repo https://github.com/ianfinity01/MITAppRS [INFO] tweaked toml for git repo https://github.com/ianfinity01/MITAppRS written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ianfinity01/MITAppRS 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/ianfinity01/MITAppRS 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 ref-cast-impl v1.0.24 [INFO] [stderr] Downloaded windows-targets v0.53.2 [INFO] [stderr] Downloaded ref-cast v1.0.24 [INFO] [stderr] Downloaded devise v0.4.2 [INFO] [stderr] Downloaded devise_core v0.4.2 [INFO] [stderr] Downloaded time-macros v0.2.22 [INFO] [stderr] Downloaded devise_codegen v0.4.2 [INFO] [stderr] Downloaded unit-prefix v0.5.1 [INFO] [stderr] Downloaded memmap2 v0.9.5 [INFO] [stderr] Downloaded bytemuck v1.23.1 [INFO] [stderr] Downloaded time v0.3.41 [INFO] [stderr] Downloaded indicatif v0.18.0 [INFO] [stderr] Downloaded syn v2.0.103 [INFO] [stderr] Downloaded winnow v0.7.11 [INFO] [stderr] Downloaded windows-sys v0.61.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] c9712298ca172665a937691001ccf1491a8470c8d42cc9c7e02e860f287f753d [INFO] running `Command { std: "docker" "start" "-a" "c9712298ca172665a937691001ccf1491a8470c8d42cc9c7e02e860f287f753d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c9712298ca172665a937691001ccf1491a8470c8d42cc9c7e02e860f287f753d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c9712298ca172665a937691001ccf1491a8470c8d42cc9c7e02e860f287f753d", kill_on_drop: false }` [INFO] [stdout] c9712298ca172665a937691001ccf1491a8470c8d42cc9c7e02e860f287f753d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] f7e0f71e8c653b391f3556799fd70893d92956b4c32bedf07ec9275ef33bd1b0 [INFO] running `Command { std: "docker" "start" "-a" "f7e0f71e8c653b391f3556799fd70893d92956b4c32bedf07ec9275ef33bd1b0", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling time-core v0.1.4 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Checking hashbrown v0.15.4 [INFO] [stderr] Compiling cookie v0.18.1 [INFO] [stderr] Checking slab v0.4.10 [INFO] [stderr] Compiling syn v2.0.103 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling ref-cast v1.0.24 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling time-macros v0.2.22 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking tracing-core v0.1.34 [INFO] [stderr] Compiling deranged v0.4.0 [INFO] [stderr] Compiling uncased v0.9.10 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Checking winnow v0.7.11 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling inlinable_string v0.1.15 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Checking signal-hook-registry v1.4.5 [INFO] [stderr] Checking is-terminal v0.4.16 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Compiling figment v0.10.19 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling stable-pattern v0.1.0 [INFO] [stderr] Compiling state v0.6.0 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling tokio v1.45.1 [INFO] [stderr] Compiling portable-atomic v1.11.1 [INFO] [stderr] Compiling indexmap v2.9.0 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking http v1.3.1 [INFO] [stderr] Compiling rocket v0.5.1 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling virtue v0.0.18 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling glob v0.3.2 [INFO] [stderr] Checking unicode-width v0.2.1 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking binascii v0.1.4 [INFO] [stderr] Checking unty v0.0.4 [INFO] [stderr] Checking console v0.16.1 [INFO] [stderr] Checking atomic v0.5.3 [INFO] [stderr] Checking unit-prefix v0.5.1 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking memmap2 v0.9.5 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Compiling bincode_derive v2.0.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking tempfile v3.20.0 [INFO] [stderr] Checking indicatif v0.18.0 [INFO] [stderr] Checking bincode v2.0.1 [INFO] [stderr] Compiling devise_core v0.4.2 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling pear_codegen v0.2.9 [INFO] [stderr] Compiling ref-cast-impl v1.0.24 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling async-trait v0.1.88 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling devise_codegen v0.4.2 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Compiling pear v0.2.9 [INFO] [stderr] Compiling devise v0.4.2 [INFO] [stderr] Compiling rocket_http v0.5.1 [INFO] [stderr] Compiling rocket_codegen v0.5.1 [INFO] [stderr] Checking tokio-util v0.7.15 [INFO] [stderr] Checking tokio-stream v0.1.17 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking ubyte v0.10.4 [INFO] [stderr] Checking h2 v0.3.26 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Checking Leaderboard v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/app_state.rs:239:21 [INFO] [stdout] | [INFO] [stdout] 239 | cap: cap, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `cap` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/app_state.rs:240:21 [INFO] [stdout] | [INFO] [stdout] 240 | cutoff: cutoff [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `cutoff` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/app_state.rs:419:17 [INFO] [stdout] | [INFO] [stdout] 419 | board: board, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/app_state.rs:420:17 [INFO] [stdout] | [INFO] [stdout] 420 | write: write, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `write` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/app_state.rs:239:21 [INFO] [stdout] | [INFO] [stdout] 239 | cap: cap, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `cap` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/app_state.rs:240:21 [INFO] [stdout] | [INFO] [stdout] 240 | cutoff: cutoff [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `cutoff` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/board.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | points: points, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `points` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/board.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | points: points, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `points` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/app_state.rs:419:17 [INFO] [stdout] | [INFO] [stdout] 419 | board: board, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/app_state.rs:420:17 [INFO] [stdout] | [INFO] [stdout] 420 | write: write, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `write` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/board.rs:473:13 [INFO] [stdout] | [INFO] [stdout] 473 | tree: tree, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `tree` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/board.rs:474:13 [INFO] [stdout] | [INFO] [stdout] 474 | map: map, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/board.rs:496:13 [INFO] [stdout] | [INFO] [stdout] 496 | tree: tree, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `tree` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/board.rs:520:13 [INFO] [stdout] | [INFO] [stdout] 520 | tree: tree, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `tree` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/io.rs:125:33 [INFO] [stdout] | [INFO] [stdout] 125 | ... val: val, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/io.rs:154:33 [INFO] [stdout] | [INFO] [stdout] 154 | ... val: val, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:233:17 [INFO] [stdout] | [INFO] [stdout] 233 | node: node, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:261:17 [INFO] [stdout] | [INFO] [stdout] 261 | node: node, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:283:17 [INFO] [stdout] | [INFO] [stdout] 283 | node: node, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:311:17 [INFO] [stdout] | [INFO] [stdout] 311 | node: node, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:22:21 [INFO] [stdout] | [INFO] [stdout] 22 | val: val, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | val: val, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli.rs:768:21 [INFO] [stdout] | [INFO] [stdout] 768 | board: board, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/board.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | points: points, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `points` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/board.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | points: points, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `points` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/board.rs:473:13 [INFO] [stdout] | [INFO] [stdout] 473 | tree: tree, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `tree` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/board.rs:474:13 [INFO] [stdout] | [INFO] [stdout] 474 | map: map, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/board.rs:496:13 [INFO] [stdout] | [INFO] [stdout] 496 | tree: tree, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `tree` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/board.rs:520:13 [INFO] [stdout] | [INFO] [stdout] 520 | tree: tree, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `tree` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/io.rs:125:33 [INFO] [stdout] | [INFO] [stdout] 125 | ... val: val, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/io.rs:154:33 [INFO] [stdout] | [INFO] [stdout] 154 | ... val: val, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:233:17 [INFO] [stdout] | [INFO] [stdout] 233 | node: node, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:261:17 [INFO] [stdout] | [INFO] [stdout] 261 | node: node, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:283:17 [INFO] [stdout] | [INFO] [stdout] 283 | node: node, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:311:17 [INFO] [stdout] | [INFO] [stdout] 311 | node: node, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `node` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:22:21 [INFO] [stdout] | [INFO] [stdout] 22 | val: val, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | val: val, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `val` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:138:21 [INFO] [stdout] | [INFO] [stdout] 138 | state: state, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli.rs:768:21 [INFO] [stdout] | [INFO] [stdout] 768 | board: board, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/main.rs:138:21 [INFO] [stdout] | [INFO] [stdout] 138 | state: state, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/app_state.rs:49:21 [INFO] [stdout] | [INFO] [stdout] 49 | saves_path: &PathBuf, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 49 ~ saves_path: &Path, [INFO] [stdout] 50 | ) -> Self { [INFO] [stdout] ... [INFO] [stdout] 213 | boards_file: Mutex::new(boards_file), [INFO] [stdout] 214 ~ saves_path: saves_path.to_path_buf(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/app_state.rs:58:39 [INFO] [stdout] | [INFO] [stdout] 58 | content = util::read_file(&file).expect("Failed to read config file content"); [INFO] [stdout] | ^^^^^ help: change this to: `file` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/app_state.rs:77:66 [INFO] [stdout] | [INFO] [stdout] 77 | serde_json::from_str::>(&board_content.as_str()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `board_content.as_str()` [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: if let can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/app_state.rs:207:24 [INFO] [stdout] | [INFO] [stdout] 207 | lock_save: if let Some(v) = json.lock_save { [INFO] [stdout] | ________________________^ [INFO] [stdout] 208 | | v [INFO] [stdout] 209 | | } else { [INFO] [stdout] 210 | | false [INFO] [stdout] 211 | | }, [INFO] [stdout] | |_____________^ help: replace it with: `json.lock_save.unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:263:9 [INFO] [stdout] | [INFO] [stdout] 263 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 263 - let _ = drop(boards); [INFO] [stdout] 263 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:324:9 [INFO] [stdout] | [INFO] [stdout] 324 | return true; [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] 324 - return true; [INFO] [stdout] 324 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/app_state.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | let board; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `board` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 281 ~ [INFO] [stdout] 282 | [INFO] [stdout] 283 ~ let board = if save_path.exists() { [INFO] [stdout] 284 | let save_file = match File::open(save_path.clone()) { [INFO] [stdout] ... [INFO] [stdout] 297 | [INFO] [stdout] 298 ~ match bincode::decode_from_std_read(&mut buf_reader, bincode::config::standard()) { [INFO] [stdout] 299 | Err(err) => { [INFO] [stdout] ... [INFO] [stdout] 308 | Ok(board) => board, [INFO] [stdout] 309 ~ } [INFO] [stdout] 310 | } else { [INFO] [stdout] 311 ~ Board::new() [INFO] [stdout] 312 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:321:9 [INFO] [stdout] | [INFO] [stdout] 321 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 321 - let _ = drop(boards); [INFO] [stdout] 321 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:339:9 [INFO] [stdout] | [INFO] [stdout] 339 | return true; [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] 339 - return true; [INFO] [stdout] 339 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:337:9 [INFO] [stdout] | [INFO] [stdout] 337 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 337 - let _ = drop(boards); [INFO] [stdout] 337 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:354:9 [INFO] [stdout] | [INFO] [stdout] 354 | return true; [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] 354 - return true; [INFO] [stdout] 354 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:352:9 [INFO] [stdout] | [INFO] [stdout] 352 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 352 - let _ = drop(boards); [INFO] [stdout] 352 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:369:9 [INFO] [stdout] | [INFO] [stdout] 369 | return true; [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] 369 - return true; [INFO] [stdout] 369 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:367:9 [INFO] [stdout] | [INFO] [stdout] 367 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 367 - let _ = drop(boards); [INFO] [stdout] 367 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:384:9 [INFO] [stdout] | [INFO] [stdout] 384 | return true; [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] 384 - return true; [INFO] [stdout] 384 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:382:9 [INFO] [stdout] | [INFO] [stdout] 382 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 382 - let _ = drop(boards); [INFO] [stdout] 382 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:408:9 [INFO] [stdout] | [INFO] [stdout] 408 | return true; [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] 408 - return true; [INFO] [stdout] 408 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:390:9 [INFO] [stdout] | [INFO] [stdout] 390 | let _ = drop(users); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 390 - let _ = drop(users); [INFO] [stdout] 390 + drop(users); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:399:9 [INFO] [stdout] | [INFO] [stdout] 399 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 399 - let _ = drop(boards); [INFO] [stdout] 399 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:400:9 [INFO] [stdout] | [INFO] [stdout] 400 | let _ = drop(v); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 400 - let _ = drop(v); [INFO] [stdout] 400 + drop(v); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:425:9 [INFO] [stdout] | [INFO] [stdout] 425 | return true; [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] 425 - return true; [INFO] [stdout] 425 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/app_state.rs:49:21 [INFO] [stdout] | [INFO] [stdout] 49 | saves_path: &PathBuf, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 49 ~ saves_path: &Path, [INFO] [stdout] 50 | ) -> Self { [INFO] [stdout] ... [INFO] [stdout] 213 | boards_file: Mutex::new(boards_file), [INFO] [stdout] 214 ~ saves_path: saves_path.to_path_buf(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:423:9 [INFO] [stdout] | [INFO] [stdout] 423 | let _ = drop(users); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 423 - let _ = drop(users); [INFO] [stdout] 423 + drop(users); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:436:9 [INFO] [stdout] | [INFO] [stdout] 436 | return true; [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] 436 - return true; [INFO] [stdout] 436 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 434 | let _ = drop(users); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 434 - let _ = drop(users); [INFO] [stdout] 434 + drop(users); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/app_state.rs:58:39 [INFO] [stdout] | [INFO] [stdout] 58 | content = util::read_file(&file).expect("Failed to read config file content"); [INFO] [stdout] | ^^^^^ help: change this to: `file` [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: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:447:9 [INFO] [stdout] | [INFO] [stdout] 447 | return true; [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] 447 - return true; [INFO] [stdout] 447 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:445:9 [INFO] [stdout] | [INFO] [stdout] 445 | let _ = drop(users); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 445 - let _ = drop(users); [INFO] [stdout] 445 + drop(users); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/app_state.rs:77:66 [INFO] [stdout] | [INFO] [stdout] 77 | serde_json::from_str::>(&board_content.as_str()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `board_content.as_str()` [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: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/backend.rs:28:52 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn save(state_arc: &Arc, saves_path: &PathBuf) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 28 - pub fn save(state_arc: &Arc, saves_path: &PathBuf) { [INFO] [stdout] 28 + pub fn save(state_arc: &Arc, saves_path: &Path) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/backend.rs:68:21 [INFO] [stdout] | [INFO] [stdout] 68 | &board, [INFO] [stdout] | ^^^^^^ help: change this to: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/backend.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 73 - let _ = drop(boards); [INFO] [stdout] 73 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/backend.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 77 - let _ = drop(boards); [INFO] [stdout] 77 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/backend.rs:81:17 [INFO] [stdout] | [INFO] [stdout] 81 | let _ = drop(snapshot); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 81 - let _ = drop(snapshot); [INFO] [stdout] 81 + drop(snapshot); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/backend.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | let _ = drop(save_locker); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 131 - let _ = drop(save_locker); [INFO] [stdout] 131 + drop(save_locker); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: if let can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/app_state.rs:207:24 [INFO] [stdout] | [INFO] [stdout] 207 | lock_save: if let Some(v) = json.lock_save { [INFO] [stdout] | ________________________^ [INFO] [stdout] 208 | | v [INFO] [stdout] 209 | | } else { [INFO] [stdout] 210 | | false [INFO] [stdout] 211 | | }, [INFO] [stdout] | |_____________^ help: replace it with: `json.lock_save.unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::manual_unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:263:9 [INFO] [stdout] | [INFO] [stdout] 263 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 263 - let _ = drop(boards); [INFO] [stdout] 263 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:324:9 [INFO] [stdout] | [INFO] [stdout] 324 | return true; [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] 324 - return true; [INFO] [stdout] 324 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/app_state.rs:281:9 [INFO] [stdout] | [INFO] [stdout] 281 | let board; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `board` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 281 ~ [INFO] [stdout] 282 | [INFO] [stdout] 283 ~ let board = if save_path.exists() { [INFO] [stdout] 284 | let save_file = match File::open(save_path.clone()) { [INFO] [stdout] ... [INFO] [stdout] 297 | [INFO] [stdout] 298 ~ match bincode::decode_from_std_read(&mut buf_reader, bincode::config::standard()) { [INFO] [stdout] 299 | Err(err) => { [INFO] [stdout] ... [INFO] [stdout] 308 | Ok(board) => board, [INFO] [stdout] 309 ~ } [INFO] [stdout] 310 | } else { [INFO] [stdout] 311 ~ Board::new() [INFO] [stdout] 312 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:321:9 [INFO] [stdout] | [INFO] [stdout] 321 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 321 - let _ = drop(boards); [INFO] [stdout] 321 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:339:9 [INFO] [stdout] | [INFO] [stdout] 339 | return true; [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] 339 - return true; [INFO] [stdout] 339 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:337:9 [INFO] [stdout] | [INFO] [stdout] 337 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 337 - let _ = drop(boards); [INFO] [stdout] 337 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:354:9 [INFO] [stdout] | [INFO] [stdout] 354 | return true; [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] 354 - return true; [INFO] [stdout] 354 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:352:9 [INFO] [stdout] | [INFO] [stdout] 352 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 352 - let _ = drop(boards); [INFO] [stdout] 352 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:369:9 [INFO] [stdout] | [INFO] [stdout] 369 | return true; [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] 369 - return true; [INFO] [stdout] 369 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:367:9 [INFO] [stdout] | [INFO] [stdout] 367 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 367 - let _ = drop(boards); [INFO] [stdout] 367 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:384:9 [INFO] [stdout] | [INFO] [stdout] 384 | return true; [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] 384 - return true; [INFO] [stdout] 384 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:382:9 [INFO] [stdout] | [INFO] [stdout] 382 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 382 - let _ = drop(boards); [INFO] [stdout] 382 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:408:9 [INFO] [stdout] | [INFO] [stdout] 408 | return true; [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] 408 - return true; [INFO] [stdout] 408 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:390:9 [INFO] [stdout] | [INFO] [stdout] 390 | let _ = drop(users); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 390 - let _ = drop(users); [INFO] [stdout] 390 + drop(users); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:399:9 [INFO] [stdout] | [INFO] [stdout] 399 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 399 - let _ = drop(boards); [INFO] [stdout] 399 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:400:9 [INFO] [stdout] | [INFO] [stdout] 400 | let _ = drop(v); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 400 - let _ = drop(v); [INFO] [stdout] 400 + drop(v); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:425:9 [INFO] [stdout] | [INFO] [stdout] 425 | return true; [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] 425 - return true; [INFO] [stdout] 425 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:423:9 [INFO] [stdout] | [INFO] [stdout] 423 | let _ = drop(users); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 423 - let _ = drop(users); [INFO] [stdout] 423 + drop(users); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:436:9 [INFO] [stdout] | [INFO] [stdout] 436 | return true; [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] 436 - return true; [INFO] [stdout] 436 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 434 | let _ = drop(users); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 434 - let _ = drop(users); [INFO] [stdout] 434 + drop(users); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/app_state.rs:447:9 [INFO] [stdout] | [INFO] [stdout] 447 | return true; [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] 447 - return true; [INFO] [stdout] 447 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/app_state.rs:445:9 [INFO] [stdout] | [INFO] [stdout] 445 | let _ = drop(users); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 445 - let _ = drop(users); [INFO] [stdout] 445 + drop(users); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/backend.rs:28:52 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn save(state_arc: &Arc, saves_path: &PathBuf) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 28 - pub fn save(state_arc: &Arc, saves_path: &PathBuf) { [INFO] [stdout] 28 + pub fn save(state_arc: &Arc, saves_path: &Path) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/backend.rs:68:21 [INFO] [stdout] | [INFO] [stdout] 68 | &board, [INFO] [stdout] | ^^^^^^ help: change this to: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/backend.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 73 - let _ = drop(boards); [INFO] [stdout] 73 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/backend.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 77 - let _ = drop(boards); [INFO] [stdout] 77 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/backend.rs:81:17 [INFO] [stdout] | [INFO] [stdout] 81 | let _ = drop(snapshot); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 81 - let _ = drop(snapshot); [INFO] [stdout] 81 + drop(snapshot); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/backend.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | let _ = drop(save_locker); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 131 - let _ = drop(save_locker); [INFO] [stdout] 131 + drop(save_locker); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are needlessly cloning iterator elements [INFO] [stdout] --> src/backend.rs:557:24 [INFO] [stdout] | [INFO] [stdout] 557 | board.get_entry(id).map(|v| v.clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove the `map` call [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/board/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | mod board; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:23:31 [INFO] [stdout] | [INFO] [stdout] 23 | V: PartialOrd + Default + ?Sized + Clone, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | V: PartialOrd + Default + ?Sized + Clone, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] = note: `#[warn(clippy::needless_maybe_sized)]` on by default [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 23 - V: PartialOrd + Default + ?Sized + Clone, [INFO] [stdout] 23 + V: PartialOrd + Default + Clone, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:35:31 [INFO] [stdout] | [INFO] [stdout] 35 | V: PartialOrd + Default + ?Sized + Clone = f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 35 | V: PartialOrd + Default + ?Sized + Clone = f64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 35 - V: PartialOrd + Default + ?Sized + Clone = f64, [INFO] [stdout] 35 + V: PartialOrd + Default + Clone = f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Board` [INFO] [stdout] --> src/board/board.rs:332:5 [INFO] [stdout] | [INFO] [stdout] 332 | / pub fn new() -> Self { [INFO] [stdout] 333 | | Self { [INFO] [stdout] 334 | | tree: Tree::new(), [INFO] [stdout] 335 | | map: DiffMap::new(), [INFO] [stdout] ... | [INFO] [stdout] 347 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 44 + impl Default for Board { [INFO] [stdout] 45 + fn default() -> Self { [INFO] [stdout] 46 + Self::new() [INFO] [stdout] 47 + } [INFO] [stdout] 48 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:44:85 [INFO] [stdout] | [INFO] [stdout] 44 | impl [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:44:75 [INFO] [stdout] | [INFO] [stdout] 44 | impl [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 44 - impl [INFO] [stdout] 44 + impl [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | return self.map.get(id); [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.map.get(id); [INFO] [stdout] 48 + self.map.get(id) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | return Ok(true); [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] 96 - return Ok(true); [INFO] [stdout] 96 + Ok(true) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | return ret; [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] 116 - return ret; [INFO] [stdout] 116 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | return self.size_cap; [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] 147 - return self.size_cap; [INFO] [stdout] 147 + self.size_cap [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | return self.size_cap.is_some() && self.size_cap.unwrap() <= self.get_size(); [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] 151 - return self.size_cap.is_some() && self.size_cap.unwrap() <= self.get_size(); [INFO] [stdout] 151 + self.size_cap.is_some() && self.size_cap.unwrap() <= self.get_size() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are needlessly cloning iterator elements [INFO] [stdout] --> src/backend.rs:557:24 [INFO] [stdout] | [INFO] [stdout] 557 | board.get_entry(id).map(|v| v.clone()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove the `map` call [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] = note: `#[warn(clippy::map_clone)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | return self.size_cap.is_some() && self.size_cap.unwrap() < self.get_size(); [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] 155 - return self.size_cap.is_some() && self.size_cap.unwrap() < self.get_size(); [INFO] [stdout] 155 + self.size_cap.is_some() && self.size_cap.unwrap() < self.get_size() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | return self.value_cutoff.is_some() && self.value_cutoff.as_ref().unwrap() > 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] 159 - return self.value_cutoff.is_some() && self.value_cutoff.as_ref().unwrap() > value; [INFO] [stdout] 159 + self.value_cutoff.is_some() && self.value_cutoff.as_ref().unwrap() > value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | return self.value_cutoff.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] 187 - return self.value_cutoff.clone(); [INFO] [stdout] 187 + self.value_cutoff.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/board/board.rs:192:16 [INFO] [stdout] | [INFO] [stdout] 192 | if let None = old_entry_opt { [INFO] [stdout] | -------^^^^---------------- help: try: `if old_entry_opt.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/board/mod.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | mod board; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | return Some(self.tree.index_of(&entry).0 + 1); [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] 226 - return Some(self.tree.index_of(&entry).0 + 1); [INFO] [stdout] 226 + Some(self.tree.index_of(&entry).0 + 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:23:31 [INFO] [stdout] | [INFO] [stdout] 23 | V: PartialOrd + Default + ?Sized + Clone, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:23:21 [INFO] [stdout] | [INFO] [stdout] 23 | V: PartialOrd + Default + ?Sized + Clone, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] = note: `#[warn(clippy::needless_maybe_sized)]` on by default [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 23 - V: PartialOrd + Default + ?Sized + Clone, [INFO] [stdout] 23 + V: PartialOrd + Default + Clone, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:230:9 [INFO] [stdout] | [INFO] [stdout] 230 | return self.tree.at_index(rank - 1).map(|v| v.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] 230 - return self.tree.at_index(rank - 1).map(|v| v.clone()); [INFO] [stdout] 230 + self.tree.at_index(rank - 1).map(|v| v.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:35:31 [INFO] [stdout] | [INFO] [stdout] 35 | V: PartialOrd + Default + ?Sized + Clone = f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 35 | V: PartialOrd + Default + ?Sized + Clone = f64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 35 - V: PartialOrd + Default + ?Sized + Clone = f64, [INFO] [stdout] 35 + V: PartialOrd + Default + Clone = f64, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/board/board.rs:230:16 [INFO] [stdout] | [INFO] [stdout] 230 | return self.tree.at_index(rank - 1).map(|v| v.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `self.tree.at_index(rank - 1).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Board` [INFO] [stdout] --> src/board/board.rs:332:5 [INFO] [stdout] | [INFO] [stdout] 332 | / pub fn new() -> Self { [INFO] [stdout] 333 | | Self { [INFO] [stdout] 334 | | tree: Tree::new(), [INFO] [stdout] 335 | | map: DiffMap::new(), [INFO] [stdout] ... | [INFO] [stdout] 347 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 44 + impl Default for Board { [INFO] [stdout] 45 + fn default() -> Self { [INFO] [stdout] 46 + Self::new() [INFO] [stdout] 47 + } [INFO] [stdout] 48 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:44:85 [INFO] [stdout] | [INFO] [stdout] 44 | impl [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:44:75 [INFO] [stdout] | [INFO] [stdout] 44 | impl [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 44 - impl [INFO] [stdout] 44 + impl [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | return self.map.get(id); [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.map.get(id); [INFO] [stdout] 48 + self.map.get(id) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:279:9 [INFO] [stdout] | [INFO] [stdout] 279 | return ret; [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] 279 - return ret; [INFO] [stdout] 279 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | return Ok(true); [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] 96 - return Ok(true); [INFO] [stdout] 96 + Ok(true) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:324:9 [INFO] [stdout] | [INFO] [stdout] 324 | return ret; [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] 324 - return ret; [INFO] [stdout] 324 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 116 | return ret; [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] 116 - return ret; [INFO] [stdout] 116 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | return self.size_cap; [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] 147 - return self.size_cap; [INFO] [stdout] 147 + self.size_cap [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:387:9 [INFO] [stdout] | [INFO] [stdout] 387 | return Some(ret); [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] 387 - return Some(ret); [INFO] [stdout] 387 + Some(ret) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | return self.size_cap.is_some() && self.size_cap.unwrap() <= self.get_size(); [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] 151 - return self.size_cap.is_some() && self.size_cap.unwrap() <= self.get_size(); [INFO] [stdout] 151 + self.size_cap.is_some() && self.size_cap.unwrap() <= self.get_size() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | return self.size_cap.is_some() && self.size_cap.unwrap() < self.get_size(); [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] 155 - return self.size_cap.is_some() && self.size_cap.unwrap() < self.get_size(); [INFO] [stdout] 155 + self.size_cap.is_some() && self.size_cap.unwrap() < self.get_size() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | return self.value_cutoff.is_some() && self.value_cutoff.as_ref().unwrap() > 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] 159 - return self.value_cutoff.is_some() && self.value_cutoff.as_ref().unwrap() > value; [INFO] [stdout] 159 + self.value_cutoff.is_some() && self.value_cutoff.as_ref().unwrap() > value [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | return self.value_cutoff.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] 187 - return self.value_cutoff.clone(); [INFO] [stdout] 187 + self.value_cutoff.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/board/board.rs:192:16 [INFO] [stdout] | [INFO] [stdout] 192 | if let None = old_entry_opt { [INFO] [stdout] | -------^^^^---------------- help: try: `if old_entry_opt.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:433:9 [INFO] [stdout] | [INFO] [stdout] 433 | return ret; [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] 433 - return ret; [INFO] [stdout] 433 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | return Some(self.tree.index_of(&entry).0 + 1); [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] 226 - return Some(self.tree.index_of(&entry).0 + 1); [INFO] [stdout] 226 + Some(self.tree.index_of(&entry).0 + 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:230:9 [INFO] [stdout] | [INFO] [stdout] 230 | return self.tree.at_index(rank - 1).map(|v| v.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] 230 - return self.tree.at_index(rank - 1).map(|v| v.clone()); [INFO] [stdout] 230 + self.tree.at_index(rank - 1).map(|v| v.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you are using an explicit closure for cloning elements [INFO] [stdout] --> src/board/board.rs:230:16 [INFO] [stdout] | [INFO] [stdout] 230 | return self.tree.at_index(rank - 1).map(|v| v.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider calling the dedicated `cloned` method: `self.tree.at_index(rank - 1).cloned()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:279:9 [INFO] [stdout] | [INFO] [stdout] 279 | return ret; [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] 279 - return ret; [INFO] [stdout] 279 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/board/board.rs:511:76 [INFO] [stdout] | [INFO] [stdout] 511 | pub fn from_map_prog(map: HashMap>, prog: impl Fn(usize) -> ()) -> Self { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:543:31 [INFO] [stdout] | [INFO] [stdout] 543 | V: PartialOrd + Default + ?Sized + Clone + Send, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:543:21 [INFO] [stdout] | [INFO] [stdout] 543 | V: PartialOrd + Default + ?Sized + Clone + Send, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 543 - V: PartialOrd + Default + ?Sized + Clone + Send, [INFO] [stdout] 543 + V: PartialOrd + Default + Clone + Send, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:324:9 [INFO] [stdout] | [INFO] [stdout] 324 | return ret; [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] 324 - return ret; [INFO] [stdout] 324 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:549:31 [INFO] [stdout] | [INFO] [stdout] 549 | V: PartialOrd + Default + ?Sized + Clone + Sync, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:549:21 [INFO] [stdout] | [INFO] [stdout] 549 | V: PartialOrd + Default + ?Sized + Clone + Sync, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 549 - V: PartialOrd + Default + ?Sized + Clone + Sync, [INFO] [stdout] 549 + V: PartialOrd + Default + Clone + Sync, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:557:31 [INFO] [stdout] | [INFO] [stdout] 557 | V: PartialOrd + Default + ?Sized + Clone + Decode, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:557:21 [INFO] [stdout] | [INFO] [stdout] 557 | V: PartialOrd + Default + ?Sized + Clone + Decode, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 557 - V: PartialOrd + Default + ?Sized + Clone + Decode, [INFO] [stdout] 557 + V: PartialOrd + Default + Clone + Decode, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:573:31 [INFO] [stdout] | [INFO] [stdout] 573 | V: PartialOrd + Default + ?Sized + Clone + Encode, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:573:21 [INFO] [stdout] | [INFO] [stdout] 573 | V: PartialOrd + Default + ?Sized + Clone + Encode, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 573 - V: PartialOrd + Default + ?Sized + Clone + Encode, [INFO] [stdout] 573 + V: PartialOrd + Default + Clone + Encode, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/board/diff_map.rs:82:16 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn get<'a>(&'a self, key: &K) -> Option { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 82 - pub fn get<'a>(&'a self, key: &K) -> Option { [INFO] [stdout] 82 + pub fn get(&self, key: &K) -> Option { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/diff_map.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | return ret; [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] 100 - return ret; [INFO] [stdout] 100 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 98 - let _ = drop(inner); [INFO] [stdout] 98 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/diff_map.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | return ret; [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] 123 - return ret; [INFO] [stdout] 123 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:387:9 [INFO] [stdout] | [INFO] [stdout] 387 | return Some(ret); [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] 387 - return Some(ret); [INFO] [stdout] 387 + Some(ret) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/board.rs:433:9 [INFO] [stdout] | [INFO] [stdout] 433 | return ret; [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] 433 - return ret; [INFO] [stdout] 433 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 121 - let _ = drop(inner); [INFO] [stdout] 121 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/diff_map.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | return ret; [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] 153 - return ret; [INFO] [stdout] 153 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/board/diff_map.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | / match inner.diff.remove(key) { [INFO] [stdout] 145 | | None => None, [INFO] [stdout] 146 | | Some(v) => v, [INFO] [stdout] 147 | | } [INFO] [stdout] | |_________________^ help: replace it with: `inner.diff.remove(key).unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 151 - let _ = drop(inner); [INFO] [stdout] 151 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/diff_map.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | return ret; [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] 168 - return ret; [INFO] [stdout] 168 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/board/board.rs:511:76 [INFO] [stdout] | [INFO] [stdout] 511 | pub fn from_map_prog(map: HashMap>, prog: impl Fn(usize) -> ()) -> Self { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 166 - let _ = drop(inner); [INFO] [stdout] 166 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:181:9 [INFO] [stdout] | [INFO] [stdout] 181 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 181 - let _ = drop(inner); [INFO] [stdout] 181 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/board/diff_map.rs:184:28 [INFO] [stdout] | [INFO] [stdout] 184 | pub fn snapshot_borrow<'a, 'b>(&'a self) -> SnapshotBorrow { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 184 - pub fn snapshot_borrow<'a, 'b>(&'a self) -> SnapshotBorrow { [INFO] [stdout] 184 + pub fn snapshot_borrow<'b>(&self) -> SnapshotBorrow { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/board/diff_map.rs:184:32 [INFO] [stdout] | [INFO] [stdout] 184 | pub fn snapshot_borrow<'a, 'b>(&'a self) -> SnapshotBorrow { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/diff_map.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | return ret; [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] 196 - return ret; [INFO] [stdout] 196 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 195 - let _ = drop(inner); [INFO] [stdout] 195 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:543:31 [INFO] [stdout] | [INFO] [stdout] 543 | V: PartialOrd + Default + ?Sized + Clone + Send, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:543:21 [INFO] [stdout] | [INFO] [stdout] 543 | V: PartialOrd + Default + ?Sized + Clone + Send, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 543 - V: PartialOrd + Default + ?Sized + Clone + Send, [INFO] [stdout] 543 + V: PartialOrd + Default + Clone + Send, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the impl [INFO] [stdout] --> src/board/diff_map.rs:204:6 [INFO] [stdout] | [INFO] [stdout] 204 | impl<'a, K, V> Drop for SnapshotBorrow [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:549:31 [INFO] [stdout] | [INFO] [stdout] 549 | V: PartialOrd + Default + ?Sized + Clone + Sync, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:549:21 [INFO] [stdout] | [INFO] [stdout] 549 | V: PartialOrd + Default + ?Sized + Clone + Sync, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 549 - V: PartialOrd + Default + ?Sized + Clone + Sync, [INFO] [stdout] 549 + V: PartialOrd + Default + Clone + Sync, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:557:31 [INFO] [stdout] | [INFO] [stdout] 557 | V: PartialOrd + Default + ?Sized + Clone + Decode, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:557:21 [INFO] [stdout] | [INFO] [stdout] 557 | V: PartialOrd + Default + ?Sized + Clone + Decode, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 557 - V: PartialOrd + Default + ?Sized + Clone + Decode, [INFO] [stdout] 557 + V: PartialOrd + Default + Clone + Decode, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | let _ = drop(map); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 220 - let _ = drop(map); [INFO] [stdout] 220 + drop(map); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 221 - let _ = drop(inner); [INFO] [stdout] 221 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/board.rs:573:31 [INFO] [stdout] | [INFO] [stdout] 573 | V: PartialOrd + Default + ?Sized + Clone + Encode, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/board.rs:573:21 [INFO] [stdout] | [INFO] [stdout] 573 | V: PartialOrd + Default + ?Sized + Clone + Encode, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 573 - V: PartialOrd + Default + ?Sized + Clone + Encode, [INFO] [stdout] 573 + V: PartialOrd + Default + Clone + Encode, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:242:21 [INFO] [stdout] | [INFO] [stdout] 242 | let _ = drop(map); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 242 - let _ = drop(map); [INFO] [stdout] 242 + drop(map); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:243:21 [INFO] [stdout] | [INFO] [stdout] 243 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 243 - let _ = drop(inner); [INFO] [stdout] 243 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 258 - let _ = drop(inner); [INFO] [stdout] 258 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/board/diff_map.rs:82:16 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn get<'a>(&'a self, key: &K) -> Option { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 82 - pub fn get<'a>(&'a self, key: &K) -> Option { [INFO] [stdout] 82 + pub fn get(&self, key: &K) -> Option { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/diff_map.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | return ret; [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] 100 - return ret; [INFO] [stdout] 100 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 98 - let _ = drop(inner); [INFO] [stdout] 98 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/diff_map.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | return ret; [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] 123 - return ret; [INFO] [stdout] 123 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 121 - let _ = drop(inner); [INFO] [stdout] 121 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/diff_map.rs:153:9 [INFO] [stdout] | [INFO] [stdout] 153 | return ret; [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] 153 - return ret; [INFO] [stdout] 153 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/board/diff_map.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | / match inner.diff.remove(key) { [INFO] [stdout] 145 | | None => None, [INFO] [stdout] 146 | | Some(v) => v, [INFO] [stdout] 147 | | } [INFO] [stdout] | |_________________^ help: replace it with: `inner.diff.remove(key).unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 151 - let _ = drop(inner); [INFO] [stdout] 151 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/diff_map.rs:168:9 [INFO] [stdout] | [INFO] [stdout] 168 | return ret; [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] 168 - return ret; [INFO] [stdout] 168 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:166:9 [INFO] [stdout] | [INFO] [stdout] 166 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 166 - let _ = drop(inner); [INFO] [stdout] 166 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:181:9 [INFO] [stdout] | [INFO] [stdout] 181 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 181 - let _ = drop(inner); [INFO] [stdout] 181 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/board/diff_map.rs:184:28 [INFO] [stdout] | [INFO] [stdout] 184 | pub fn snapshot_borrow<'a, 'b>(&'a self) -> SnapshotBorrow { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 184 - pub fn snapshot_borrow<'a, 'b>(&'a self) -> SnapshotBorrow { [INFO] [stdout] 184 + pub fn snapshot_borrow<'b>(&self) -> SnapshotBorrow { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/board/diff_map.rs:184:32 [INFO] [stdout] | [INFO] [stdout] 184 | pub fn snapshot_borrow<'a, 'b>(&'a self) -> SnapshotBorrow { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/diff_map.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | return ret; [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] 196 - return ret; [INFO] [stdout] 196 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 195 - let _ = drop(inner); [INFO] [stdout] 195 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the impl [INFO] [stdout] --> src/board/diff_map.rs:204:6 [INFO] [stdout] | [INFO] [stdout] 204 | impl<'a, K, V> Drop for SnapshotBorrow [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | let _ = drop(map); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 220 - let _ = drop(map); [INFO] [stdout] 220 + drop(map); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/board/entry.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | / impl PartialOrd for Entry { [INFO] [stdout] 18 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 19 | | match self.points.partial_cmp(&other.points) { [INFO] [stdout] 20 | | Some(cmp::Ordering::Equal) => match other.timestamp.partial_cmp(&self.timestamp) { [INFO] [stdout] ... | [INFO] [stdout] 27 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 18 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 19 - match self.points.partial_cmp(&other.points) { [INFO] [stdout] 20 - Some(cmp::Ordering::Equal) => match other.timestamp.partial_cmp(&self.timestamp) { [INFO] [stdout] 21 - Some(cmp::Ordering::Equal) => other.key.partial_cmp(&self.key), [INFO] [stdout] 22 - v => v, [INFO] [stdout] 23 - }, [INFO] [stdout] 24 - v => v, [INFO] [stdout] 25 - } [INFO] [stdout] 26 - } [INFO] [stdout] 18 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 221 - let _ = drop(inner); [INFO] [stdout] 221 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:242:21 [INFO] [stdout] | [INFO] [stdout] 242 | let _ = drop(map); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 242 - let _ = drop(map); [INFO] [stdout] 242 + drop(map); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:243:21 [INFO] [stdout] | [INFO] [stdout] 243 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 243 - let _ = drop(inner); [INFO] [stdout] 243 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `f64` which implements the `Copy` trait [INFO] [stdout] --> src/board/entry.rs:60:24 [INFO] [stdout] | [INFO] [stdout] 60 | timestamp: self.timestamp.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.timestamp` [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: this let-binding has unit value [INFO] [stdout] --> src/board/diff_map.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | let _ = drop(inner); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 258 - let _ = drop(inner); [INFO] [stdout] 258 + drop(inner); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/board/entry.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | / impl PartialOrd for Entry { [INFO] [stdout] 18 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 19 | | match self.points.partial_cmp(&other.points) { [INFO] [stdout] 20 | | Some(cmp::Ordering::Equal) => match other.timestamp.partial_cmp(&self.timestamp) { [INFO] [stdout] ... | [INFO] [stdout] 27 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 18 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 19 - match self.points.partial_cmp(&other.points) { [INFO] [stdout] 20 - Some(cmp::Ordering::Equal) => match other.timestamp.partial_cmp(&self.timestamp) { [INFO] [stdout] 21 - Some(cmp::Ordering::Equal) => other.key.partial_cmp(&self.key), [INFO] [stdout] 22 - v => v, [INFO] [stdout] 23 - }, [INFO] [stdout] 24 - v => v, [INFO] [stdout] 25 - } [INFO] [stdout] 26 - } [INFO] [stdout] 18 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `f64` which implements the `Copy` trait [INFO] [stdout] --> src/board/entry.rs:60:24 [INFO] [stdout] | [INFO] [stdout] 60 | timestamp: self.timestamp.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.timestamp` [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: using `clone` on type `Option>>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/node.rs:40:41 [INFO] [stdout] | [INFO] [stdout] 40 | (*parent_parent).left = self_ref.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self_ref` [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 `Option>>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/node.rs:43:42 [INFO] [stdout] | [INFO] [stdout] 43 | (*parent_parent).right = self_ref.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self_ref` [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 `usize` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/node.rs:95:30 [INFO] [stdout] | [INFO] [stdout] 95 | Some(ptr) => (*ptr.as_ptr()).height.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(*ptr.as_ptr()).height` [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 `usize` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/node.rs:104:30 [INFO] [stdout] | [INFO] [stdout] 104 | Some(ptr) => (*ptr.as_ptr()).height.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(*ptr.as_ptr()).height` [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: unneeded `return` statement [INFO] [stdout] --> src/board/tree/node.rs:186:17 [INFO] [stdout] | [INFO] [stdout] 186 | return next; [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] 186 - return next; [INFO] [stdout] 186 + next [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/node.rs:204:17 [INFO] [stdout] | [INFO] [stdout] 204 | return next; [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] 204 - return next; [INFO] [stdout] 204 + next [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/node.rs:229:17 [INFO] [stdout] | [INFO] [stdout] 229 | return prev; [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] 229 - return prev; [INFO] [stdout] 229 + prev [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/node.rs:242:17 [INFO] [stdout] | [INFO] [stdout] 242 | return prev; [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] 242 - return prev; [INFO] [stdout] 242 + prev [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/board/tree/node.rs:248:1 [INFO] [stdout] | [INFO] [stdout] 248 | / impl PartialOrd for Node { [INFO] [stdout] 249 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 250 | | return self.val.partial_cmp(&other.val); [INFO] [stdout] 251 | | } [INFO] [stdout] 252 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 249 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 250 - return self.val.partial_cmp(&other.val); [INFO] [stdout] 251 - } [INFO] [stdout] 249 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/node.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | return self.val.partial_cmp(&other.val); [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] 250 - return self.val.partial_cmp(&other.val); [INFO] [stdout] 250 + self.val.partial_cmp(&other.val) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/node.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | return self.val.cmp(&other.val); [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] 256 - return self.val.cmp(&other.val); [INFO] [stdout] 256 + self.val.cmp(&other.val) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Tree` [INFO] [stdout] --> src/board/tree/tree_struct/constructors.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | / pub fn new() -> Self { [INFO] [stdout] 9 | | unsafe { [INFO] [stdout] 10 | | Self { [INFO] [stdout] 11 | | sentinel: NonNull::new_unchecked(Box::into_raw(Box::new(Node { [INFO] [stdout] ... | [INFO] [stdout] 22 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 7 + impl Default for Tree { [INFO] [stdout] 8 + fn default() -> Self { [INFO] [stdout] 9 + Self::new() [INFO] [stdout] 10 + } [INFO] [stdout] 11 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option>>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/node.rs:40:41 [INFO] [stdout] | [INFO] [stdout] 40 | (*parent_parent).left = self_ref.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self_ref` [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 `Option>>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/node.rs:43:42 [INFO] [stdout] | [INFO] [stdout] 43 | (*parent_parent).right = self_ref.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self_ref` [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 `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/constructors.rs:70:38 [INFO] [stdout] | [INFO] [stdout] 70 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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 `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/constructors.rs:87:38 [INFO] [stdout] | [INFO] [stdout] 87 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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 `usize` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/node.rs:95:30 [INFO] [stdout] | [INFO] [stdout] 95 | Some(ptr) => (*ptr.as_ptr()).height.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(*ptr.as_ptr()).height` [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 `usize` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/node.rs:104:30 [INFO] [stdout] | [INFO] [stdout] 104 | Some(ptr) => (*ptr.as_ptr()).height.clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(*ptr.as_ptr()).height` [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: unneeded `return` statement [INFO] [stdout] --> src/board/tree/node.rs:186:17 [INFO] [stdout] | [INFO] [stdout] 186 | return next; [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] 186 - return next; [INFO] [stdout] 186 + next [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/io.rs:48:38 [INFO] [stdout] | [INFO] [stdout] 48 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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: unneeded `return` statement [INFO] [stdout] --> src/board/tree/node.rs:204:17 [INFO] [stdout] | [INFO] [stdout] 204 | return next; [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] 204 - return next; [INFO] [stdout] 204 + next [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/io.rs:65:38 [INFO] [stdout] | [INFO] [stdout] 65 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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: unneeded `return` statement [INFO] [stdout] --> src/board/tree/node.rs:229:17 [INFO] [stdout] | [INFO] [stdout] 229 | return prev; [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] 229 - return prev; [INFO] [stdout] 229 + prev [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/io.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | return Ok(tree); [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] 182 - return Ok(tree); [INFO] [stdout] 182 + Ok(tree) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/node.rs:242:17 [INFO] [stdout] | [INFO] [stdout] 242 | return prev; [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] 242 - return prev; [INFO] [stdout] 242 + prev [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/board/tree/node.rs:248:1 [INFO] [stdout] | [INFO] [stdout] 248 | / impl PartialOrd for Node { [INFO] [stdout] 249 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 250 | | return self.val.partial_cmp(&other.val); [INFO] [stdout] 251 | | } [INFO] [stdout] 252 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 249 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 250 - return self.val.partial_cmp(&other.val); [INFO] [stdout] 251 - } [INFO] [stdout] 249 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/node.rs:250:9 [INFO] [stdout] | [INFO] [stdout] 250 | return self.val.partial_cmp(&other.val); [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] 250 - return self.val.partial_cmp(&other.val); [INFO] [stdout] 250 + self.val.partial_cmp(&other.val) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/node.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | return self.val.cmp(&other.val); [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] 256 - return self.val.cmp(&other.val); [INFO] [stdout] 256 + self.val.cmp(&other.val) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn move_next<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 19 - pub fn move_next<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 19 + pub fn move_next(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Tree` [INFO] [stdout] --> src/board/tree/tree_struct/constructors.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | / pub fn new() -> Self { [INFO] [stdout] 9 | | unsafe { [INFO] [stdout] 10 | | Self { [INFO] [stdout] 11 | | sentinel: NonNull::new_unchecked(Box::into_raw(Box::new(Node { [INFO] [stdout] ... | [INFO] [stdout] 22 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 7 + impl Default for Tree { [INFO] [stdout] 8 + fn default() -> Self { [INFO] [stdout] 9 + Self::new() [INFO] [stdout] 10 + } [INFO] [stdout] 11 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/constructors.rs:70:38 [INFO] [stdout] | [INFO] [stdout] 70 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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 `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/constructors.rs:87:38 [INFO] [stdout] | [INFO] [stdout] 87 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:41:30 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn move_prev<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 41 - pub fn move_prev<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 41 + pub fn move_prev(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/io.rs:48:38 [INFO] [stdout] | [INFO] [stdout] 48 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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 `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/io.rs:65:38 [INFO] [stdout] | [INFO] [stdout] 65 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/io.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | return Ok(tree); [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] 182 - return Ok(tree); [INFO] [stdout] 182 + Ok(tree) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:62:31 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn move_right<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 62 - pub fn move_right<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 62 + pub fn move_right(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn move_left<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 86 - pub fn move_left<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 86 + pub fn move_left(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:104:32 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn move_parent<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 104 - pub fn move_parent<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 104 + pub fn move_parent(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:140:30 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn get_value<'b>(&'b self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 140 - pub fn get_value<'b>(&'b self) -> Option<&'b V> { [INFO] [stdout] 140 + pub fn get_value(&self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:172:29 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn get_tree<'b>(&'b self) -> &'b Tree { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 172 - pub fn get_tree<'b>(&'b self) -> &'b Tree { [INFO] [stdout] 172 + pub fn get_tree(&self) -> &Tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn move_next<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 19 - pub fn move_next<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 19 + pub fn move_next(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:41:30 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn move_prev<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 41 - pub fn move_prev<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 41 + pub fn move_prev(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn move_next<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 19 - pub fn move_next<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 19 + pub fn move_next(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:41:30 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn move_prev<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 41 - pub fn move_prev<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 41 + pub fn move_prev(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:62:31 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn move_right<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 62 - pub fn move_right<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 62 + pub fn move_right(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:62:31 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn move_right<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 62 - pub fn move_right<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 62 + pub fn move_right(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn move_left<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 86 - pub fn move_left<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 86 + pub fn move_left(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn move_left<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 86 - pub fn move_left<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 86 + pub fn move_left(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:104:32 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn move_parent<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 104 - pub fn move_parent<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 104 + pub fn move_parent(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:104:32 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn move_parent<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 104 - pub fn move_parent<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 104 + pub fn move_parent(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:140:30 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn get_value<'b>(&'b self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 140 - pub fn get_value<'b>(&'b self) -> Option<&'b V> { [INFO] [stdout] 140 + pub fn get_value(&self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:140:30 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn get_value<'b>(&'b self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 140 - pub fn get_value<'b>(&'b self) -> Option<&'b V> { [INFO] [stdout] 140 + pub fn get_value(&self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:172:29 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn get_tree<'b>(&'b self) -> &'b Tree { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 172 - pub fn get_tree<'b>(&'b self) -> &'b Tree { [INFO] [stdout] 172 + pub fn get_tree(&self) -> &Tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:195:13 [INFO] [stdout] | [INFO] [stdout] 195 | return Some((*Box::from_raw(target)).val); [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] 195 - return Some((*Box::from_raw(target)).val); [INFO] [stdout] 195 + Some((*Box::from_raw(target)).val) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:195:25 [INFO] [stdout] | [INFO] [stdout] 195 | return Some((*Box::from_raw(target)).val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::from_raw(target)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | return Some((*Box::from_raw(target)).val); [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] 204 - return Some((*Box::from_raw(target)).val); [INFO] [stdout] 204 + Some((*Box::from_raw(target)).val) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:172:29 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn get_tree<'b>(&'b self) -> &'b Tree { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 186 | cursor_impl! {Cursor} [INFO] [stdout] | --------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 172 - pub fn get_tree<'b>(&'b self) -> &'b Tree { [INFO] [stdout] 172 + pub fn get_tree(&self) -> &Tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:204:25 [INFO] [stdout] | [INFO] [stdout] 204 | return Some((*Box::from_raw(target)).val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::from_raw(target)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn move_next<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 19 - pub fn move_next<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 19 + pub fn move_next(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | return Some(result.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] 213 - return Some(result.0); [INFO] [stdout] 213 + Some(result.0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:41:30 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn move_prev<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 41 - pub fn move_prev<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 41 + pub fn move_prev(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:62:31 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn move_right<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 62 - pub fn move_right<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 62 + pub fn move_right(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn move_left<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 86 - pub fn move_left<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 86 + pub fn move_left(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:104:32 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn move_parent<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 104 - pub fn move_parent<'b>(&'b mut self) -> Option<&'b V> { [INFO] [stdout] 104 + pub fn move_parent(&mut self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | return self.insert_node(val).is_some(); [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] 9 - return self.insert_node(val).is_some(); [INFO] [stdout] 9 + self.insert_node(val).is_some() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | return Some(new_node); [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] 72 - return Some(new_node); [INFO] [stdout] 72 + Some(new_node) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:140:30 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn get_value<'b>(&'b self) -> Option<&'b V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 140 - pub fn get_value<'b>(&'b self) -> Option<&'b V> { [INFO] [stdout] 140 + pub fn get_value(&self) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `*mut Node` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:30:30 [INFO] [stdout] | [INFO] [stdout] 30 | let mut parent = (*self.sentinel.as_ptr()).right.unwrap().as_ptr().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(*self.sentinel.as_ptr()).right.unwrap().as_ptr()` [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 `*mut Node` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | parent = (*parent).right.unwrap().as_ptr().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(*parent).right.unwrap().as_ptr()` [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 `*mut Node` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:49:34 [INFO] [stdout] | [INFO] [stdout] 49 | parent = (*parent).left.unwrap().as_ptr().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(*parent).left.unwrap().as_ptr()` [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: the following explicit lifetimes could be elided: 'b [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:172:29 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn get_tree<'b>(&'b self) -> &'b Tree { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] ... [INFO] [stdout] 187 | cursor_impl! {CursorMut} [INFO] [stdout] | ------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: this warning originates in the macro `cursor_impl` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 172 - pub fn get_tree<'b>(&'b self) -> &'b Tree { [INFO] [stdout] 172 + pub fn get_tree(&self) -> &Tree { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:195:13 [INFO] [stdout] | [INFO] [stdout] 195 | return Some((*Box::from_raw(target)).val); [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] 195 - return Some((*Box::from_raw(target)).val); [INFO] [stdout] 195 + Some((*Box::from_raw(target)).val) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:195:25 [INFO] [stdout] | [INFO] [stdout] 195 | return Some((*Box::from_raw(target)).val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::from_raw(target)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | return Some((*Box::from_raw(target)).val); [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] 204 - return Some((*Box::from_raw(target)).val); [INFO] [stdout] 204 + Some((*Box::from_raw(target)).val) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | / if (*parent).right.is_none() { [INFO] [stdout] 94 | | return None; [INFO] [stdout] 95 | | } [INFO] [stdout] | |_________________________^ help: replace it with: `(*parent).right?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:204:25 [INFO] [stdout] | [INFO] [stdout] 204 | return Some((*Box::from_raw(target)).val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::from_raw(target)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/iteration.rs:213:9 [INFO] [stdout] | [INFO] [stdout] 213 | return Some(result.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] 213 - return Some(result.0); [INFO] [stdout] 213 + Some(result.0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:100:25 [INFO] [stdout] | [INFO] [stdout] 100 | / if (*parent).left.is_none() { [INFO] [stdout] 101 | | return None; [INFO] [stdout] 102 | | } [INFO] [stdout] | |_________________________^ help: replace it with: `(*parent).left?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:131:17 [INFO] [stdout] | [INFO] [stdout] 131 | return Some((ret, NonNull::new_unchecked(old_node), new_ind)); [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] 131 - return Some((ret, NonNull::new_unchecked(old_node), new_ind)); [INFO] [stdout] 131 + Some((ret, NonNull::new_unchecked(old_node), new_ind)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | return Some((val, NonNull::new_unchecked(nodes.pop().unwrap()), new_ind)); [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] 150 - return Some((val, NonNull::new_unchecked(nodes.pop().unwrap()), new_ind)); [INFO] [stdout] 150 + Some((val, NonNull::new_unchecked(nodes.pop().unwrap()), new_ind)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | return Some((Box::from_raw(old_node).val, result, new_ind)); [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] 154 - return Some((Box::from_raw(old_node).val, result, new_ind)); [INFO] [stdout] 154 + Some((Box::from_raw(old_node).val, result, new_ind)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | return ret; [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] 178 - return ret; [INFO] [stdout] 178 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:159:38 [INFO] [stdout] | [INFO] [stdout] 159 | fn shift_nodes(&mut self, nodes: &mut Vec<*mut Node>, fill_val: V) -> V { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 159 - fn shift_nodes(&mut self, nodes: &mut Vec<*mut Node>, fill_val: V) -> V { [INFO] [stdout] 159 + fn shift_nodes(&mut self, nodes: &mut [*mut Node], fill_val: V) -> V { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | return Some((*Box::from_raw(node)).val); [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] 202 - return Some((*Box::from_raw(node)).val); [INFO] [stdout] 202 + Some((*Box::from_raw(node)).val) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | return self.insert_node(val).is_some(); [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] 9 - return self.insert_node(val).is_some(); [INFO] [stdout] 9 + self.insert_node(val).is_some() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | return Some(new_node); [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] 72 - return Some(new_node); [INFO] [stdout] 72 + Some(new_node) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `*mut Node` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:30:30 [INFO] [stdout] | [INFO] [stdout] 30 | let mut parent = (*self.sentinel.as_ptr()).right.unwrap().as_ptr().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(*self.sentinel.as_ptr()).right.unwrap().as_ptr()` [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: deref which would be done by auto-deref [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:202:25 [INFO] [stdout] | [INFO] [stdout] 202 | return Some((*Box::from_raw(node)).val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::from_raw(node)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `*mut Node` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 42 | parent = (*parent).right.unwrap().as_ptr().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(*parent).right.unwrap().as_ptr()` [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 `*mut Node` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:49:34 [INFO] [stdout] | [INFO] [stdout] 49 | parent = (*parent).left.unwrap().as_ptr().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `(*parent).left.unwrap().as_ptr()` [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 block may be rewritten with the `?` operator [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | / if (*parent).right.is_none() { [INFO] [stdout] 94 | | return None; [INFO] [stdout] 95 | | } [INFO] [stdout] | |_________________________^ help: replace it with: `(*parent).right?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:100:25 [INFO] [stdout] | [INFO] [stdout] 100 | / if (*parent).left.is_none() { [INFO] [stdout] 101 | | return None; [INFO] [stdout] 102 | | } [INFO] [stdout] | |_________________________^ help: replace it with: `(*parent).left?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `*mut Node` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:282:66 [INFO] [stdout] | [INFO] [stdout] 282 | while let Some(next_node) = (*node).parent.map(|ptr| ptr.as_ptr().clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `ptr.as_ptr()` [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: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:131:17 [INFO] [stdout] | [INFO] [stdout] 131 | return Some((ret, NonNull::new_unchecked(old_node), new_ind)); [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] 131 - return Some((ret, NonNull::new_unchecked(old_node), new_ind)); [INFO] [stdout] 131 + Some((ret, NonNull::new_unchecked(old_node), new_ind)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | return Some((val, NonNull::new_unchecked(nodes.pop().unwrap()), new_ind)); [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] 150 - return Some((val, NonNull::new_unchecked(nodes.pop().unwrap()), new_ind)); [INFO] [stdout] 150 + Some((val, NonNull::new_unchecked(nodes.pop().unwrap()), new_ind)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:154:17 [INFO] [stdout] | [INFO] [stdout] 154 | return Some((Box::from_raw(old_node).val, result, new_ind)); [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] 154 - return Some((Box::from_raw(old_node).val, result, new_ind)); [INFO] [stdout] 154 + Some((Box::from_raw(old_node).val, result, new_ind)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:314:38 [INFO] [stdout] | [INFO] [stdout] 314 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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 `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:325:38 [INFO] [stdout] | [INFO] [stdout] 325 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | return ret; [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] 178 - return ret; [INFO] [stdout] 178 + ret [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:159:38 [INFO] [stdout] | [INFO] [stdout] 159 | fn shift_nodes(&mut self, nodes: &mut Vec<*mut Node>, fill_val: V) -> V { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 159 - fn shift_nodes(&mut self, nodes: &mut Vec<*mut Node>, fill_val: V) -> V { [INFO] [stdout] 159 + fn shift_nodes(&mut self, nodes: &mut [*mut Node], fill_val: V) -> V { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | return Some((*Box::from_raw(node)).val); [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] 202 - return Some((*Box::from_raw(node)).val); [INFO] [stdout] 202 + Some((*Box::from_raw(node)).val) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/board/tree/tree_struct/read.rs:85:25 [INFO] [stdout] | [INFO] [stdout] 85 | / if (*parent).right.is_none() { [INFO] [stdout] 86 | | return None; [INFO] [stdout] 87 | | } [INFO] [stdout] | |_________________________^ help: replace it with: `(*parent).right?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/board/tree/tree_struct/read.rs:91:25 [INFO] [stdout] | [INFO] [stdout] 91 | / if (*parent).left.is_none() { [INFO] [stdout] 92 | | return None; [INFO] [stdout] 93 | | } [INFO] [stdout] | |_________________________^ help: replace it with: `(*parent).left?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:202:25 [INFO] [stdout] | [INFO] [stdout] 202 | return Some((*Box::from_raw(node)).val); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::from_raw(node)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'l [INFO] [stdout] --> src/board/tree/tree_struct/read.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn at_index<'l>(&'l self, ind: usize) -> Option<&'l V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 102 - pub fn at_index<'l>(&'l self, ind: usize) -> Option<&'l V> { [INFO] [stdout] 102 + pub fn at_index(&self, ind: usize) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/board/tree/tree_struct/test_funcs.rs:29:25 [INFO] [stdout] | [INFO] [stdout] 29 | / if let Some(left) = (*last.ptr).left { [INFO] [stdout] 30 | | if (*left.as_ptr()).parent.unwrap().as_ptr() != last.ptr { [INFO] [stdout] 31 | | panic!("Parent does not agree with left!"); [INFO] [stdout] 32 | | } [INFO] [stdout] 33 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 29 ~ if let Some(left) = (*last.ptr).left [INFO] [stdout] 30 ~ && (*left.as_ptr()).parent.unwrap().as_ptr() != last.ptr { [INFO] [stdout] 31 | panic!("Parent does not agree with left!"); [INFO] [stdout] 32 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `*mut Node` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:282:66 [INFO] [stdout] | [INFO] [stdout] 282 | while let Some(next_node) = (*node).parent.map(|ptr| ptr.as_ptr().clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `ptr.as_ptr()` [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 `if` statement can be collapsed [INFO] [stdout] --> src/board/tree/tree_struct/test_funcs.rs:34:25 [INFO] [stdout] | [INFO] [stdout] 34 | / if let Some(right) = (*last.ptr).right { [INFO] [stdout] 35 | | if (*right.as_ptr()).parent.unwrap().as_ptr() != last.ptr { [INFO] [stdout] 36 | | panic!("Parent does not agree with right!"); [INFO] [stdout] 37 | | } [INFO] [stdout] 38 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 34 ~ if let Some(right) = (*last.ptr).right [INFO] [stdout] 35 ~ && (*right.as_ptr()).parent.unwrap().as_ptr() != last.ptr { [INFO] [stdout] 36 | panic!("Parent does not agree with right!"); [INFO] [stdout] 37 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:314:38 [INFO] [stdout] | [INFO] [stdout] 314 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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 `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/test_funcs.rs:53:38 [INFO] [stdout] | [INFO] [stdout] 53 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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 `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/operations.rs:325:38 [INFO] [stdout] | [INFO] [stdout] 325 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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 `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/test_funcs.rs:72:38 [INFO] [stdout] | [INFO] [stdout] 72 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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 `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/board/tree/tree_struct/test_funcs.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | print!("{}\n", *cursor.get_value().unwrap()); [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] 106 - print!("{}\n", *cursor.get_value().unwrap()); [INFO] [stdout] 106 + println!("{}", *cursor.get_value().unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/board/tree/tree_struct/read.rs:85:25 [INFO] [stdout] | [INFO] [stdout] 85 | / if (*parent).right.is_none() { [INFO] [stdout] 86 | | return None; [INFO] [stdout] 87 | | } [INFO] [stdout] | |_________________________^ help: replace it with: `(*parent).right?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/tree/tree_struct/mod.rs:26:29 [INFO] [stdout] | [INFO] [stdout] 26 | unsafe impl Send for Tree {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/tree/tree_struct/mod.rs:26:38 [INFO] [stdout] | [INFO] [stdout] 26 | unsafe impl Send for Tree {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 26 - unsafe impl Send for Tree {} [INFO] [stdout] 26 + unsafe impl Send for Tree {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/board/tree/tree_struct/read.rs:91:25 [INFO] [stdout] | [INFO] [stdout] 91 | / if (*parent).left.is_none() { [INFO] [stdout] 92 | | return None; [INFO] [stdout] 93 | | } [INFO] [stdout] | |_________________________^ help: replace it with: `(*parent).left?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/tree/tree_struct/mod.rs:27:29 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe impl Sync for Tree {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/tree/tree_struct/mod.rs:27:38 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe impl Sync for Tree {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 27 - unsafe impl Sync for Tree {} [INFO] [stdout] 27 + unsafe impl Sync for Tree {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'l [INFO] [stdout] --> src/board/tree/tree_struct/read.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn at_index<'l>(&'l self, ind: usize) -> Option<&'l V> { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 102 - pub fn at_index<'l>(&'l self, ind: usize) -> Option<&'l V> { [INFO] [stdout] 102 + pub fn at_index(&self, ind: usize) -> Option<&V> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/board/tree/test.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | assert!(!tree.remove(&10).is_some()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `tree.remove(&10).is_none()` [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: this `if` statement can be collapsed [INFO] [stdout] --> src/board/tree/tree_struct/test_funcs.rs:29:25 [INFO] [stdout] | [INFO] [stdout] 29 | / if let Some(left) = (*last.ptr).left { [INFO] [stdout] 30 | | if (*left.as_ptr()).parent.unwrap().as_ptr() != last.ptr { [INFO] [stdout] 31 | | panic!("Parent does not agree with left!"); [INFO] [stdout] 32 | | } [INFO] [stdout] 33 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 29 ~ if let Some(left) = (*last.ptr).left [INFO] [stdout] 30 ~ && (*left.as_ptr()).parent.unwrap().as_ptr() != last.ptr { [INFO] [stdout] 31 | panic!("Parent does not agree with left!"); [INFO] [stdout] 32 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/board/tree/tree_struct/test_funcs.rs:34:25 [INFO] [stdout] | [INFO] [stdout] 34 | / if let Some(right) = (*last.ptr).right { [INFO] [stdout] 35 | | if (*right.as_ptr()).parent.unwrap().as_ptr() != last.ptr { [INFO] [stdout] 36 | | panic!("Parent does not agree with right!"); [INFO] [stdout] 37 | | } [INFO] [stdout] 38 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 34 ~ if let Some(right) = (*last.ptr).right [INFO] [stdout] 35 ~ && (*right.as_ptr()).parent.unwrap().as_ptr() != last.ptr { [INFO] [stdout] 36 | panic!("Parent does not agree with right!"); [INFO] [stdout] 37 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/test_funcs.rs:53:38 [INFO] [stdout] | [INFO] [stdout] 53 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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 `NonNull>` which implements the `Copy` trait [INFO] [stdout] --> src/board/tree/tree_struct/test_funcs.rs:72:38 [INFO] [stdout] | [INFO] [stdout] 72 | ... ptr: child.clone().as_ptr(), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `child` [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 `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/board/tree/tree_struct/test_funcs.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | print!("{}\n", *cursor.get_value().unwrap()); [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] 106 - print!("{}\n", *cursor.get_value().unwrap()); [INFO] [stdout] 106 + println!("{}", *cursor.get_value().unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/tree/tree_struct/mod.rs:26:29 [INFO] [stdout] | [INFO] [stdout] 26 | unsafe impl Send for Tree {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/tree/tree_struct/mod.rs:26:38 [INFO] [stdout] | [INFO] [stdout] 26 | unsafe impl Send for Tree {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 26 - unsafe impl Send for Tree {} [INFO] [stdout] 26 + unsafe impl Send for Tree {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `?Sized` bound is ignored because of a `Sized` requirement [INFO] [stdout] --> src/board/tree/tree_struct/mod.rs:27:29 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe impl Sync for Tree {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `V` cannot be unsized because of the bound [INFO] [stdout] --> src/board/tree/tree_struct/mod.rs:27:38 [INFO] [stdout] | [INFO] [stdout] 27 | unsafe impl Sync for Tree {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] = note: ...because `Default` has the bound `Sized` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_maybe_sized [INFO] [stdout] help: change the bounds that require `Sized`, or remove the `?Sized` bound [INFO] [stdout] | [INFO] [stdout] 27 - unsafe impl Sync for Tree {} [INFO] [stdout] 27 + unsafe impl Sync for Tree {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cli.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | return true; [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] 45 ~ true [INFO] [stdout] 46 | } else { [INFO] [stdout] ... [INFO] [stdout] 57 | } [INFO] [stdout] 58 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cli.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | return false; [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 ~ false [INFO] [stdout] 49 | } [INFO] [stdout] ... [INFO] [stdout] 57 | } [INFO] [stdout] 58 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cli.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | return false; [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] 56 ~ false [INFO] [stdout] 57 | } [INFO] [stdout] 58 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/cli.rs:44:43 [INFO] [stdout] | [INFO] [stdout] 44 | if s.trim().to_lowercase() == "y".to_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `"y"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `params.get(0)` [INFO] [stdout] --> src/cli.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | let cmd = params.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `params.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` 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/cli.rs:77:27 [INFO] [stdout] | [INFO] [stdout] 77 | backend::save(&cmd_arc, cmd_saves_path); [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:115:20 [INFO] [stdout] | [INFO] [stdout] 115 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:121:37 [INFO] [stdout] | [INFO] [stdout] 121 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:121:52 [INFO] [stdout] | [INFO] [stdout] 121 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:166:20 [INFO] [stdout] | [INFO] [stdout] 166 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:171:58 [INFO] [stdout] | [INFO] [stdout] 171 | if backend::remove_entry(&create_interaction(¤t_user, &cmd_arc), user_id) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:171:73 [INFO] [stdout] | [INFO] [stdout] 171 | if backend::remove_entry(&create_interaction(¤t_user, &cmd_arc), user_id) [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:201:20 [INFO] [stdout] | [INFO] [stdout] 201 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:206:59 [INFO] [stdout] | [INFO] [stdout] 206 | match backend::get_points(&create_interaction(¤t_user, &cmd_arc), &user_id) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:206:74 [INFO] [stdout] | [INFO] [stdout] 206 | match backend::get_points(&create_interaction(¤t_user, &cmd_arc), &user_id) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: unneeded `return` statement [INFO] [stdout] --> src/cli.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | return true; [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] 45 ~ true [INFO] [stdout] 46 | } else { [INFO] [stdout] ... [INFO] [stdout] 57 | } [INFO] [stdout] 58 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cli.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | return false; [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 ~ false [INFO] [stdout] 49 | } [INFO] [stdout] ... [INFO] [stdout] 57 | } [INFO] [stdout] 58 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cli.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 56 | return false; [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] 56 ~ false [INFO] [stdout] 57 | } [INFO] [stdout] 58 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/cli.rs:44:43 [INFO] [stdout] | [INFO] [stdout] 44 | if s.trim().to_lowercase() == "y".to_string() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `"y"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `params.get(0)` [INFO] [stdout] --> src/cli.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | let cmd = params.get(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `params.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` 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/cli.rs:77:27 [INFO] [stdout] | [INFO] [stdout] 77 | backend::save(&cmd_arc, cmd_saves_path); [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:115:20 [INFO] [stdout] | [INFO] [stdout] 115 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:121:37 [INFO] [stdout] | [INFO] [stdout] 121 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:121:52 [INFO] [stdout] | [INFO] [stdout] 121 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:166:20 [INFO] [stdout] | [INFO] [stdout] 166 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:171:58 [INFO] [stdout] | [INFO] [stdout] 171 | if backend::remove_entry(&create_interaction(¤t_user, &cmd_arc), user_id) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:171:73 [INFO] [stdout] | [INFO] [stdout] 171 | if backend::remove_entry(&create_interaction(¤t_user, &cmd_arc), user_id) [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:201:20 [INFO] [stdout] | [INFO] [stdout] 201 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:206:59 [INFO] [stdout] | [INFO] [stdout] 206 | match backend::get_points(&create_interaction(¤t_user, &cmd_arc), &user_id) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:206:74 [INFO] [stdout] | [INFO] [stdout] 206 | match backend::get_points(&create_interaction(¤t_user, &cmd_arc), &user_id) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:237:20 [INFO] [stdout] | [INFO] [stdout] 237 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:243:54 [INFO] [stdout] | [INFO] [stdout] 243 | backend::get_top(&create_interaction(¤t_user, &cmd_arc), count, true).iter() [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:243:69 [INFO] [stdout] | [INFO] [stdout] 243 | backend::get_top(&create_interaction(¤t_user, &cmd_arc), count, true).iter() [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:290:20 [INFO] [stdout] | [INFO] [stdout] 290 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:237:20 [INFO] [stdout] | [INFO] [stdout] 237 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:243:54 [INFO] [stdout] | [INFO] [stdout] 243 | backend::get_top(&create_interaction(¤t_user, &cmd_arc), count, true).iter() [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:243:69 [INFO] [stdout] | [INFO] [stdout] 243 | backend::get_top(&create_interaction(¤t_user, &cmd_arc), count, true).iter() [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:296:37 [INFO] [stdout] | [INFO] [stdout] 296 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:296:52 [INFO] [stdout] | [INFO] [stdout] 296 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:290:20 [INFO] [stdout] | [INFO] [stdout] 290 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:296:37 [INFO] [stdout] | [INFO] [stdout] 296 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:296:52 [INFO] [stdout] | [INFO] [stdout] 296 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:353:20 [INFO] [stdout] | [INFO] [stdout] 353 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:359:37 [INFO] [stdout] | [INFO] [stdout] 359 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:359:52 [INFO] [stdout] | [INFO] [stdout] 359 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:353:20 [INFO] [stdout] | [INFO] [stdout] 353 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:359:37 [INFO] [stdout] | [INFO] [stdout] 359 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:359:52 [INFO] [stdout] | [INFO] [stdout] 359 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:430:20 [INFO] [stdout] | [INFO] [stdout] 430 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:436:37 [INFO] [stdout] | [INFO] [stdout] 436 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:436:52 [INFO] [stdout] | [INFO] [stdout] 436 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:430:20 [INFO] [stdout] | [INFO] [stdout] 430 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:436:37 [INFO] [stdout] | [INFO] [stdout] 436 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:436:52 [INFO] [stdout] | [INFO] [stdout] 436 | &create_interaction(¤t_user, &cmd_arc), [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:494:20 [INFO] [stdout] | [INFO] [stdout] 494 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:500:56 [INFO] [stdout] | [INFO] [stdout] 500 | backend::get_range(&create_interaction(¤t_user, &cmd_arc), start, end); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:500:71 [INFO] [stdout] | [INFO] [stdout] 500 | backend::get_range(&create_interaction(¤t_user, &cmd_arc), start, end); [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: length comparison to zero [INFO] [stdout] --> src/cli.rs:502:16 [INFO] [stdout] | [INFO] [stdout] 502 | if result.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `result.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:494:20 [INFO] [stdout] | [INFO] [stdout] 494 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:500:56 [INFO] [stdout] | [INFO] [stdout] 500 | backend::get_range(&create_interaction(¤t_user, &cmd_arc), start, end); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:500:71 [INFO] [stdout] | [INFO] [stdout] 500 | backend::get_range(&create_interaction(¤t_user, &cmd_arc), start, end); [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: length comparison to zero [INFO] [stdout] --> src/cli.rs:502:16 [INFO] [stdout] | [INFO] [stdout] 502 | if result.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `result.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:542:20 [INFO] [stdout] | [INFO] [stdout] 542 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:548:57 [INFO] [stdout] | [INFO] [stdout] 548 | backend::get_bottom(&create_interaction(¤t_user, &cmd_arc), count, true) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:548:72 [INFO] [stdout] | [INFO] [stdout] 548 | backend::get_bottom(&create_interaction(¤t_user, &cmd_arc), count, true) [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:542:20 [INFO] [stdout] | [INFO] [stdout] 542 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:548:57 [INFO] [stdout] | [INFO] [stdout] 548 | backend::get_bottom(&create_interaction(¤t_user, &cmd_arc), count, true) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:548:72 [INFO] [stdout] | [INFO] [stdout] 548 | backend::get_bottom(&create_interaction(¤t_user, &cmd_arc), count, true) [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:583:20 [INFO] [stdout] | [INFO] [stdout] 583 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:588:57 [INFO] [stdout] | [INFO] [stdout] 588 | match backend::get_rank(&create_interaction(¤t_user, &cmd_arc), &user_id) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:588:72 [INFO] [stdout] | [INFO] [stdout] 588 | match backend::get_rank(&create_interaction(¤t_user, &cmd_arc), &user_id) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:583:20 [INFO] [stdout] | [INFO] [stdout] 583 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:622:20 [INFO] [stdout] | [INFO] [stdout] 622 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:588:57 [INFO] [stdout] | [INFO] [stdout] 588 | match backend::get_rank(&create_interaction(¤t_user, &cmd_arc), &user_id) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:588:72 [INFO] [stdout] | [INFO] [stdout] 588 | match backend::get_rank(&create_interaction(¤t_user, &cmd_arc), &user_id) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:627:56 [INFO] [stdout] | [INFO] [stdout] 627 | match backend::at_rank(&create_interaction(¤t_user, &cmd_arc), rank.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:627:71 [INFO] [stdout] | [INFO] [stdout] 627 | match backend::at_rank(&create_interaction(¤t_user, &cmd_arc), rank.clone()) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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 `usize` which implements the `Copy` trait [INFO] [stdout] --> src/cli.rs:627:82 [INFO] [stdout] | [INFO] [stdout] 627 | match backend::at_rank(&create_interaction(¤t_user, &cmd_arc), rank.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `rank` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:650:20 [INFO] [stdout] | [INFO] [stdout] 650 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:622:20 [INFO] [stdout] | [INFO] [stdout] 622 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:658:55 [INFO] [stdout] | [INFO] [stdout] 658 | backend::get_size(&create_interaction(¤t_user, &cmd_arc)) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:627:56 [INFO] [stdout] | [INFO] [stdout] 627 | match backend::at_rank(&create_interaction(¤t_user, &cmd_arc), rank.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:658:70 [INFO] [stdout] | [INFO] [stdout] 658 | backend::get_size(&create_interaction(¤t_user, &cmd_arc)) [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:627:71 [INFO] [stdout] | [INFO] [stdout] 627 | match backend::at_rank(&create_interaction(¤t_user, &cmd_arc), rank.clone()) { [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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 `usize` which implements the `Copy` trait [INFO] [stdout] --> src/cli.rs:627:82 [INFO] [stdout] | [INFO] [stdout] 627 | match backend::at_rank(&create_interaction(¤t_user, &cmd_arc), rank.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try removing the `clone` call: `rank` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:669:20 [INFO] [stdout] | [INFO] [stdout] 669 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:650:20 [INFO] [stdout] | [INFO] [stdout] 650 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:658:55 [INFO] [stdout] | [INFO] [stdout] 658 | backend::get_size(&create_interaction(¤t_user, &cmd_arc)) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `current_user` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli.rs:658:70 [INFO] [stdout] | [INFO] [stdout] 658 | backend::get_size(&create_interaction(¤t_user, &cmd_arc)) [INFO] [stdout] | ^^^^^^^^ help: change this to: `cmd_arc` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:706:20 [INFO] [stdout] | [INFO] [stdout] 706 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:669:20 [INFO] [stdout] | [INFO] [stdout] 669 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:706:20 [INFO] [stdout] | [INFO] [stdout] 706 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing an `Option` with `Some(..)` [INFO] [stdout] --> src/cli.rs:765:21 [INFO] [stdout] | [INFO] [stdout] 765 | let _ = std::mem::replace( [INFO] [stdout] | _____________________^ [INFO] [stdout] 766 | | &mut *state, [INFO] [stdout] 767 | | Some(backend::User { [INFO] [stdout] 768 | | board: board, [INFO] [stdout] 769 | | write: true, [INFO] [stdout] 770 | | }), [INFO] [stdout] 771 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_option_with_some [INFO] [stdout] = note: `#[warn(clippy::mem_replace_option_with_some)]` on by default [INFO] [stdout] help: consider `Option::replace()` instead [INFO] [stdout] | [INFO] [stdout] 765 ~ let _ = (*state).replace(backend::User { [INFO] [stdout] 766 + board: board, [INFO] [stdout] 767 + write: true, [INFO] [stdout] 768 ~ }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing an `Option` with `Some(..)` [INFO] [stdout] --> src/cli.rs:765:21 [INFO] [stdout] | [INFO] [stdout] 765 | let _ = std::mem::replace( [INFO] [stdout] | _____________________^ [INFO] [stdout] 766 | | &mut *state, [INFO] [stdout] 767 | | Some(backend::User { [INFO] [stdout] 768 | | board: board, [INFO] [stdout] 769 | | write: true, [INFO] [stdout] 770 | | }), [INFO] [stdout] 771 | | ); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_option_with_some [INFO] [stdout] = note: `#[warn(clippy::mem_replace_option_with_some)]` on by default [INFO] [stdout] help: consider `Option::replace()` instead [INFO] [stdout] | [INFO] [stdout] 765 ~ let _ = (*state).replace(backend::User { [INFO] [stdout] 766 + board: board, [INFO] [stdout] 767 + write: true, [INFO] [stdout] 768 ~ }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/cli.rs:923:20 [INFO] [stdout] | [INFO] [stdout] 923 | if (ascii >= 65 && ascii <= 90) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(65..=90).contains(&ascii)` [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: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/cli.rs:923:20 [INFO] [stdout] | [INFO] [stdout] 923 | if (ascii >= 65 && ascii <= 90) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(65..=90).contains(&ascii)` [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: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/cli.rs:927:24 [INFO] [stdout] | [INFO] [stdout] 927 | || (ascii >= 48 && ascii <= 57) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(48..=57).contains(&ascii)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing an `Option` with `None` [INFO] [stdout] --> src/cli.rs:974:25 [INFO] [stdout] | [INFO] [stdout] 974 | let _ = std::mem::replace(&mut *state, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider `Option::take()` instead: `(*state).take()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_option_with_none [INFO] [stdout] = note: `#[warn(clippy::mem_replace_option_with_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cli.rs:1022:16 [INFO] [stdout] | [INFO] [stdout] 1022 | if keys.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `keys.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:1249:20 [INFO] [stdout] | [INFO] [stdout] 1249 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1273:13 [INFO] [stdout] | [INFO] [stdout] 1273 | let _ = drop(binding); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1273 - let _ = drop(binding); [INFO] [stdout] 1273 + drop(binding); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1286:13 [INFO] [stdout] | [INFO] [stdout] 1286 | let _ = drop(binding); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1286 - let _ = drop(binding); [INFO] [stdout] 1286 + drop(binding); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1415:13 [INFO] [stdout] | [INFO] [stdout] 1415 | let _ = drop(snapshot); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1415 - let _ = drop(snapshot); [INFO] [stdout] 1415 + drop(snapshot); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1440:17 [INFO] [stdout] | [INFO] [stdout] 1440 | let _ = drop(snapshot); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1440 - let _ = drop(snapshot); [INFO] [stdout] 1440 + drop(snapshot); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/cli.rs:1454:29 [INFO] [stdout] | [INFO] [stdout] 1454 | ... &board, [INFO] [stdout] | ^^^^^^ help: change this to: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1459:25 [INFO] [stdout] | [INFO] [stdout] 1459 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1459 - let _ = drop(boards); [INFO] [stdout] 1459 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/cli.rs:1464:29 [INFO] [stdout] | [INFO] [stdout] 1464 | ... &snapshot_clone.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `snapshot_clone.unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1494:13 [INFO] [stdout] | [INFO] [stdout] 1494 | let _ = drop(binding); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1494 - let _ = drop(binding); [INFO] [stdout] 1494 + drop(binding); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.34s [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/cli.rs:1499:13 [INFO] [stdout] | [INFO] [stdout] 1499 | let board: Board; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `board` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 1499 ~ [INFO] [stdout] 1500 | [INFO] [stdout] 1501 ~ let board: Board = match File::open(temp_path.clone()) { [INFO] [stdout] 1502 | Err(e) => { [INFO] [stdout] ... [INFO] [stdout] 1506 | ); [INFO] [stdout] 1507 ~ Board::new() [INFO] [stdout] 1508 | } [INFO] [stdout] ... [INFO] [stdout] 1511 | [INFO] [stdout] 1512 ~ match bincode::decode_from_std_read( [INFO] [stdout] 1513 | &mut buf_reader, [INFO] [stdout] ... [INFO] [stdout] 1523 | Ok(b) => b, [INFO] [stdout] 1524 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1532:13 [INFO] [stdout] | [INFO] [stdout] 1532 | let _ = drop(board); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1532 - let _ = drop(board); [INFO] [stdout] 1532 + drop(board); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1588:13 [INFO] [stdout] | [INFO] [stdout] 1588 | let _ = drop(save_locker); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1588 - let _ = drop(save_locker); [INFO] [stdout] 1588 + drop(save_locker); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `res` after checking its variant with `is_err` [INFO] [stdout] --> src/cli.rs:1671:17 [INFO] [stdout] | [INFO] [stdout] 1667 | if res.is_err() { [INFO] [stdout] | --------------- help: try: `if let Err() = res` [INFO] [stdout] ... [INFO] [stdout] 1671 | res.unwrap_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cli.rs:1678:12 [INFO] [stdout] | [INFO] [stdout] 1678 | if params.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `params.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/util.rs:31:36 [INFO] [stdout] | [INFO] [stdout] 31 | Ok(String::from_utf8_lossy(&*map).to_string()) [INFO] [stdout] | ^^^^^ help: try: `&map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | return Ok(serde_json::to_string(&result).unwrap()); [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] 116 - return Ok(serde_json::to_string(&result).unwrap()); [INFO] [stdout] 116 + Ok(serde_json::to_string(&result).unwrap()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/main.rs:149:20 [INFO] [stdout] | [INFO] [stdout] 149 | async fn main() -> Result<(), rocket::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the `Err`-variant is at least 224 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `rocket::Error`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] = note: `#[warn(clippy::result_large_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: file opened with `create`, but `truncate` behavior not defined [INFO] [stdout] --> src/main.rs:158:10 [INFO] [stdout] | [INFO] [stdout] 158 | .create(true) [INFO] [stdout] | ^^^^^^^^^^^^- help: add: `.truncate(true)` [INFO] [stdout] | [INFO] [stdout] = help: if you intend to overwrite an existing file entirely, call `.truncate(true)` [INFO] [stdout] = help: if you instead know that you may want to keep some parts of the old file, call `.truncate(false)` [INFO] [stdout] = help: alternatively, use `.append(true)` to append to the file instead of overwriting it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_open_options [INFO] [stdout] = note: `#[warn(clippy::suspicious_open_options)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: file opened with `create`, but `truncate` behavior not defined [INFO] [stdout] --> src/main.rs:164:10 [INFO] [stdout] | [INFO] [stdout] 164 | .create(true) [INFO] [stdout] | ^^^^^^^^^^^^- help: add: `.truncate(true)` [INFO] [stdout] | [INFO] [stdout] = help: if you intend to overwrite an existing file entirely, call `.truncate(true)` [INFO] [stdout] = help: if you instead know that you may want to keep some parts of the old file, call `.truncate(false)` [INFO] [stdout] = help: alternatively, use `.append(true)` to append to the file instead of overwriting it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_open_options [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/cli.rs:927:24 [INFO] [stdout] | [INFO] [stdout] 927 | || (ascii >= 48 && ascii <= 57) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(48..=57).contains(&ascii)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing an `Option` with `None` [INFO] [stdout] --> src/cli.rs:974:25 [INFO] [stdout] | [INFO] [stdout] 974 | let _ = std::mem::replace(&mut *state, None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider `Option::take()` instead: `(*state).take()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_option_with_none [INFO] [stdout] = note: `#[warn(clippy::mem_replace_option_with_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cli.rs:1022:16 [INFO] [stdout] | [INFO] [stdout] 1022 | if keys.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `keys.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/cli.rs:1249:20 [INFO] [stdout] | [INFO] [stdout] 1249 | if let None = *current_user.lock().unwrap() { [INFO] [stdout] | -------^^^^-------------------------------- help: try: `if current_user.lock().unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = note: this will change drop order of the result, as well as all temporaries [INFO] [stdout] = note: add `#[allow(clippy::redundant_pattern_matching)]` if this is important [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1273:13 [INFO] [stdout] | [INFO] [stdout] 1273 | let _ = drop(binding); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1273 - let _ = drop(binding); [INFO] [stdout] 1273 + drop(binding); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1286:13 [INFO] [stdout] | [INFO] [stdout] 1286 | let _ = drop(binding); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1286 - let _ = drop(binding); [INFO] [stdout] 1286 + drop(binding); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1415:13 [INFO] [stdout] | [INFO] [stdout] 1415 | let _ = drop(snapshot); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1415 - let _ = drop(snapshot); [INFO] [stdout] 1415 + drop(snapshot); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1440:17 [INFO] [stdout] | [INFO] [stdout] 1440 | let _ = drop(snapshot); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1440 - let _ = drop(snapshot); [INFO] [stdout] 1440 + drop(snapshot); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/cli.rs:1454:29 [INFO] [stdout] | [INFO] [stdout] 1454 | ... &board, [INFO] [stdout] | ^^^^^^ help: change this to: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1459:25 [INFO] [stdout] | [INFO] [stdout] 1459 | let _ = drop(boards); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1459 - let _ = drop(boards); [INFO] [stdout] 1459 + drop(boards); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/cli.rs:1464:29 [INFO] [stdout] | [INFO] [stdout] 1464 | ... &snapshot_clone.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `snapshot_clone.unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1494:13 [INFO] [stdout] | [INFO] [stdout] 1494 | let _ = drop(binding); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1494 - let _ = drop(binding); [INFO] [stdout] 1494 + drop(binding); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/cli.rs:1499:13 [INFO] [stdout] | [INFO] [stdout] 1499 | let board: Board; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `board` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 1499 ~ [INFO] [stdout] 1500 | [INFO] [stdout] 1501 ~ let board: Board = match File::open(temp_path.clone()) { [INFO] [stdout] 1502 | Err(e) => { [INFO] [stdout] ... [INFO] [stdout] 1506 | ); [INFO] [stdout] 1507 ~ Board::new() [INFO] [stdout] 1508 | } [INFO] [stdout] ... [INFO] [stdout] 1511 | [INFO] [stdout] 1512 ~ match bincode::decode_from_std_read( [INFO] [stdout] 1513 | &mut buf_reader, [INFO] [stdout] ... [INFO] [stdout] 1523 | Ok(b) => b, [INFO] [stdout] 1524 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1532:13 [INFO] [stdout] | [INFO] [stdout] 1532 | let _ = drop(board); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1532 - let _ = drop(board); [INFO] [stdout] 1532 + drop(board); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli.rs:1588:13 [INFO] [stdout] | [INFO] [stdout] 1588 | let _ = drop(save_locker); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1588 - let _ = drop(save_locker); [INFO] [stdout] 1588 + drop(save_locker); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `res` after checking its variant with `is_err` [INFO] [stdout] --> src/cli.rs:1671:17 [INFO] [stdout] | [INFO] [stdout] 1667 | if res.is_err() { [INFO] [stdout] | --------------- help: try: `if let Err() = res` [INFO] [stdout] ... [INFO] [stdout] 1671 | res.unwrap_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cli.rs:1678:12 [INFO] [stdout] | [INFO] [stdout] 1678 | if params.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `params.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/util.rs:31:36 [INFO] [stdout] | [INFO] [stdout] 31 | Ok(String::from_utf8_lossy(&*map).to_string()) [INFO] [stdout] | ^^^^^ help: try: `&map` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 116 | return Ok(serde_json::to_string(&result).unwrap()); [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] 116 - return Ok(serde_json::to_string(&result).unwrap()); [INFO] [stdout] 116 + Ok(serde_json::to_string(&result).unwrap()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/main.rs:149:20 [INFO] [stdout] | [INFO] [stdout] 149 | async fn main() -> Result<(), rocket::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the `Err`-variant is at least 224 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `rocket::Error`, for example by boxing large elements or replacing it with `Box` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] = note: `#[warn(clippy::result_large_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: file opened with `create`, but `truncate` behavior not defined [INFO] [stdout] --> src/main.rs:158:10 [INFO] [stdout] | [INFO] [stdout] 158 | .create(true) [INFO] [stdout] | ^^^^^^^^^^^^- help: add: `.truncate(true)` [INFO] [stdout] | [INFO] [stdout] = help: if you intend to overwrite an existing file entirely, call `.truncate(true)` [INFO] [stdout] = help: if you instead know that you may want to keep some parts of the old file, call `.truncate(false)` [INFO] [stdout] = help: alternatively, use `.append(true)` to append to the file instead of overwriting it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_open_options [INFO] [stdout] = note: `#[warn(clippy::suspicious_open_options)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: file opened with `create`, but `truncate` behavior not defined [INFO] [stdout] --> src/main.rs:164:10 [INFO] [stdout] | [INFO] [stdout] 164 | .create(true) [INFO] [stdout] | ^^^^^^^^^^^^- help: add: `.truncate(true)` [INFO] [stdout] | [INFO] [stdout] = help: if you intend to overwrite an existing file entirely, call `.truncate(true)` [INFO] [stdout] = help: if you instead know that you may want to keep some parts of the old file, call `.truncate(false)` [INFO] [stdout] = help: alternatively, use `.append(true)` to append to the file instead of overwriting it [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_open_options [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f7e0f71e8c653b391f3556799fd70893d92956b4c32bedf07ec9275ef33bd1b0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f7e0f71e8c653b391f3556799fd70893d92956b4c32bedf07ec9275ef33bd1b0", kill_on_drop: false }` [INFO] [stdout] f7e0f71e8c653b391f3556799fd70893d92956b4c32bedf07ec9275ef33bd1b0