[INFO] cloning repository https://github.com/fergusch/tttr [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fergusch/tttr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffergusch%2Ftttr", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffergusch%2Ftttr'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5ce76ec92cd22cdb5c94f17f1e0cbed564dd1c45 [INFO] linting fergusch/tttr against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffergusch%2Ftttr" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/fergusch/tttr [INFO] finished tweaking git repo https://github.com/fergusch/tttr [INFO] tweaked toml for git repo https://github.com/fergusch/tttr written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/fergusch/tttr 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/fergusch/tttr 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] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ctrlc v3.1.1 [INFO] [stderr] Downloaded seq v0.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] b3e3ca61c3d85b01687fb349fa61630593feb38c1ef1377382c344e769fbb88b [INFO] running `Command { std: "docker" "start" "-a" "b3e3ca61c3d85b01687fb349fa61630593feb38c1ef1377382c344e769fbb88b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b3e3ca61c3d85b01687fb349fa61630593feb38c1ef1377382c344e769fbb88b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b3e3ca61c3d85b01687fb349fa61630593feb38c1ef1377382c344e769fbb88b", kill_on_drop: false }` [INFO] [stdout] b3e3ca61c3d85b01687fb349fa61630593feb38c1ef1377382c344e769fbb88b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 2dac50970e4023e1bc9d06db37320ddac72b49bf316eb0ec16128521ff25845e [INFO] running `Command { std: "docker" "start" "-a" "2dac50970e4023e1bc9d06db37320ddac72b49bf316eb0ec16128521ff25845e", kill_on_drop: false }` [INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] Checking libc v0.2.43 [INFO] [stderr] Compiling nix v0.11.0 [INFO] [stderr] Checking unicode-width v0.1.5 [INFO] [stderr] Checking strsim v0.7.0 [INFO] [stderr] Checking yaml-rust v0.3.5 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking seq v0.5.0 [INFO] [stderr] Checking textwrap v0.10.0 [INFO] [stderr] Checking rand v0.4.3 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking termion v1.5.1 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking rand v0.3.22 [INFO] [stderr] Checking ctrlc v3.1.1 [INFO] [stderr] Checking tttr v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:25:3 [INFO] [stdout] | [INFO] [stdout] 25 | return Human {}; [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] 25 - return Human {}; [INFO] [stdout] 25 + Human {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/player.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | if !input.trim().parse::().is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `input.trim().parse::().is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `!RangeInclusive::contains` implementation [INFO] [stdout] --> src/player.rs:68:7 [INFO] [stdout] | [INFO] [stdout] 68 | if input < 1 || input > 9 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `!(1..=9).contains(&input)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:105:3 [INFO] [stdout] | [INFO] [stdout] 105 | return RandomAI {}; [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] 105 - return RandomAI {}; [INFO] [stdout] 105 + RandomAI {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:114:3 [INFO] [stdout] | [INFO] [stdout] 114 | return *rand::thread_rng().choose(&b.open_spaces()).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] 114 - return *rand::thread_rng().choose(&b.open_spaces()).unwrap(); [INFO] [stdout] 114 + *rand::thread_rng().choose(&b.open_spaces()).unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:129:3 [INFO] [stdout] | [INFO] [stdout] 129 | return MinimaxAI {depth}; [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] 129 - return MinimaxAI {depth}; [INFO] [stdout] 129 + MinimaxAI {depth} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | return (move_, 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] 153 - return (move_, value); [INFO] [stdout] 153 + (move_, value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:166:4 [INFO] [stdout] | [INFO] [stdout] 166 | return (move_, 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] 166 - return (move_, value); [INFO] [stdout] 166 + (move_, value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/player.rs:142:27 [INFO] [stdout] | [INFO] [stdout] 142 | let mut value: isize = std::isize::MIN; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 142 - let mut value: isize = std::isize::MIN; [INFO] [stdout] 142 + let mut value: isize = isize::MIN; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/player.rs:157:27 [INFO] [stdout] | [INFO] [stdout] 157 | let mut value: isize = std::isize::MAX; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 157 - let mut value: isize = std::isize::MAX; [INFO] [stdout] 157 + let mut value: isize = isize::MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:176:3 [INFO] [stdout] | [INFO] [stdout] 176 | return self.minimax((0, b.clone()), self.depth, true).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] 176 - return self.minimax((0, b.clone()), self.depth, true).0; [INFO] [stdout] 176 + self.minimax((0, b.clone()), self.depth, true).0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:13:3 [INFO] [stdout] | [INFO] [stdout] 13 | return Board {board: self.board.clone(), active_player: self.active_player}; [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] 13 - return Board {board: self.board.clone(), active_player: self.active_player}; [INFO] [stdout] 13 + Board {board: self.board.clone(), active_player: self.active_player} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[[u8; 3]; 3]` which implements the `Copy` trait [INFO] [stdout] --> src/board.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | return Board {board: self.board.clone(), active_player: self.active_player}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.board` [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: unneeded `return` statement [INFO] [stdout] --> src/board.rs:21:3 [INFO] [stdout] | [INFO] [stdout] 21 | return Board {board: [[0,0,0], [0,0,0], [0,0,0]], active_player: 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] 21 - return Board {board: [[0,0,0], [0,0,0], [0,0,0]], active_player: 0} [INFO] [stdout] 21 + Board {board: [[0,0,0], [0,0,0], [0,0,0]], active_player: 0} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:26:3 [INFO] [stdout] | [INFO] [stdout] 26 | / return [i+(2*i)+1, [INFO] [stdout] 27 | | i+(2*(i+1)), [INFO] [stdout] 28 | | i+(2*(i+1)+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] 26 ~ [i+(2*i)+1, [INFO] [stdout] 27 ~ i+(2*(i+1)), [INFO] [stdout] 28 ~ i+(2*(i+1)+1)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:33:3 [INFO] [stdout] | [INFO] [stdout] 33 | return Board::get_row_nums(coords.0)[coords.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] 33 - return Board::get_row_nums(coords.0)[coords.1]; [INFO] [stdout] 33 + Board::get_row_nums(coords.0)[coords.1] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | return ((space/3)-1, 2); [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 ((space/3)-1, 2); [INFO] [stdout] 39 + ((space/3)-1, 2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | return (((space+1)/3)-1, 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] 41 - return (((space+1)/3)-1, 1); [INFO] [stdout] 41 + (((space+1)/3)-1, 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | return (((space+2)/3)-1, 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] 43 - return (((space+2)/3)-1, 0); [INFO] [stdout] 43 + (((space+2)/3)-1, 0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/board.rs:38:6 [INFO] [stdout] | [INFO] [stdout] 38 | if space % 3 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace with: `space.is_multiple_of(3)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/board.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | } else if (space+1) % 3 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `(space + 1).is_multiple_of(3)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/board.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | return (((space+2)/3)-1, 0); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `space.div_ceil(3)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:67:3 [INFO] [stdout] | [INFO] [stdout] 67 | return available; [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] 67 - return available; [INFO] [stdout] 67 + available [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:73:3 [INFO] [stdout] | [INFO] [stdout] 73 | return self.board[coords.0][coords.1] > 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] 73 - return self.board[coords.0][coords.1] > 0; [INFO] [stdout] 73 + self.board[coords.0][coords.1] > 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:83:3 [INFO] [stdout] | [INFO] [stdout] 83 | 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] 83 - return true; [INFO] [stdout] 83 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | return (0, [0, 0, 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] 122 - return (0, [0, 0, 0]); [INFO] [stdout] 122 + (0, [0, 0, 0]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | return (-1, [0, 0, 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] 125 - return (-1, [0, 0, 0]); [INFO] [stdout] 125 + (-1, [0, 0, 0]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:145:3 [INFO] [stdout] | [INFO] [stdout] 145 | return children; [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] 145 - return children; [INFO] [stdout] 145 + children [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | / return format!("{}{}{}", color::Fg(color::Rgb(70,70,70)), [INFO] [stdout] 168 | | space, [INFO] [stdout] 169 | | color::Fg(color::Reset)); [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] 167 ~ format!("{}{}{}", color::Fg(color::Rgb(70,70,70)), [INFO] [stdout] 168 ~ space, [INFO] [stdout] 169 ~ color::Fg(color::Reset)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | / return format!("{}{}{}{}{}", [INFO] [stdout] 174 | | style::Bold, color::Fg(color::Rgb(0,255,0)), [INFO] [stdout] 175 | | xo, color::Fg(color::Reset), style::Reset); [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] 173 ~ format!("{}{}{}{}{}", [INFO] [stdout] 174 ~ style::Bold, color::Fg(color::Rgb(0,255,0)), [INFO] [stdout] 175 ~ xo, color::Fg(color::Reset), style::Reset) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | return format!("{}{}{}", style::Bold, xo, style::Reset); [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] 177 - return format!("{}{}{}", style::Bold, xo, style::Reset); [INFO] [stdout] 177 + format!("{}{}{}", style::Bold, xo, style::Reset) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually return `Self` [INFO] [stdout] --> src/game.rs:15:2 [INFO] [stdout] | [INFO] [stdout] 15 | / pub fn new(player1: A, player2: B) where A: Player, B: Player { [INFO] [stdout] 16 | | [INFO] [stdout] 17 | | // Create a new board [INFO] [stdout] 18 | | let mut b: Board = Board::new(); [INFO] [stdout] ... | [INFO] [stdout] 83 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stdout] = note: `#[warn(clippy::new_ret_no_self)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:25:3 [INFO] [stdout] | [INFO] [stdout] 25 | return Human {}; [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] 25 - return Human {}; [INFO] [stdout] 25 + Human {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/player.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | if !input.trim().parse::().is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `input.trim().parse::().is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `!RangeInclusive::contains` implementation [INFO] [stdout] --> src/player.rs:68:7 [INFO] [stdout] | [INFO] [stdout] 68 | if input < 1 || input > 9 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `!(1..=9).contains(&input)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:105:3 [INFO] [stdout] | [INFO] [stdout] 105 | return RandomAI {}; [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] 105 - return RandomAI {}; [INFO] [stdout] 105 + RandomAI {} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:114:3 [INFO] [stdout] | [INFO] [stdout] 114 | return *rand::thread_rng().choose(&b.open_spaces()).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] 114 - return *rand::thread_rng().choose(&b.open_spaces()).unwrap(); [INFO] [stdout] 114 + *rand::thread_rng().choose(&b.open_spaces()).unwrap() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:129:3 [INFO] [stdout] | [INFO] [stdout] 129 | return MinimaxAI {depth}; [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] 129 - return MinimaxAI {depth}; [INFO] [stdout] 129 + MinimaxAI {depth} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:153:4 [INFO] [stdout] | [INFO] [stdout] 153 | return (move_, 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] 153 - return (move_, value); [INFO] [stdout] 153 + (move_, value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:166:4 [INFO] [stdout] | [INFO] [stdout] 166 | return (move_, 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] 166 - return (move_, value); [INFO] [stdout] 166 + (move_, value) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/player.rs:142:27 [INFO] [stdout] | [INFO] [stdout] 142 | let mut value: isize = std::isize::MIN; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 142 - let mut value: isize = std::isize::MIN; [INFO] [stdout] 142 + let mut value: isize = isize::MIN; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/player.rs:157:27 [INFO] [stdout] | [INFO] [stdout] 157 | let mut value: isize = std::isize::MAX; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 157 - let mut value: isize = std::isize::MAX; [INFO] [stdout] 157 + let mut value: isize = isize::MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/player.rs:176:3 [INFO] [stdout] | [INFO] [stdout] 176 | return self.minimax((0, b.clone()), self.depth, true).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] 176 - return self.minimax((0, b.clone()), self.depth, true).0; [INFO] [stdout] 176 + self.minimax((0, b.clone()), self.depth, true).0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:13:3 [INFO] [stdout] | [INFO] [stdout] 13 | return Board {board: self.board.clone(), active_player: self.active_player}; [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] 13 - return Board {board: self.board.clone(), active_player: self.active_player}; [INFO] [stdout] 13 + Board {board: self.board.clone(), active_player: self.active_player} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[[u8; 3]; 3]` which implements the `Copy` trait [INFO] [stdout] --> src/board.rs:13:24 [INFO] [stdout] | [INFO] [stdout] 13 | return Board {board: self.board.clone(), active_player: self.active_player}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.board` [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: unneeded `return` statement [INFO] [stdout] --> src/board.rs:21:3 [INFO] [stdout] | [INFO] [stdout] 21 | return Board {board: [[0,0,0], [0,0,0], [0,0,0]], active_player: 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] 21 - return Board {board: [[0,0,0], [0,0,0], [0,0,0]], active_player: 0} [INFO] [stdout] 21 + Board {board: [[0,0,0], [0,0,0], [0,0,0]], active_player: 0} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:26:3 [INFO] [stdout] | [INFO] [stdout] 26 | / return [i+(2*i)+1, [INFO] [stdout] 27 | | i+(2*(i+1)), [INFO] [stdout] 28 | | i+(2*(i+1)+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] 26 ~ [i+(2*i)+1, [INFO] [stdout] 27 ~ i+(2*(i+1)), [INFO] [stdout] 28 ~ i+(2*(i+1)+1)] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:33:3 [INFO] [stdout] | [INFO] [stdout] 33 | return Board::get_row_nums(coords.0)[coords.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] 33 - return Board::get_row_nums(coords.0)[coords.1]; [INFO] [stdout] 33 + Board::get_row_nums(coords.0)[coords.1] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | return ((space/3)-1, 2); [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 ((space/3)-1, 2); [INFO] [stdout] 39 + ((space/3)-1, 2) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:41:4 [INFO] [stdout] | [INFO] [stdout] 41 | return (((space+1)/3)-1, 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] 41 - return (((space+1)/3)-1, 1); [INFO] [stdout] 41 + (((space+1)/3)-1, 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:43:4 [INFO] [stdout] | [INFO] [stdout] 43 | return (((space+2)/3)-1, 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] 43 - return (((space+2)/3)-1, 0); [INFO] [stdout] 43 + (((space+2)/3)-1, 0) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/board.rs:38:6 [INFO] [stdout] | [INFO] [stdout] 38 | if space % 3 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace with: `space.is_multiple_of(3)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/board.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | } else if (space+1) % 3 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `(space + 1).is_multiple_of(3)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/board.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | return (((space+2)/3)-1, 0); [INFO] [stdout] | ^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `space.div_ceil(3)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:67:3 [INFO] [stdout] | [INFO] [stdout] 67 | return available; [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] 67 - return available; [INFO] [stdout] 67 + available [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:73:3 [INFO] [stdout] | [INFO] [stdout] 73 | return self.board[coords.0][coords.1] > 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] 73 - return self.board[coords.0][coords.1] > 0; [INFO] [stdout] 73 + self.board[coords.0][coords.1] > 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:83:3 [INFO] [stdout] | [INFO] [stdout] 83 | 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] 83 - return true; [INFO] [stdout] 83 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:122:4 [INFO] [stdout] | [INFO] [stdout] 122 | return (0, [0, 0, 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] 122 - return (0, [0, 0, 0]); [INFO] [stdout] 122 + (0, [0, 0, 0]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | return (-1, [0, 0, 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] 125 - return (-1, [0, 0, 0]); [INFO] [stdout] 125 + (-1, [0, 0, 0]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:145:3 [INFO] [stdout] | [INFO] [stdout] 145 | return children; [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] 145 - return children; [INFO] [stdout] 145 + children [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:167:4 [INFO] [stdout] | [INFO] [stdout] 167 | / return format!("{}{}{}", color::Fg(color::Rgb(70,70,70)), [INFO] [stdout] 168 | | space, [INFO] [stdout] 169 | | color::Fg(color::Reset)); [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] 167 ~ format!("{}{}{}", color::Fg(color::Rgb(70,70,70)), [INFO] [stdout] 168 ~ space, [INFO] [stdout] 169 ~ color::Fg(color::Reset)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | / return format!("{}{}{}{}{}", [INFO] [stdout] 174 | | style::Bold, color::Fg(color::Rgb(0,255,0)), [INFO] [stdout] 175 | | xo, color::Fg(color::Reset), style::Reset); [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] 173 ~ format!("{}{}{}{}{}", [INFO] [stdout] 174 ~ style::Bold, color::Fg(color::Rgb(0,255,0)), [INFO] [stdout] 175 ~ xo, color::Fg(color::Reset), style::Reset) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | return format!("{}{}{}", style::Bold, xo, style::Reset); [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] 177 - return format!("{}{}{}", style::Bold, xo, style::Reset); [INFO] [stdout] 177 + format!("{}{}{}", style::Bold, xo, style::Reset) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods called `new` usually return `Self` [INFO] [stdout] --> src/game.rs:15:2 [INFO] [stdout] | [INFO] [stdout] 15 | / pub fn new(player1: A, player2: B) where A: Player, B: Player { [INFO] [stdout] 16 | | [INFO] [stdout] 17 | | // Create a new board [INFO] [stdout] 18 | | let mut b: Board = Board::new(); [INFO] [stdout] ... | [INFO] [stdout] 83 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stdout] = note: `#[warn(clippy::new_ret_no_self)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.80s [INFO] running `Command { std: "docker" "inspect" "2dac50970e4023e1bc9d06db37320ddac72b49bf316eb0ec16128521ff25845e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2dac50970e4023e1bc9d06db37320ddac72b49bf316eb0ec16128521ff25845e", kill_on_drop: false }` [INFO] [stdout] 2dac50970e4023e1bc9d06db37320ddac72b49bf316eb0ec16128521ff25845e