[INFO] updating cached repository zeerorg/A-I-Rust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/zeerorg/A-I-Rust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/zeerorg/A-I-Rust" "work/ex/clippy-test-run/sources/stable/gh/zeerorg/A-I-Rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/zeerorg/A-I-Rust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/zeerorg/A-I-Rust" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/zeerorg/A-I-Rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/zeerorg/A-I-Rust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 712666ec65c352fffb65ed245fd47a3dea07b90a [INFO] sha for GitHub repo zeerorg/A-I-Rust: 712666ec65c352fffb65ed245fd47a3dea07b90a [INFO] validating manifest of zeerorg/A-I-Rust on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of zeerorg/A-I-Rust on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing zeerorg/A-I-Rust [INFO] finished frobbing zeerorg/A-I-Rust [INFO] frobbed toml for zeerorg/A-I-Rust written to work/ex/clippy-test-run/sources/stable/gh/zeerorg/A-I-Rust/Cargo.toml [INFO] started frobbing zeerorg/A-I-Rust [INFO] finished frobbing zeerorg/A-I-Rust [INFO] frobbed toml for zeerorg/A-I-Rust written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/zeerorg/A-I-Rust/Cargo.toml [INFO] crate zeerorg/A-I-Rust has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting zeerorg/A-I-Rust against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/zeerorg/A-I-Rust:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] f4961eb6699bc0d396b5cc64c285176edf87521be69862ff653b9e10786c7177 [INFO] running `"docker" "start" "-a" "f4961eb6699bc0d396b5cc64c285176edf87521be69862ff653b9e10786c7177"` [INFO] [stderr] Checking artificial_intelligence v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/problems/water_jug.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | max_a: max_a, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `max_a` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/problems/water_jug.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | max_b: max_b, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `max_b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/problems/water_jug.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | jug_a: jug_a, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `jug_a` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/problems/water_jug.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | jug_b: jug_b [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `jug_b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/problems/eight_puzz.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | puzzle: puzzle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `puzzle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/helper/node.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | depth: depth [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `depth` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/problems/water_jug.rs:15:13 [INFO] [stderr] | [INFO] [stderr] 15 | max_a: max_a, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `max_a` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/problems/water_jug.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | max_b: max_b, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `max_b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/problems/water_jug.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | jug_a: jug_a, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `jug_a` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/problems/water_jug.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | jug_b: jug_b [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `jug_b` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/problems/eight_puzz.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | puzzle: puzzle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `puzzle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/helper/node.rs:12:13 [INFO] [stderr] | [INFO] [stderr] 12 | depth: depth [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `depth` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/dfs.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | return flag; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `flag` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/bfs.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | return flag; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `flag` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/dfid.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | return (false, visited.len() as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(false, visited.len() as i32)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/tic_tac_toe_algo.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | return Moves::X as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Moves::X as i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/tic_tac_toe.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | return self as i32 * rhs as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self as i32 * rhs as i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/tic_tac_toe.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/tic_tac_toe.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | return x+1; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `x+1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/dfs.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | return flag; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `flag` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/dfs.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | return state.jug_b == 2 || state.jug_a == 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `state.jug_b == 2 || state.jug_a == 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/dfs.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | return *x > 2; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `*x > 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/dfs.rs:71:13 [INFO] [stderr] | [INFO] [stderr] 71 | / return (*to_check) == Puzzle::new([ [INFO] [stderr] 72 | | [5, 2, 3], [INFO] [stderr] 73 | | [8, 1, 6], [INFO] [stderr] 74 | | [7, 0, 4] [INFO] [stderr] 75 | | ]) [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 71 | (*to_check) == Puzzle::new([ [INFO] [stderr] 72 | [5, 2, 3], [INFO] [stderr] 73 | [8, 1, 6], [INFO] [stderr] 74 | [7, 0, 4] [INFO] [stderr] 75 | ]) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/bfs.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | return flag; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `flag` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/bfs.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | return state.jug_b == 2 || state.jug_a == 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `state.jug_b == 2 || state.jug_a == 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/bfs.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | / return (*to_check) == Puzzle::new([ [INFO] [stderr] 59 | | [5, 2, 3], [INFO] [stderr] 60 | | [8, 1, 6], [INFO] [stderr] 61 | | [7, 0, 4] [INFO] [stderr] 62 | | ]) [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 58 | (*to_check) == Puzzle::new([ [INFO] [stderr] 59 | [5, 2, 3], [INFO] [stderr] 60 | [8, 1, 6], [INFO] [stderr] 61 | [7, 0, 4] [INFO] [stderr] 62 | ]) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/dfid.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | return (false, visited.len() as i32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(false, visited.len() as i32)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/dfid.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | return state.jug_b == 2 || state.jug_a == 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `state.jug_b == 2 || state.jug_a == 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/dfid.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | return *x > 2; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `*x > 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/dfid.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | / return (*to_check) == Puzzle::new([ [INFO] [stderr] 91 | | [5, 2, 3], [INFO] [stderr] 92 | | [8, 1, 6], [INFO] [stderr] 93 | | [7, 0, 4] [INFO] [stderr] 94 | | ]) [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 90 | (*to_check) == Puzzle::new([ [INFO] [stderr] 91 | [5, 2, 3], [INFO] [stderr] 92 | [8, 1, 6], [INFO] [stderr] 93 | [7, 0, 4] [INFO] [stderr] 94 | ]) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/algo/tic_tac_toe_algo.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | return Moves::X as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Moves::X as i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/tic_tac_toe.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | return self as i32 * rhs as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self as i32 * rhs as i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/tic_tac_toe.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/tic_tac_toe.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | return x+1; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `x+1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: function is never used: `dfs` [INFO] [stderr] --> src/algo/dfs.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn dfs (start: &T, goal_function: &Fn(&T) -> bool, _functions: Vec<&Fn(&T) -> T>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `bfs` [INFO] [stderr] --> src/algo/bfs.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn bfs (start: &T, goal_function: &Fn(&T) -> bool, _functions: Vec<&Fn(&T) -> T>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `dfid` [INFO] [stderr] --> src/algo/dfid.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn dfid (start: &T, goal_function: &Fn(&T) -> bool, _functions: &Vec<&Fn(&T) -> T>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `dfs_depth` [INFO] [stderr] --> src/algo/dfid.rs:24:1 [INFO] [stderr] | [INFO] [stderr] 24 | fn dfs_depth (start: &T, goal_function: &Fn(&T) -> bool, _functions: &Vec<&Fn(&T) -> T>, max_depth: i32) -> (bool, i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `start_game` [INFO] [stderr] --> src/algo/tic_tac_toe_algo.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | fn start_game() -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/problems/water_jug.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn new(jug_a: i32, jug_b: i32, max_a: i32, max_b: i32) -> Jugs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fill_a` [INFO] [stderr] --> src/problems/water_jug.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn fill_a(jugs: &Jugs) -> Jugs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fill_b` [INFO] [stderr] --> src/problems/water_jug.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn fill_b(jugs: &Jugs) -> Jugs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `empty_a` [INFO] [stderr] --> src/problems/water_jug.rs:47:1 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn empty_a(jugs: &Jugs) -> Jugs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `empty_b` [INFO] [stderr] --> src/problems/water_jug.rs:56:1 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn empty_b(jugs: &Jugs) -> Jugs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `trn_a_to_b` [INFO] [stderr] --> src/problems/water_jug.rs:65:1 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn trn_a_to_b(jugs: &Jugs) -> Jugs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `trn_b_to_a` [INFO] [stderr] --> src/problems/water_jug.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn trn_b_to_a(jugs: &Jugs) -> Jugs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/problems/eight_puzz.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | pub fn new(puzzle: [[i32; 3] ; 3]) -> Puzzle { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `from_up` [INFO] [stderr] --> src/problems/eight_puzz.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn from_up(x: &Puzzle) -> Puzzle { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `from_down` [INFO] [stderr] --> src/problems/eight_puzz.rs:42:1 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn from_down(x: &Puzzle) -> Puzzle { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `from_left` [INFO] [stderr] --> src/problems/eight_puzz.rs:57:1 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn from_left(x: &Puzzle) -> Puzzle { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `from_right` [INFO] [stderr] --> src/problems/eight_puzz.rs:72:1 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn from_right(x: &Puzzle) -> Puzzle { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Blank` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | Blank = 2, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `X` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | X = 3, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `O` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | O = 5 [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn new() -> Board { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `make_2` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn make_2(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `poss_win` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn poss_win(&self, p: Moves) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `go` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn go(&mut self, pos: &i32, mv: Moves) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_blank` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | fn get_blank(&self, positions: &[i32]) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_product` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | fn get_product(&self, positions: &[i32]) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `NodeDepth` [INFO] [stderr] --> src/helper/node.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct NodeDepth { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/helper/node.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn new(data: T, depth: i32) -> NodeDepth { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/algo/dfs.rs:27:55 [INFO] [stderr] | [INFO] [stderr] 27 | let mut nodes: Vec = (&_functions).into_iter().map(|func| func(&val)).rev().collect(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/algo/bfs.rs:22:47 [INFO] [stderr] | [INFO] [stderr] 22 | let mut nodes: Vec = (&_functions).into_iter().map(|func| func(&to_visit)).collect(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/algo/dfid.rs:6:113 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn dfid (start: &T, goal_function: &Fn(&T) -> bool, _functions: &Vec<&Fn(&T) -> T>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[&Fn(&T) -> T]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/algo/dfid.rs:24:114 [INFO] [stderr] | [INFO] [stderr] 24 | fn dfs_depth (start: &T, goal_function: &Fn(&T) -> bool, _functions: &Vec<&Fn(&T) -> T>, max_depth: i32) -> (bool, i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[&Fn(&T) -> T]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/algo/dfid.rs:46:74 [INFO] [stderr] | [INFO] [stderr] 46 | let mut nodes: Vec> = (&_functions).into_iter().map(|func| func(&to_visit)).map(|node_val| NodeDepth::new(node_val, curr_depth+1)).rev().collect(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/problems/eight_puzz.rs:28:26 [INFO] [stderr] | [INFO] [stderr] 28 | let mut new_puzzle = x.puzzle.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `x.puzzle` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/problems/eight_puzz.rs:43:26 [INFO] [stderr] | [INFO] [stderr] 43 | let mut new_puzzle = x.puzzle.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `x.puzzle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/problems/eight_puzz.rs:58:26 [INFO] [stderr] | [INFO] [stderr] 58 | let mut new_puzzle = x.puzzle.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `x.puzzle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the loop variable `row` is used to index `new_puzzle` [INFO] [stderr] --> src/problems/eight_puzz.rs:59:16 [INFO] [stderr] | [INFO] [stderr] 59 | for row in 0..3 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 59 | for (row, ) in new_puzzle.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/problems/eight_puzz.rs:73:26 [INFO] [stderr] | [INFO] [stderr] 73 | let mut new_puzzle = x.puzzle.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `x.puzzle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the loop variable `row` is used to index `new_puzzle` [INFO] [stderr] --> src/problems/eight_puzz.rs:74:16 [INFO] [stderr] | [INFO] [stderr] 74 | for row in 0..3 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 74 | for (row, ) in new_puzzle.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/problems/tic_tac_toe.rs:87:31 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn go(&mut self, pos: &i32, mv: Moves) { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:27:17 [INFO] [stderr] | [INFO] [stderr] 27 | fn increment(x: &i32) -> i32 { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: function is never used: `start_game` [INFO] [stderr] --> src/algo/tic_tac_toe_algo.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | fn start_game() -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Blank` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | Blank = 2, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `X` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | X = 3, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `O` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | O = 5 [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn new() -> Board { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `make_2` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn make_2(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `poss_win` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn poss_win(&self, p: Moves) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `go` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn go(&mut self, pos: &i32, mv: Moves) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_blank` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | fn get_blank(&self, positions: &[i32]) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_product` [INFO] [stderr] --> src/problems/tic_tac_toe.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | fn get_product(&self, positions: &[i32]) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/algo/dfs.rs:27:55 [INFO] [stderr] | [INFO] [stderr] 27 | let mut nodes: Vec = (&_functions).into_iter().map(|func| func(&val)).rev().collect(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/algo/dfs.rs:57:25 [INFO] [stderr] | [INFO] [stderr] 57 | fn test_gt_2(x: &i32) -> bool { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/algo/bfs.rs:22:47 [INFO] [stderr] | [INFO] [stderr] 22 | let mut nodes: Vec = (&_functions).into_iter().map(|func| func(&to_visit)).collect(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/algo/dfid.rs:6:113 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn dfid (start: &T, goal_function: &Fn(&T) -> bool, _functions: &Vec<&Fn(&T) -> T>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[&Fn(&T) -> T]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/algo/dfid.rs:24:114 [INFO] [stderr] | [INFO] [stderr] 24 | fn dfs_depth (start: &T, goal_function: &Fn(&T) -> bool, _functions: &Vec<&Fn(&T) -> T>, max_depth: i32) -> (bool, i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[&Fn(&T) -> T]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/algo/dfid.rs:46:74 [INFO] [stderr] | [INFO] [stderr] 46 | let mut nodes: Vec> = (&_functions).into_iter().map(|func| func(&to_visit)).map(|node_val| NodeDepth::new(node_val, curr_depth+1)).rev().collect(); [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/algo/dfid.rs:76:25 [INFO] [stderr] | [INFO] [stderr] 76 | fn test_gt_2(x: &i32) -> bool { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/problems/eight_puzz.rs:28:26 [INFO] [stderr] | [INFO] [stderr] 28 | let mut new_puzzle = x.puzzle.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `x.puzzle` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/problems/eight_puzz.rs:43:26 [INFO] [stderr] | [INFO] [stderr] 43 | let mut new_puzzle = x.puzzle.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `x.puzzle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/problems/eight_puzz.rs:58:26 [INFO] [stderr] | [INFO] [stderr] 58 | let mut new_puzzle = x.puzzle.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `x.puzzle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the loop variable `row` is used to index `new_puzzle` [INFO] [stderr] --> src/problems/eight_puzz.rs:59:16 [INFO] [stderr] | [INFO] [stderr] 59 | for row in 0..3 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 59 | for (row, ) in new_puzzle.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/problems/eight_puzz.rs:73:26 [INFO] [stderr] | [INFO] [stderr] 73 | let mut new_puzzle = x.puzzle.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `x.puzzle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the loop variable `row` is used to index `new_puzzle` [INFO] [stderr] --> src/problems/eight_puzz.rs:74:16 [INFO] [stderr] | [INFO] [stderr] 74 | for row in 0..3 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 74 | for (row, ) in new_puzzle.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/problems/tic_tac_toe.rs:87:31 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn go(&mut self, pos: &i32, mv: Moves) { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/main.rs:27:17 [INFO] [stderr] | [INFO] [stderr] 27 | fn increment(x: &i32) -> i32 { [INFO] [stderr] | ^^^^ help: consider passing by value instead: `i32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.26s [INFO] running `"docker" "inspect" "f4961eb6699bc0d396b5cc64c285176edf87521be69862ff653b9e10786c7177"` [INFO] running `"docker" "rm" "-f" "f4961eb6699bc0d396b5cc64c285176edf87521be69862ff653b9e10786c7177"` [INFO] [stdout] f4961eb6699bc0d396b5cc64c285176edf87521be69862ff653b9e10786c7177