[INFO] cloning repository https://github.com/neal-o-r/rust-scrabble [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/neal-o-r/rust-scrabble" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneal-o-r%2Frust-scrabble", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneal-o-r%2Frust-scrabble'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4e20da62df8e873b1300cad0ccb9c5e121952900 [INFO] linting neal-o-r/rust-scrabble against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneal-o-r%2Frust-scrabble" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/neal-o-r/rust-scrabble [INFO] finished tweaking git repo https://github.com/neal-o-r/rust-scrabble [INFO] tweaked toml for git repo https://github.com/neal-o-r/rust-scrabble written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/neal-o-r/rust-scrabble 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/neal-o-r/rust-scrabble 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] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 74832b01d6e038e9f5d9a0e8e19dea966f2b6afec1f7eb0840463b985ecc1f98 [INFO] running `Command { std: "docker" "start" "-a" "74832b01d6e038e9f5d9a0e8e19dea966f2b6afec1f7eb0840463b985ecc1f98", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "74832b01d6e038e9f5d9a0e8e19dea966f2b6afec1f7eb0840463b985ecc1f98", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "74832b01d6e038e9f5d9a0e8e19dea966f2b6afec1f7eb0840463b985ecc1f98", kill_on_drop: false }` [INFO] [stdout] 74832b01d6e038e9f5d9a0e8e19dea966f2b6afec1f7eb0840463b985ecc1f98 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6f4c8cbdfa01d7b8eff048b527a8eae3bde3c1d2e4b165d04be9566018ed640b [INFO] running `Command { std: "docker" "start" "-a" "6f4c8cbdfa01d7b8eff048b527a8eae3bde3c1d2e4b165d04be9566018ed640b", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Checking encode_unicode v0.3.6 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking dirs v1.0.5 [INFO] [stderr] Checking colored v2.0.0 [INFO] [stderr] Checking term v0.5.2 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking bstr v0.2.17 [INFO] [stderr] Checking csv-core v0.1.10 [INFO] [stderr] Checking csv v1.1.6 [INFO] [stderr] Checking prettytable-rs v0.8.0 [INFO] [stderr] Checking scrabble v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/plays.rs:49:103 [INFO] [stdout] | [INFO] [stdout] 49 | plays.push(Play{start: start as usize, dir: *dir as usize, letters: pref.to_string(), rack: rack}); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `rack` [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: unused import: `std::cmp` [INFO] [stdout] --> src/racks.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/score.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/input.rs:118:22 [INFO] [stdout] | [INFO] [stdout] 118 | return Play {start: start, dir: dir, letters: word, rack: rack.to_string()}; [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `start` [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/input.rs:118:36 [INFO] [stdout] | [INFO] [stdout] 118 | return Play {start: start, dir: dir, letters: word, rack: rack.to_string()}; [INFO] [stdout] | ^^^^^^^^ help: replace it with: `dir` [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/plays.rs:49:103 [INFO] [stdout] | [INFO] [stdout] 49 | plays.push(Play{start: start as usize, dir: *dir as usize, letters: pref.to_string(), rack: rack}); [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `rack` [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: unused import: `std::cmp` [INFO] [stdout] --> src/racks.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::cmp; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/score.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/input.rs:118:22 [INFO] [stdout] | [INFO] [stdout] 118 | return Play {start: start, dir: dir, letters: word, rack: rack.to_string()}; [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `start` [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/input.rs:118:36 [INFO] [stdout] | [INFO] [stdout] 118 | return Play {start: start, dir: dir, letters: word, rack: rack.to_string()}; [INFO] [stdout] | ^^^^^^^^ help: replace it with: `dir` [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: variable does not need to be mutable [INFO] [stdout] --> src/plays.rs:58:16 [INFO] [stdout] | [INFO] [stdout] 58 | mut plays: &mut Vec) -> () { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/racks.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | rack: &str, mut results: &mut HashSet) { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/score.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | Err(e) => 0 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/score.rs:32:19 [INFO] [stdout] | [INFO] [stdout] 32 | fn letters_played(b: &Board, p: &Play) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `word` is assigned to, but never used [INFO] [stdout] --> src/score.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let mut word = 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_word` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `word` is never read [INFO] [stdout] --> src/score.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | word *= word_multiplier(&sq); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `across` and `down` are never read [INFO] [stdout] --> src/board.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Board { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 23 | pub board: Vec, [INFO] [stdout] 24 | across: isize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 25 | down: isize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Board` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | return 18 as isize; [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] 14 - return 18 as isize; [INFO] [stdout] 14 + 18 as isize [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | return 1 as isize; [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] 16 - return 1 as isize; [INFO] [stdout] 16 + 1 as isize [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `isize` is unnecessary [INFO] [stdout] --> src/board.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | if *dir == 1 as isize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `1_isize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `isize` is unnecessary [INFO] [stdout] --> src/board.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | return 18 as isize; [INFO] [stdout] | ^^^^^^^^^^^ help: try: `18_isize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `isize` is unnecessary [INFO] [stdout] --> src/board.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | return 1 as isize; [INFO] [stdout] | ^^^^^^^^^^ help: try: `1_isize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | return vals.contains(&'#'); [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] 53 - return vals.contains(&'#'); [INFO] [stdout] 53 + vals.contains(&'#') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | return star || (".:;*-=".contains(sq) && neighbours.iter().any(|x| x.is_alphabetic())) [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] 66 - return star || (".:;*-=".contains(sq) && neighbours.iter().any(|x| x.is_alphabetic())) [INFO] [stdout] 66 + star || (".:;*-=".contains(sq) && neighbours.iter().any(|x| x.is_alphabetic())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | return anchors [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] 73 - return anchors [INFO] [stdout] 73 + anchors [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`isize` -> `isize`) [INFO] [stdout] --> src/board.rs:72:62 [INFO] [stdout] | [INFO] [stdout] 72 | let anchors = (18 .. 270).filter(|x| self.is_anchor(&(*x as isize))).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `{ *x }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | return s; [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] 84 - return s; [INFO] [stdout] 84 + s [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | return s; [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] 95 - return s; [INFO] [stdout] 95 + s [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | return slice [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] 107 - return slice [INFO] [stdout] 107 + slice [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | return cword; [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] 122 - return cword; [INFO] [stdout] 122 + cword [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/board.rs:112:23 [INFO] [stdout] | [INFO] [stdout] 112 | let d = other(&dir); [INFO] [stdout] | ^^^^ help: change this to: `dir` [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/board.rs:113:44 [INFO] [stdout] | [INFO] [stdout] 113 | let start = self.scan_letters_from(&index, &(-d)); [INFO] [stdout] | ^^^^^^ help: change this to: `index` [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/board.rs:114:42 [INFO] [stdout] | [INFO] [stdout] 114 | let end = self.scan_letters_from(&index, &d) + d; [INFO] [stdout] | ^^^^^^ help: change this to: `index` [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 boolean expression can be simplified [INFO] [stdout] --> src/board.rs:177:24 [INFO] [stdout] | [INFO] [stdout] 177 | if !(c == '#') { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(c != '#')` [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: unneeded `return` statement [INFO] [stdout] --> src/plays.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | return plays; [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] 29 - return plays; [INFO] [stdout] 29 + plays [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/plays.rs:19:43 [INFO] [stdout] | [INFO] [stdout] 19 | let rack_prefs = racks::rack_prefixes(&rack, &prefixes); [INFO] [stdout] | ^^^^^ help: change this to: `rack` [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/plays.rs:19:50 [INFO] [stdout] | [INFO] [stdout] 19 | let rack_prefs = racks::rack_prefixes(&rack, &prefixes); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `prefixes` [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/plays.rs:24:63 [INFO] [stdout] | [INFO] [stdout] 24 | for play in prefix_plays(&rack_prefs, b, &anchor, &dir, rack) { [INFO] [stdout] | ^^^^ help: change this to: `dir` [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 let-binding has unit value [INFO] [stdout] --> src/plays.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | let _x = extend_play(b, &play, prefixes, dict, &mut plays); [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] 25 - let _x = extend_play(b, &play, prefixes, dict, &mut plays); [INFO] [stdout] 25 + extend_play(b, &play, prefixes, dict, &mut plays); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/plays.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | return vec![Play {start: start as usize, dir: *dir as usize, letters: letts, rack: rack.to_string()}]; [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] 38 - return vec![Play {start: start as usize, dir: *dir as usize, letters: letts, rack: rack.to_string()}]; [INFO] [stdout] 38 + vec![Play {start: start as usize, dir: *dir as usize, letters: letts, rack: rack.to_string()}] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/plays.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | return plays; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 52 - return plays; [INFO] [stdout] 52 + plays [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/plays.rs:35:41 [INFO] [stdout] | [INFO] [stdout] 35 | let start = b.scan_letters_from(&anchor, &-dir); [INFO] [stdout] | ^^^^^^^ help: change this to: `anchor` [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/plays.rs:36:41 [INFO] [stdout] | [INFO] [stdout] 36 | let letts = b.get_slice(&start, &anchor, &dir); [INFO] [stdout] | ^^^^^^^ help: change this to: `anchor` [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/plays.rs:36:50 [INFO] [stdout] | [INFO] [stdout] 36 | let letts = b.get_slice(&start, &anchor, &dir); [INFO] [stdout] | ^^^^ help: change this to: `dir` [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: casting to the same type is unnecessary (`isize` -> `isize`) [INFO] [stdout] --> src/plays.rs:41:22 [INFO] [stdout] | [INFO] [stdout] 41 | let maxlen = ((anchor - b.scan_to_anchor(anchor, &(-dir))) / dir) as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((anchor - b.scan_to_anchor(anchor, &(-dir))) / dir)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/plays.rs:58:42 [INFO] [stdout] | [INFO] [stdout] 58 | mut plays: &mut Vec) -> () { [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: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/plays.rs:60:31 [INFO] [stdout] | [INFO] [stdout] 60 | let s = p.start + p.dir * p.letters.len() as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.letters.len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/plays.rs:62:16 [INFO] [stdout] | [INFO] [stdout] 62 | return (); [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] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/plays.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | let _x = extend_play(b, &play2, prefs, dict, plays); [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 _x = extend_play(b, &play2, prefs, dict, plays); [INFO] [stdout] 77 + extend_play(b, &play2, prefs, dict, plays); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/words.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | return set [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] 18 - return set [INFO] [stdout] 18 + set [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/words.rs:11:24 [INFO] [stdout] | [INFO] [stdout] 11 | let f = File::open(&fpath) [INFO] [stdout] | ^^^^^^ help: change this to: `fpath` [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: unneeded `return` statement [INFO] [stdout] --> src/words.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | return cword.len() == 1 || is_word(&cword.replace(".", letter), dict); [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] 30 - return cword.len() == 1 || is_word(&cword.replace(".", letter), dict); [INFO] [stdout] 30 + cword.len() == 1 || is_word(&cword.replace(".", letter), dict) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/words.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | return *l; [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] 36 - return *l; [INFO] [stdout] 36 + *l [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/words.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | return '.';} [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] 38 - return '.';} [INFO] [stdout] 38 + '.'} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/racks.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | static BLANK: &str = &"_"; [INFO] [stdout] | ^^^^ help: change this to: `"_"` [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/racks.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | static ALPHABET: &str = &"ABCDEFGHIJKLMNOPQRSTUVWXYZ"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"ABCDEFGHIJKLMNOPQRSTUVWXYZ"` [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/racks.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | return new_rack [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] 41 - return new_rack [INFO] [stdout] 41 + new_rack [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/racks.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | return letts; [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] 57 - return letts; [INFO] [stdout] 57 + letts [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/racks.rs:66:26 [INFO] [stdout] | [INFO] [stdout] 66 | for l in letters(&rack).chars() { [INFO] [stdout] | ^^^^^ help: change this to: `rack` [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/racks.rs:69:40 [INFO] [stdout] | [INFO] [stdout] 69 | extend_prefixes(&new_pref, &prefixes, [INFO] [stdout] | ^^^^^^^^^ help: change this to: `prefixes` [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/racks.rs:70:53 [INFO] [stdout] | [INFO] [stdout] 70 | ... &remove(&l.to_string(), &rack), results); [INFO] [stdout] | ^^^^^ help: change this to: `rack` [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/racks.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | return res; [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] 82 - return res; [INFO] [stdout] 82 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/racks.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | extend_prefixes(&"", prefixes, &rack, &mut res); [INFO] [stdout] | ^^^ help: change this to: `""` [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/racks.rs:80:36 [INFO] [stdout] | [INFO] [stdout] 80 | extend_prefixes(&"", prefixes, &rack, &mut res); [INFO] [stdout] | ^^^^^ help: change this to: `rack` [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/score.rs:16:54 [INFO] [stdout] | [INFO] [stdout] 16 | let pts = POINTS.binary_search_by(|(k, _)| k.cmp(&tile)).map(|x| POINTS[x].1); [INFO] [stdout] | ^^^^^ help: change this to: `tile` [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: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/score.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | / match pts { [INFO] [stdout] 18 | | Ok(p) => p, [INFO] [stdout] 19 | | Err(e) => 0 [INFO] [stdout] 20 | | } [INFO] [stdout] | |_____^ help: ascribe the type i32 and replace your expression with: `pts.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: unneeded `return` statement [INFO] [stdout] --> src/score.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | return out; [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] 29 - return out; [INFO] [stdout] 29 + out [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/score.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | return c [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] 39 - return c [INFO] [stdout] 39 + c [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/score.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | if p.rack.len() == 0 && letters_played(b, p) == 7 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `p.rack.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: unneeded `return` statement [INFO] [stdout] --> src/score.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | return total [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] 80 - return total [INFO] [stdout] 80 + total [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/score.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | return out [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] 102 - return out [INFO] [stdout] 102 + out [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/score.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | return w + bo + c [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] 111 - return w + bo + c [INFO] [stdout] 111 + w + bo + c [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/input.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | return row * 18 + col + 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] 27 - return row * 18 + col + 1 [INFO] [stdout] 27 + row * 18 + col + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/input.rs:56:46 [INFO] [stdout] | [INFO] [stdout] 56 | if !".:;*-=".contains(b.board[i]) && !(l.to_ascii_uppercase() == b.board[i]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(l.to_ascii_uppercase() != b.board[i])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/input.rs:73:46 [INFO] [stdout] | [INFO] [stdout] 73 | if !".:;*-=".contains(b.board[i]) && !(l.to_ascii_uppercase() == b.board[i]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(l.to_ascii_uppercase() != b.board[i])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/input.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | 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] 85 - return true [INFO] [stdout] 85 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/input.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | return Play {start: start, dir: dir, letters: word, rack: rack.to_string()}; [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] 118 - return Play {start: start, dir: dir, letters: word, rack: rack.to_string()}; [INFO] [stdout] 118 + Play {start: start, dir: dir, letters: word, rack: rack.to_string()} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/input.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | return input_play(rack, b, dict); [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] 121 - return input_play(rack, b, dict); [INFO] [stdout] 121 + input_play(rack, b, dict) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | return best.unwrap().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] 17 - return best.unwrap().clone() [INFO] [stdout] 17 + best.unwrap().clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/plays.rs:58:16 [INFO] [stdout] | [INFO] [stdout] 58 | mut plays: &mut Vec) -> () { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/racks.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | rack: &str, mut results: &mut HashSet) { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/score.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | Err(e) => 0 [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/score.rs:32:19 [INFO] [stdout] | [INFO] [stdout] 32 | fn letters_played(b: &Board, p: &Play) -> i32 { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `word` is assigned to, but never used [INFO] [stdout] --> src/score.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let mut word = 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_word` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `word` is never read [INFO] [stdout] --> src/score.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | word *= word_multiplier(&sq); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `across` and `down` are never read [INFO] [stdout] --> src/board.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct Board { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 23 | pub board: Vec, [INFO] [stdout] 24 | across: isize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 25 | down: isize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Board` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | return 18 as isize; [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] 14 - return 18 as isize; [INFO] [stdout] 14 + 18 as isize [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | return 1 as isize; [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] 16 - return 1 as isize; [INFO] [stdout] 16 + 1 as isize [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `isize` is unnecessary [INFO] [stdout] --> src/board.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | if *dir == 1 as isize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `1_isize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `isize` is unnecessary [INFO] [stdout] --> src/board.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | return 18 as isize; [INFO] [stdout] | ^^^^^^^^^^^ help: try: `18_isize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `isize` is unnecessary [INFO] [stdout] --> src/board.rs:16:16 [INFO] [stdout] | [INFO] [stdout] 16 | return 1 as isize; [INFO] [stdout] | ^^^^^^^^^^ help: try: `1_isize` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | return vals.contains(&'#'); [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] 53 - return vals.contains(&'#'); [INFO] [stdout] 53 + vals.contains(&'#') [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | return star || (".:;*-=".contains(sq) && neighbours.iter().any(|x| x.is_alphabetic())) [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] 66 - return star || (".:;*-=".contains(sq) && neighbours.iter().any(|x| x.is_alphabetic())) [INFO] [stdout] 66 + star || (".:;*-=".contains(sq) && neighbours.iter().any(|x| x.is_alphabetic())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | return anchors [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] 73 - return anchors [INFO] [stdout] 73 + anchors [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`isize` -> `isize`) [INFO] [stdout] --> src/board.rs:72:62 [INFO] [stdout] | [INFO] [stdout] 72 | let anchors = (18 .. 270).filter(|x| self.is_anchor(&(*x as isize))).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `{ *x }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | return s; [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] 84 - return s; [INFO] [stdout] 84 + s [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | return s; [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] 95 - return s; [INFO] [stdout] 95 + s [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | return slice [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] 107 - return slice [INFO] [stdout] 107 + slice [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | return cword; [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] 122 - return cword; [INFO] [stdout] 122 + cword [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/board.rs:112:23 [INFO] [stdout] | [INFO] [stdout] 112 | let d = other(&dir); [INFO] [stdout] | ^^^^ help: change this to: `dir` [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/board.rs:113:44 [INFO] [stdout] | [INFO] [stdout] 113 | let start = self.scan_letters_from(&index, &(-d)); [INFO] [stdout] | ^^^^^^ help: change this to: `index` [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/board.rs:114:42 [INFO] [stdout] | [INFO] [stdout] 114 | let end = self.scan_letters_from(&index, &d) + d; [INFO] [stdout] | ^^^^^^ help: change this to: `index` [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 boolean expression can be simplified [INFO] [stdout] --> src/board.rs:177:24 [INFO] [stdout] | [INFO] [stdout] 177 | if !(c == '#') { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(c != '#')` [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: unneeded `return` statement [INFO] [stdout] --> src/plays.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | return plays; [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] 29 - return plays; [INFO] [stdout] 29 + plays [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/plays.rs:19:43 [INFO] [stdout] | [INFO] [stdout] 19 | let rack_prefs = racks::rack_prefixes(&rack, &prefixes); [INFO] [stdout] | ^^^^^ help: change this to: `rack` [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/plays.rs:19:50 [INFO] [stdout] | [INFO] [stdout] 19 | let rack_prefs = racks::rack_prefixes(&rack, &prefixes); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `prefixes` [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/plays.rs:24:63 [INFO] [stdout] | [INFO] [stdout] 24 | for play in prefix_plays(&rack_prefs, b, &anchor, &dir, rack) { [INFO] [stdout] | ^^^^ help: change this to: `dir` [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 let-binding has unit value [INFO] [stdout] --> src/plays.rs:25:17 [INFO] [stdout] | [INFO] [stdout] 25 | let _x = extend_play(b, &play, prefixes, dict, &mut plays); [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] 25 - let _x = extend_play(b, &play, prefixes, dict, &mut plays); [INFO] [stdout] 25 + extend_play(b, &play, prefixes, dict, &mut plays); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/plays.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | return vec![Play {start: start as usize, dir: *dir as usize, letters: letts, rack: rack.to_string()}]; [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] 38 - return vec![Play {start: start as usize, dir: *dir as usize, letters: letts, rack: rack.to_string()}]; [INFO] [stdout] 38 + vec![Play {start: start as usize, dir: *dir as usize, letters: letts, rack: rack.to_string()}] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/plays.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | return plays; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 52 - return plays; [INFO] [stdout] 52 + plays [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/plays.rs:35:41 [INFO] [stdout] | [INFO] [stdout] 35 | let start = b.scan_letters_from(&anchor, &-dir); [INFO] [stdout] | ^^^^^^^ help: change this to: `anchor` [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/plays.rs:36:41 [INFO] [stdout] | [INFO] [stdout] 36 | let letts = b.get_slice(&start, &anchor, &dir); [INFO] [stdout] | ^^^^^^^ help: change this to: `anchor` [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/plays.rs:36:50 [INFO] [stdout] | [INFO] [stdout] 36 | let letts = b.get_slice(&start, &anchor, &dir); [INFO] [stdout] | ^^^^ help: change this to: `dir` [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: casting to the same type is unnecessary (`isize` -> `isize`) [INFO] [stdout] --> src/plays.rs:41:22 [INFO] [stdout] | [INFO] [stdout] 41 | let maxlen = ((anchor - b.scan_to_anchor(anchor, &(-dir))) / dir) as isize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((anchor - b.scan_to_anchor(anchor, &(-dir))) / dir)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/plays.rs:58:42 [INFO] [stdout] | [INFO] [stdout] 58 | mut plays: &mut Vec) -> () { [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: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/plays.rs:60:31 [INFO] [stdout] | [INFO] [stdout] 60 | let s = p.start + p.dir * p.letters.len() as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.letters.len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `()` [INFO] [stdout] --> src/plays.rs:62:16 [INFO] [stdout] | [INFO] [stdout] 62 | return (); [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] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/plays.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | let _x = extend_play(b, &play2, prefs, dict, plays); [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 _x = extend_play(b, &play2, prefs, dict, plays); [INFO] [stdout] 77 + extend_play(b, &play2, prefs, dict, plays); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/words.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | return set [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] 18 - return set [INFO] [stdout] 18 + set [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/words.rs:11:24 [INFO] [stdout] | [INFO] [stdout] 11 | let f = File::open(&fpath) [INFO] [stdout] | ^^^^^^ help: change this to: `fpath` [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: unneeded `return` statement [INFO] [stdout] --> src/words.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | return cword.len() == 1 || is_word(&cword.replace(".", letter), dict); [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] 30 - return cword.len() == 1 || is_word(&cword.replace(".", letter), dict); [INFO] [stdout] 30 + cword.len() == 1 || is_word(&cword.replace(".", letter), dict) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/words.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | return *l; [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] 36 - return *l; [INFO] [stdout] 36 + *l [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/words.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | return '.';} [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] 38 - return '.';} [INFO] [stdout] 38 + '.'} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/racks.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | static BLANK: &str = &"_"; [INFO] [stdout] | ^^^^ help: change this to: `"_"` [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/racks.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | static ALPHABET: &str = &"ABCDEFGHIJKLMNOPQRSTUVWXYZ"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"ABCDEFGHIJKLMNOPQRSTUVWXYZ"` [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/racks.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | return new_rack [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] 41 - return new_rack [INFO] [stdout] 41 + new_rack [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/racks.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | return letts; [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] 57 - return letts; [INFO] [stdout] 57 + letts [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/racks.rs:66:26 [INFO] [stdout] | [INFO] [stdout] 66 | for l in letters(&rack).chars() { [INFO] [stdout] | ^^^^^ help: change this to: `rack` [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/racks.rs:69:40 [INFO] [stdout] | [INFO] [stdout] 69 | extend_prefixes(&new_pref, &prefixes, [INFO] [stdout] | ^^^^^^^^^ help: change this to: `prefixes` [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/racks.rs:70:53 [INFO] [stdout] | [INFO] [stdout] 70 | ... &remove(&l.to_string(), &rack), results); [INFO] [stdout] | ^^^^^ help: change this to: `rack` [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/racks.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | return res; [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] 82 - return res; [INFO] [stdout] 82 + res [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/racks.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | extend_prefixes(&"", prefixes, &rack, &mut res); [INFO] [stdout] | ^^^ help: change this to: `""` [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/racks.rs:80:36 [INFO] [stdout] | [INFO] [stdout] 80 | extend_prefixes(&"", prefixes, &rack, &mut res); [INFO] [stdout] | ^^^^^ help: change this to: `rack` [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/score.rs:16:54 [INFO] [stdout] | [INFO] [stdout] 16 | let pts = POINTS.binary_search_by(|(k, _)| k.cmp(&tile)).map(|x| POINTS[x].1); [INFO] [stdout] | ^^^^^ help: change this to: `tile` [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: match can be simplified with `.unwrap_or_default()` [INFO] [stdout] --> src/score.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | / match pts { [INFO] [stdout] 18 | | Ok(p) => p, [INFO] [stdout] 19 | | Err(e) => 0 [INFO] [stdout] 20 | | } [INFO] [stdout] | |_____^ help: ascribe the type i32 and replace your expression with: `pts.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: unneeded `return` statement [INFO] [stdout] --> src/score.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | return out; [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] 29 - return out; [INFO] [stdout] 29 + out [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/score.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | return c [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] 39 - return c [INFO] [stdout] 39 + c [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/score.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | if p.rack.len() == 0 && letters_played(b, p) == 7 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `p.rack.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: unneeded `return` statement [INFO] [stdout] --> src/score.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | return total [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] 80 - return total [INFO] [stdout] 80 + total [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/score.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | return out [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] 102 - return out [INFO] [stdout] 102 + out [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/score.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | return w + bo + c [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] 111 - return w + bo + c [INFO] [stdout] 111 + w + bo + c [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/input.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | return row * 18 + col + 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] 27 - return row * 18 + col + 1 [INFO] [stdout] 27 + row * 18 + col + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/input.rs:56:46 [INFO] [stdout] | [INFO] [stdout] 56 | if !".:;*-=".contains(b.board[i]) && !(l.to_ascii_uppercase() == b.board[i]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(l.to_ascii_uppercase() != b.board[i])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/input.rs:73:46 [INFO] [stdout] | [INFO] [stdout] 73 | if !".:;*-=".contains(b.board[i]) && !(l.to_ascii_uppercase() == b.board[i]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(l.to_ascii_uppercase() != b.board[i])` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/input.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | 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] 85 - return true [INFO] [stdout] 85 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/input.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | return Play {start: start, dir: dir, letters: word, rack: rack.to_string()}; [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] 118 - return Play {start: start, dir: dir, letters: word, rack: rack.to_string()}; [INFO] [stdout] 118 + Play {start: start, dir: dir, letters: word, rack: rack.to_string()} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/input.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | return input_play(rack, b, dict); [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] 121 - return input_play(rack, b, dict); [INFO] [stdout] 121 + input_play(rack, b, dict) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | return best.unwrap().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] 17 - return best.unwrap().clone() [INFO] [stdout] 17 + best.unwrap().clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.09s [INFO] running `Command { std: "docker" "inspect" "6f4c8cbdfa01d7b8eff048b527a8eae3bde3c1d2e4b165d04be9566018ed640b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6f4c8cbdfa01d7b8eff048b527a8eae3bde3c1d2e4b165d04be9566018ed640b", kill_on_drop: false }` [INFO] [stdout] 6f4c8cbdfa01d7b8eff048b527a8eae3bde3c1d2e4b165d04be9566018ed640b