[INFO] updating cached repository w0dm4n/Npuzzle [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/w0dm4n/Npuzzle [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/w0dm4n/Npuzzle" "work/ex/clippy-test-run/sources/stable/gh/w0dm4n/Npuzzle"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/w0dm4n/Npuzzle'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/w0dm4n/Npuzzle" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/w0dm4n/Npuzzle"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/w0dm4n/Npuzzle'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 7daee122066751651adf9062c5083f3fd08d89dc [INFO] sha for GitHub repo w0dm4n/Npuzzle: 7daee122066751651adf9062c5083f3fd08d89dc [INFO] validating manifest of w0dm4n/Npuzzle 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 w0dm4n/Npuzzle 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 w0dm4n/Npuzzle [INFO] finished frobbing w0dm4n/Npuzzle [INFO] frobbed toml for w0dm4n/Npuzzle written to work/ex/clippy-test-run/sources/stable/gh/w0dm4n/Npuzzle/Cargo.toml [INFO] started frobbing w0dm4n/Npuzzle [INFO] finished frobbing w0dm4n/Npuzzle [INFO] frobbed toml for w0dm4n/Npuzzle written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/w0dm4n/Npuzzle/Cargo.toml [INFO] crate w0dm4n/Npuzzle 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 w0dm4n/Npuzzle against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/w0dm4n/Npuzzle:/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] de859e81c68003af3a0b05ed3b78268ec5d1e3be5460a158f0dd2f1abf52bc8f [INFO] running `"docker" "start" "-a" "de859e81c68003af3a0b05ed3b78268ec5d1e3be5460a158f0dd2f1abf52bc8f"` [INFO] [stderr] Compiling libc v0.2.32 [INFO] [stderr] Compiling dtoa v0.4.2 [INFO] [stderr] Compiling num-traits v0.1.40 [INFO] [stderr] Compiling itoa v0.3.4 [INFO] [stderr] Checking either v1.3.0 [INFO] [stderr] Compiling rayon-core v1.2.1 [INFO] [stderr] Checking futures v0.1.16 [INFO] [stderr] Compiling khronos_api v1.0.1 [INFO] [stderr] Compiling log v0.3.8 [INFO] [stderr] Checking odds v0.2.25 [INFO] [stderr] Checking bitflags v1.0.0 [INFO] [stderr] Checking serde v1.0.16 [INFO] [stderr] Checking shader_version v0.3.0 [INFO] [stderr] Checking linked-hash-map v0.5.0 [INFO] [stderr] Checking fnv v1.0.5 [INFO] [stderr] Checking piston-texture v0.6.0 [INFO] [stderr] Compiling xml-rs v0.6.1 [INFO] [stderr] Compiling syn v0.10.8 [INFO] [stderr] Checking coco v0.1.1 [INFO] [stderr] Compiling itertools v0.5.10 [INFO] [stderr] Compiling x11-dl v2.16.0 [INFO] [stderr] Checking vecmath v0.3.1 [INFO] [stderr] Checking draw_state v0.7.1 [INFO] [stderr] Checking deflate v0.7.17 [INFO] [stderr] Compiling rand v0.3.17 [INFO] [stderr] Compiling serde_json v0.9.10 [INFO] [stderr] Checking num-integer v0.1.35 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking nodrop v0.1.11 [INFO] [stderr] Checking num_cpus v1.7.0 [INFO] [stderr] Checking shared_library v0.1.7 [INFO] [stderr] Checking memchr v1.0.2 [INFO] [stderr] Checking num-iter v0.1.34 [INFO] [stderr] Checking num-rational v0.1.39 [INFO] [stderr] Compiling wayland-scanner v0.9.10 [INFO] [stderr] Compiling gl_generator v0.5.5 [INFO] [stderr] Checking arrayvec v0.4.4 [INFO] [stderr] Checking aho-corasick v0.6.3 [INFO] [stderr] Compiling phf_generator v0.7.21 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Compiling serde_derive_internals v0.16.0 [INFO] [stderr] Checking png v0.11.0 [INFO] [stderr] Checking tempfile v2.2.0 [INFO] [stderr] Checking fs2 v0.2.5 [INFO] [stderr] Compiling phf_codegen v0.7.21 [INFO] [stderr] Checking rusttype v0.2.3 [INFO] [stderr] Checking regex v0.2.2 [INFO] [stderr] Compiling wayland-client v0.9.10 [INFO] [stderr] Compiling wayland-protocols v0.9.10 [INFO] [stderr] Checking rayon v0.8.2 [INFO] [stderr] Compiling gl v0.6.3 [INFO] [stderr] Compiling glutin v0.10.0 [INFO] [stderr] Compiling gfx_gl v0.3.1 [INFO] [stderr] Compiling serde_derive v1.0.16 [INFO] [stderr] Checking memmap v0.4.0 [INFO] [stderr] Compiling target_build_utils v0.3.1 [INFO] [stderr] Compiling derivative v1.0.0 [INFO] [stderr] Checking piston2d-graphics v0.23.0 [INFO] [stderr] Checking jpeg-decoder v0.1.13 [INFO] [stderr] Checking pistoncore-input v0.20.0 [INFO] [stderr] Checking image v0.17.0 [INFO] [stderr] Checking pistoncore-window v0.30.0 [INFO] [stderr] Checking pistoncore-event_loop v0.35.0 [INFO] [stderr] Checking gfx_core v0.7.2 [INFO] [stderr] Checking piston v0.35.0 [INFO] [stderr] Compiling libloading v0.3.4 [INFO] [stderr] Checking piston2d-opengl_graphics v0.49.0 [INFO] [stderr] Checking dlib v0.3.1 [INFO] [stderr] Checking wayland-sys v0.9.10 [INFO] [stderr] Checking wayland-kbd v0.9.1 [INFO] [stderr] Checking wayland-window v0.8.0 [INFO] [stderr] Checking winit v0.8.3 [INFO] [stderr] Checking pistoncore-glutin_window v0.42.0 [INFO] [stderr] Checking gfx v0.16.1 [INFO] [stderr] Checking gfx_device_gl v0.14.4 [INFO] [stderr] Checking piston-gfx_texture v0.29.0 [INFO] [stderr] Checking piston2d-gfx_graphics v0.46.0 [INFO] [stderr] Checking piston_window v0.73.0 [INFO] [stderr] Checking npuzzle v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/puzzle_module/puzzle.rs:111:28 [INFO] [stderr] | [INFO] [stderr] 111 | self.base_pos.push(Pos {x: x, y: y}); [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/puzzle_module/puzzle.rs:111:34 [INFO] [stderr] | [INFO] [stderr] 111 | self.base_pos.push(Pos {x: x, y: y}); [INFO] [stderr] | ^^^^ help: replace it with: `y` [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: using `println!("")` [INFO] [stderr] --> src/main.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/puzzle_module/puzzle.rs:111:28 [INFO] [stderr] | [INFO] [stderr] 111 | self.base_pos.push(Pos {x: x, y: y}); [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/puzzle_module/puzzle.rs:111:34 [INFO] [stderr] | [INFO] [stderr] 111 | self.base_pos.push(Pos {x: x, y: y}); [INFO] [stderr] | ^^^^ help: replace it with: `y` [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: using `println!("")` [INFO] [stderr] --> src/main.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser_module/parser.rs:30:8 [INFO] [stderr] | [INFO] [stderr] 30 | return Parser { file: name.clone(), validity: true, content: contents}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Parser { file: name.clone(), validity: true, content: contents}` [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/parser_module/parser.rs:32:8 [INFO] [stderr] | [INFO] [stderr] 32 | return Parser { file: name.clone(), validity: false, content: contents}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Parser { file: name.clone(), validity: false, content: contents}` [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/parser_module/parser.rs:37:7 [INFO] [stderr] | [INFO] [stderr] 37 | return Parser { file: name.clone(), validity: false, content: String::from("")}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Parser { file: name.clone(), validity: false, content: String::from("")}` [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/parser_module/parser.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | return Parser { file: name.clone(), validity: false, content: String::from("")}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Parser { file: name.clone(), validity: false, content: String::from("")}` [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/parser_module/parser.rs:63:3 [INFO] [stderr] | [INFO] [stderr] 63 | return numbers_pos; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `numbers_pos` [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: this if statement can be collapsed [INFO] [stderr] --> src/parser_module/parser.rs:110:3 [INFO] [stderr] | [INFO] [stderr] 110 | if puzz_len > 0 { [INFO] [stderr] | _________^ [INFO] [stderr] 111 | | if numbers.len() != puzz_len * puzz_len || !numbers.iter().any(|&x| x == 0) { [INFO] [stderr] 112 | | puzz_len = 0; [INFO] [stderr] 113 | | } [INFO] [stderr] 114 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 110 | if puzz_len > 0 && (numbers.len() != puzz_len * puzz_len || !numbers.iter().any(|&x| x == 0)) { [INFO] [stderr] 111 | puzz_len = 0; [INFO] [stderr] 112 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/puzzle_module/puzzle.rs:74:41 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn init_array_positions(&mut self) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/puzzle_module/puzzle.rs:93:44 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn init_graphics_positions(&mut self) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/puzzle_module/puzzle.rs:124:50 [INFO] [stderr] | [INFO] [stderr] 124 | pub fn print_time_elapsed(&self, time: Instant) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/puzzle_module/puzzle.rs:127:78 [INFO] [stderr] | [INFO] [stderr] 127 | let sec = (elapsed.as_secs() as f64) + (elapsed.subsec_nanos() as f64 / 1000_000_000.0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::inconsistent_digit_grouping)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/puzzle_module/puzzle.rs:276:4 [INFO] [stderr] | [INFO] [stderr] 276 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [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/puzzle_module/puzzle.rs:277:12 [INFO] [stderr] | [INFO] [stderr] 277 | } else { return false; } [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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/puzzle_module/puzzle.rs:306:3 [INFO] [stderr] | [INFO] [stderr] 306 | return lc; [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `lc` [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/puzzle_module/puzzle.rs:391:3 [INFO] [stderr] | [INFO] [stderr] 391 | return board; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `board` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/puzzle_module/puzzle.rs:378:9 [INFO] [stderr] | [INFO] [stderr] 378 | else { [INFO] [stderr] | __________________^ [INFO] [stderr] 379 | | if c_x > min_y { [INFO] [stderr] 380 | | c_x -= 1; [INFO] [stderr] 381 | | } else if c_y > min_y { [INFO] [stderr] ... | [INFO] [stderr] 387 | | } [INFO] [stderr] 388 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 378 | else if c_x > min_y { [INFO] [stderr] 379 | c_x -= 1; [INFO] [stderr] 380 | } else if c_y > min_y { [INFO] [stderr] 381 | c_y -= 1; [INFO] [stderr] 382 | if c_x == min_y && c_y == min_y + 1 { [INFO] [stderr] 383 | r = true; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/window_module/window.rs:41:2 [INFO] [stderr] | [INFO] [stderr] 41 | return displays; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `displays` [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/window_module/window.rs:52:7 [INFO] [stderr] | [INFO] [stderr] 52 | return number; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `number` [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/window_module/window.rs:54:7 [INFO] [stderr] | [INFO] [stderr] 54 | return default_value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `default_value` [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/window_module/window.rs:58:6 [INFO] [stderr] | [INFO] [stderr] 58 | return default_value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `default_value` [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/window_module/window.rs:63:4 [INFO] [stderr] | [INFO] [stderr] 63 | return default_value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `default_value` [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 unit return type [INFO] [stderr] --> src/gameview_module/gameview.rs:5:71 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn grid_gen(puzzle: &Puzzle, c: &Context, g: &mut G) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/gameview_module/gameview.rs:16:129 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn draw_cell_borders(puzzle: &Puzzle, c: &Context, g: &mut G, size: f64, position: [f64; 2], colors: [f32; 4]) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/gameview_module/gameview.rs:41:132 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn draw_section_borders(puzzle: &Puzzle, c: &Context, g: &mut G, size: f64, position: [f64; 2], colors: [f32; 4]) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/checker_module/checker.rs:40:2 [INFO] [stderr] | [INFO] [stderr] 40 | return tmp; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `tmp` [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/checker_module/checker.rs:56:2 [INFO] [stderr] | [INFO] [stderr] 56 | return inv_count % 2 == 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `inv_count % 2 == 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/checker_module/checker.rs:61:2 [INFO] [stderr] | [INFO] [stderr] 61 | return is_valid(format_board(board.len as i32, board)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `is_valid(format_board(board.len as i32, board))` [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 unit return type [INFO] [stderr] --> src/config_module/config.rs:22:31 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn parse_args(&mut self) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/config_module/config.rs:47:34 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn parse_options(&mut self) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config_module/config.rs:74:3 [INFO] [stderr] | [INFO] [stderr] 74 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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/config_module/config.rs:82:3 [INFO] [stderr] | [INFO] [stderr] 82 | return object; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `object` [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/parser_module/parser.rs:30:8 [INFO] [stderr] | [INFO] [stderr] 30 | return Parser { file: name.clone(), validity: true, content: contents}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Parser { file: name.clone(), validity: true, content: contents}` [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/parser_module/parser.rs:32:8 [INFO] [stderr] | [INFO] [stderr] 32 | return Parser { file: name.clone(), validity: false, content: contents}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Parser { file: name.clone(), validity: false, content: contents}` [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/parser_module/parser.rs:37:7 [INFO] [stderr] | [INFO] [stderr] 37 | return Parser { file: name.clone(), validity: false, content: String::from("")}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Parser { file: name.clone(), validity: false, content: String::from("")}` [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/parser_module/parser.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | return Parser { file: name.clone(), validity: false, content: String::from("")}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Parser { file: name.clone(), validity: false, content: String::from("")}` [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/parser_module/parser.rs:63:3 [INFO] [stderr] | [INFO] [stderr] 63 | return numbers_pos; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `numbers_pos` [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: this if statement can be collapsed [INFO] [stderr] --> src/parser_module/parser.rs:110:3 [INFO] [stderr] | [INFO] [stderr] 110 | if puzz_len > 0 { [INFO] [stderr] | _________^ [INFO] [stderr] 111 | | if numbers.len() != puzz_len * puzz_len || !numbers.iter().any(|&x| x == 0) { [INFO] [stderr] 112 | | puzz_len = 0; [INFO] [stderr] 113 | | } [INFO] [stderr] 114 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 110 | if puzz_len > 0 && (numbers.len() != puzz_len * puzz_len || !numbers.iter().any(|&x| x == 0)) { [INFO] [stderr] 111 | puzz_len = 0; [INFO] [stderr] 112 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/puzzle_module/puzzle.rs:74:41 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn init_array_positions(&mut self) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/puzzle_module/puzzle.rs:93:44 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn init_graphics_positions(&mut self) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/puzzle_module/puzzle.rs:124:50 [INFO] [stderr] | [INFO] [stderr] 124 | pub fn print_time_elapsed(&self, time: Instant) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/puzzle_module/puzzle.rs:127:78 [INFO] [stderr] | [INFO] [stderr] 127 | let sec = (elapsed.as_secs() as f64) + (elapsed.subsec_nanos() as f64 / 1000_000_000.0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::inconsistent_digit_grouping)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/puzzle_module/puzzle.rs:276:4 [INFO] [stderr] | [INFO] [stderr] 276 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [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/puzzle_module/puzzle.rs:277:12 [INFO] [stderr] | [INFO] [stderr] 277 | } else { return false; } [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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/puzzle_module/puzzle.rs:306:3 [INFO] [stderr] | [INFO] [stderr] 306 | return lc; [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `lc` [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/puzzle_module/puzzle.rs:391:3 [INFO] [stderr] | [INFO] [stderr] 391 | return board; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `board` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/puzzle_module/puzzle.rs:378:9 [INFO] [stderr] | [INFO] [stderr] 378 | else { [INFO] [stderr] | __________________^ [INFO] [stderr] 379 | | if c_x > min_y { [INFO] [stderr] 380 | | c_x -= 1; [INFO] [stderr] 381 | | } else if c_y > min_y { [INFO] [stderr] ... | [INFO] [stderr] 387 | | } [INFO] [stderr] 388 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 378 | else if c_x > min_y { [INFO] [stderr] 379 | c_x -= 1; [INFO] [stderr] 380 | } else if c_y > min_y { [INFO] [stderr] 381 | c_y -= 1; [INFO] [stderr] 382 | if c_x == min_y && c_y == min_y + 1 { [INFO] [stderr] 383 | r = true; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/window_module/window.rs:41:2 [INFO] [stderr] | [INFO] [stderr] 41 | return displays; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `displays` [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/window_module/window.rs:52:7 [INFO] [stderr] | [INFO] [stderr] 52 | return number; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `number` [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/window_module/window.rs:54:7 [INFO] [stderr] | [INFO] [stderr] 54 | return default_value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `default_value` [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/window_module/window.rs:58:6 [INFO] [stderr] | [INFO] [stderr] 58 | return default_value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `default_value` [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/window_module/window.rs:63:4 [INFO] [stderr] | [INFO] [stderr] 63 | return default_value; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `default_value` [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 unit return type [INFO] [stderr] --> src/gameview_module/gameview.rs:5:71 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn grid_gen(puzzle: &Puzzle, c: &Context, g: &mut G) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/gameview_module/gameview.rs:16:129 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn draw_cell_borders(puzzle: &Puzzle, c: &Context, g: &mut G, size: f64, position: [f64; 2], colors: [f32; 4]) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/gameview_module/gameview.rs:41:132 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn draw_section_borders(puzzle: &Puzzle, c: &Context, g: &mut G, size: f64, position: [f64; 2], colors: [f32; 4]) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/checker_module/checker.rs:40:2 [INFO] [stderr] | [INFO] [stderr] 40 | return tmp; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `tmp` [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/checker_module/checker.rs:56:2 [INFO] [stderr] | [INFO] [stderr] 56 | return inv_count % 2 == 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `inv_count % 2 == 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/checker_module/checker.rs:61:2 [INFO] [stderr] | [INFO] [stderr] 61 | return is_valid(format_board(board.len as i32, board)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `is_valid(format_board(board.len as i32, board))` [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 unit return type [INFO] [stderr] --> src/config_module/config.rs:22:31 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn parse_args(&mut self) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/config_module/config.rs:47:34 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn parse_options(&mut self) -> () [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/config_module/config.rs:74:3 [INFO] [stderr] | [INFO] [stderr] 74 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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/config_module/config.rs:82:3 [INFO] [stderr] | [INFO] [stderr] 82 | return object; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `object` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/parser_module/parser.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn new_file(name: &String) -> (Parser) { [INFO] [stderr] | ^^^^^^^ [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 20 | pub fn new_file(name: &str) -> (Parser) { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `name.clone()` to [INFO] [stderr] | [INFO] [stderr] 30 | return Parser { file: name.to_string(), validity: true, content: contents}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: change `name.clone()` to [INFO] [stderr] | [INFO] [stderr] 32 | return Parser { file: name.to_string(), validity: false, content: contents}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: change `name.clone()` to [INFO] [stderr] | [INFO] [stderr] 37 | return Parser { file: name.to_string(), validity: false, content: String::from("")}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: change `name.clone()` to [INFO] [stderr] | [INFO] [stderr] 43 | return Parser { file: name.to_string(), validity: false, content: String::from("")}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [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/parser_module/parser.rs:56:41 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn convert_numbers(&self, numbers: &Vec) -> (Vec) [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i32]` [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: length comparison to zero [INFO] [stderr] --> src/parser_module/parser.rs:73:7 [INFO] [stderr] | [INFO] [stderr] 73 | if line.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `line.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parser_module/parser.rs:78:40 [INFO] [stderr] | [INFO] [stderr] 78 | if puzz_len == 0 && !line.contains(" ") && !line.contains("\t") { [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parser_module/parser.rs:78:63 [INFO] [stderr] | [INFO] [stderr] 78 | if puzz_len == 0 && !line.contains(" ") && !line.contains("\t") { [INFO] [stderr] | ^^^^ help: try using a char instead: `'\t'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/puzzle_module/puzzle.rs:127:46 [INFO] [stderr] | [INFO] [stderr] 127 | let sec = (elapsed.as_secs() as f64) + (elapsed.subsec_nanos() as f64 / 1000_000_000.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(elapsed.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [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/puzzle_module/puzzle.rs:156:35 [INFO] [stderr] | [INFO] [stderr] 156 | fn a_star(&mut self, finalboard: &Vec) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: The function/method `find_move` doesn't need a mutable reference [INFO] [stderr] --> src/puzzle_module/puzzle.rs:193:33 [INFO] [stderr] | [INFO] [stderr] 193 | self.find_move(&finalboard, &mut board_study, step); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [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/puzzle_module/puzzle.rs:202:33 [INFO] [stderr] | [INFO] [stderr] 202 | fn in_close_list(&self, board: &Vec) ->(bool) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/puzzle_module/puzzle.rs:212:38 [INFO] [stderr] | [INFO] [stderr] 212 | fn move_elem(&mut self, finalboard: &Vec, board: &Elem, z:usize, o:usize, s: i32) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/puzzle_module/puzzle.rs:232:38 [INFO] [stderr] | [INFO] [stderr] 232 | fn find_move(&mut self, finalboard: &Vec, board: &Elem, step: i32) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/puzzle_module/puzzle.rs:280:40 [INFO] [stderr] | [INFO] [stderr] 280 | fn get_final_path(&mut self, last_id: &i32) [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/puzzle_module/puzzle.rs:293:48 [INFO] [stderr] | [INFO] [stderr] 293 | fn get_linear_conflict(&mut self, finalboard: &Vec, val: &Number, obj: &Number, tab: &Vec, index: usize) ->(i32) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/puzzle_module/puzzle.rs:293:95 [INFO] [stderr] | [INFO] [stderr] 293 | fn get_linear_conflict(&mut self, finalboard: &Vec, val: &Number, obj: &Number, tab: &Vec, index: usize) ->(i32) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/puzzle_module/puzzle.rs:309:43 [INFO] [stderr] | [INFO] [stderr] 309 | fn get_heuristics(&mut self, finalboard: &Vec, elem: &mut Elem) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: an inclusive range would be more readable [INFO] [stderr] --> src/puzzle_module/puzzle.rs:359:12 [INFO] [stderr] | [INFO] [stderr] 359 | for x in 1..(last_elem + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use: `1..=last_elem` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/puzzle_module/puzzle.rs:367:7 [INFO] [stderr] | [INFO] [stderr] 367 | if r == true { [INFO] [stderr] | ^^^^^^^^^ help: try simplifying it as shown: `r` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [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/window_module/window.rs:18:34 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn get_step_display(numbers: &Vec, puzzle: &Puzzle) -> (Vec) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/parser_module/parser.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn new_file(name: &String) -> (Parser) { [INFO] [stderr] | ^^^^^^^ [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 20 | pub fn new_file(name: &str) -> (Parser) { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `name.clone()` to [INFO] [stderr] | [INFO] [stderr] 30 | return Parser { file: name.to_string(), validity: true, content: contents}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: change `name.clone()` to [INFO] [stderr] | [INFO] [stderr] 32 | return Parser { file: name.to_string(), validity: false, content: contents}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: change `name.clone()` to [INFO] [stderr] | [INFO] [stderr] 37 | return Parser { file: name.to_string(), validity: false, content: String::from("")}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: change `name.clone()` to [INFO] [stderr] | [INFO] [stderr] 43 | return Parser { file: name.to_string(), validity: false, content: String::from("")}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/window_module/window.rs:78:6 [INFO] [stderr] | [INFO] [stderr] 78 | let ref font = assets.join("FiraSans-Regular.ttf"); [INFO] [stderr] | ----^^^^^^^^--------------------------------------- help: try: `let font = &assets.join("FiraSans-Regular.ttf");` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_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/parser_module/parser.rs:56:41 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn convert_numbers(&self, numbers: &Vec) -> (Vec) [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i32]` [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 pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/window_module/window.rs:104:15 [INFO] [stderr] | [INFO] [stderr] 104 | for (_i, &ref number) in display.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `&ref` part and just keep: `number` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/window_module/window.rs:125:15 [INFO] [stderr] | [INFO] [stderr] 125 | for (_i, &ref number) in last_value.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `&ref` part and just keep: `number` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/gameview_module/gameview.rs:23:25 [INFO] [stderr] | [INFO] [stderr] 23 | let x = position[0] + i as f64 / puzzle.get_len() as f64 * size; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/gameview_module/gameview.rs:24:25 [INFO] [stderr] | [INFO] [stderr] 24 | let y = position[1] + i as f64 / puzzle.get_len() as f64 * size; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parser_module/parser.rs:73:7 [INFO] [stderr] | [INFO] [stderr] 73 | if line.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `line.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parser_module/parser.rs:78:40 [INFO] [stderr] | [INFO] [stderr] 78 | if puzz_len == 0 && !line.contains(" ") && !line.contains("\t") { [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parser_module/parser.rs:78:63 [INFO] [stderr] | [INFO] [stderr] 78 | if puzz_len == 0 && !line.contains(" ") && !line.contains("\t") { [INFO] [stderr] | ^^^^ help: try using a char instead: `'\t'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config_module/config.rs:49:3 [INFO] [stderr] | [INFO] [stderr] 49 | match self.get_flag("options") [INFO] [stderr] | _________^ [INFO] [stderr] 50 | | { [INFO] [stderr] 51 | | Some(value) => { [INFO] [stderr] 52 | | let mut options = value.chars(); [INFO] [stderr] ... | [INFO] [stderr] 63 | | None => { } [INFO] [stderr] 64 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 49 | if let Some(value) = self.get_flag("options") { [INFO] [stderr] 50 | let mut options = value.chars(); [INFO] [stderr] 51 | for _i in 0..value.len() { [INFO] [stderr] 52 | match options.next() [INFO] [stderr] 53 | { [INFO] [stderr] 54 | Some(option) => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config_module/config.rs:54:6 [INFO] [stderr] | [INFO] [stderr] 54 | match options.next() [INFO] [stderr] | _____________________^ [INFO] [stderr] 55 | | { [INFO] [stderr] 56 | | Some(option) => { [INFO] [stderr] 57 | | self.options.push(option); [INFO] [stderr] 58 | | } [INFO] [stderr] 59 | | None => { } [INFO] [stderr] 60 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 54 | if let Some(option) = options.next() { [INFO] [stderr] 55 | self.options.push(option); [INFO] [stderr] 56 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:21:2 [INFO] [stderr] | [INFO] [stderr] 21 | match puzzle.config.get_flag("help") [INFO] [stderr] | _____^ [INFO] [stderr] 22 | | { [INFO] [stderr] 23 | | Some(_flag) => { [INFO] [stderr] 24 | | println!("Npuzzle [OPTIONS]"); [INFO] [stderr] ... | [INFO] [stderr] 35 | | None => { } [INFO] [stderr] 36 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 21 | if let Some(_flag) = puzzle.config.get_flag("help") { [INFO] [stderr] 22 | println!("Npuzzle [OPTIONS]"); [INFO] [stderr] 23 | println!(""); [INFO] [stderr] 24 | println!("--help Print this help screen"); [INFO] [stderr] 25 | println!("--time Specifies the time to wait for the graphic display"); [INFO] [stderr] 26 | println!("--options Options to use on heuristics"); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:46:6 [INFO] [stderr] | [INFO] [stderr] 46 | if file_path.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!file_path.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/puzzle_module/puzzle.rs:127:46 [INFO] [stderr] | [INFO] [stderr] 127 | let sec = (elapsed.as_secs() as f64) + (elapsed.subsec_nanos() as f64 / 1000_000_000.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(elapsed.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [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/puzzle_module/puzzle.rs:156:35 [INFO] [stderr] | [INFO] [stderr] 156 | fn a_star(&mut self, finalboard: &Vec) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: The function/method `find_move` doesn't need a mutable reference [INFO] [stderr] --> src/puzzle_module/puzzle.rs:193:33 [INFO] [stderr] | [INFO] [stderr] 193 | self.find_move(&finalboard, &mut board_study, step); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [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/puzzle_module/puzzle.rs:202:33 [INFO] [stderr] | [INFO] [stderr] 202 | fn in_close_list(&self, board: &Vec) ->(bool) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/puzzle_module/puzzle.rs:212:38 [INFO] [stderr] | [INFO] [stderr] 212 | fn move_elem(&mut self, finalboard: &Vec, board: &Elem, z:usize, o:usize, s: i32) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/puzzle_module/puzzle.rs:232:38 [INFO] [stderr] | [INFO] [stderr] 232 | fn find_move(&mut self, finalboard: &Vec, board: &Elem, step: i32) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/puzzle_module/puzzle.rs:280:40 [INFO] [stderr] | [INFO] [stderr] 280 | fn get_final_path(&mut self, last_id: &i32) [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/puzzle_module/puzzle.rs:293:48 [INFO] [stderr] | [INFO] [stderr] 293 | fn get_linear_conflict(&mut self, finalboard: &Vec, val: &Number, obj: &Number, tab: &Vec, index: usize) ->(i32) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/puzzle_module/puzzle.rs:293:95 [INFO] [stderr] | [INFO] [stderr] 293 | fn get_linear_conflict(&mut self, finalboard: &Vec, val: &Number, obj: &Number, tab: &Vec, index: usize) ->(i32) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/puzzle_module/puzzle.rs:309:43 [INFO] [stderr] | [INFO] [stderr] 309 | fn get_heuristics(&mut self, finalboard: &Vec, elem: &mut Elem) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: an inclusive range would be more readable [INFO] [stderr] --> src/puzzle_module/puzzle.rs:359:12 [INFO] [stderr] | [INFO] [stderr] 359 | for x in 1..(last_elem + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use: `1..=last_elem` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/puzzle_module/puzzle.rs:367:7 [INFO] [stderr] | [INFO] [stderr] 367 | if r == true { [INFO] [stderr] | ^^^^^^^^^ help: try simplifying it as shown: `r` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [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/window_module/window.rs:18:34 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn get_step_display(numbers: &Vec, puzzle: &Puzzle) -> (Vec) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Number]` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/window_module/window.rs:78:6 [INFO] [stderr] | [INFO] [stderr] 78 | let ref font = assets.join("FiraSans-Regular.ttf"); [INFO] [stderr] | ----^^^^^^^^--------------------------------------- help: try: `let font = &assets.join("FiraSans-Regular.ttf");` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/window_module/window.rs:104:15 [INFO] [stderr] | [INFO] [stderr] 104 | for (_i, &ref number) in display.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `&ref` part and just keep: `number` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/window_module/window.rs:125:15 [INFO] [stderr] | [INFO] [stderr] 125 | for (_i, &ref number) in last_value.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `&ref` part and just keep: `number` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/gameview_module/gameview.rs:23:25 [INFO] [stderr] | [INFO] [stderr] 23 | let x = position[0] + i as f64 / puzzle.get_len() as f64 * size; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/gameview_module/gameview.rs:24:25 [INFO] [stderr] | [INFO] [stderr] 24 | let y = position[1] + i as f64 / puzzle.get_len() as f64 * size; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config_module/config.rs:49:3 [INFO] [stderr] | [INFO] [stderr] 49 | match self.get_flag("options") [INFO] [stderr] | _________^ [INFO] [stderr] 50 | | { [INFO] [stderr] 51 | | Some(value) => { [INFO] [stderr] 52 | | let mut options = value.chars(); [INFO] [stderr] ... | [INFO] [stderr] 63 | | None => { } [INFO] [stderr] 64 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 49 | if let Some(value) = self.get_flag("options") { [INFO] [stderr] 50 | let mut options = value.chars(); [INFO] [stderr] 51 | for _i in 0..value.len() { [INFO] [stderr] 52 | match options.next() [INFO] [stderr] 53 | { [INFO] [stderr] 54 | Some(option) => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/config_module/config.rs:54:6 [INFO] [stderr] | [INFO] [stderr] 54 | match options.next() [INFO] [stderr] | _____________________^ [INFO] [stderr] 55 | | { [INFO] [stderr] 56 | | Some(option) => { [INFO] [stderr] 57 | | self.options.push(option); [INFO] [stderr] 58 | | } [INFO] [stderr] 59 | | None => { } [INFO] [stderr] 60 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 54 | if let Some(option) = options.next() { [INFO] [stderr] 55 | self.options.push(option); [INFO] [stderr] 56 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:21:2 [INFO] [stderr] | [INFO] [stderr] 21 | match puzzle.config.get_flag("help") [INFO] [stderr] | _____^ [INFO] [stderr] 22 | | { [INFO] [stderr] 23 | | Some(_flag) => { [INFO] [stderr] 24 | | println!("Npuzzle [OPTIONS]"); [INFO] [stderr] ... | [INFO] [stderr] 35 | | None => { } [INFO] [stderr] 36 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 21 | if let Some(_flag) = puzzle.config.get_flag("help") { [INFO] [stderr] 22 | println!("Npuzzle [OPTIONS]"); [INFO] [stderr] 23 | println!(""); [INFO] [stderr] 24 | println!("--help Print this help screen"); [INFO] [stderr] 25 | println!("--time Specifies the time to wait for the graphic display"); [INFO] [stderr] 26 | println!("--options Options to use on heuristics"); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/main.rs:46:6 [INFO] [stderr] | [INFO] [stderr] 46 | if file_path.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!file_path.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 00s [INFO] running `"docker" "inspect" "de859e81c68003af3a0b05ed3b78268ec5d1e3be5460a158f0dd2f1abf52bc8f"` [INFO] running `"docker" "rm" "-f" "de859e81c68003af3a0b05ed3b78268ec5d1e3be5460a158f0dd2f1abf52bc8f"` [INFO] [stdout] de859e81c68003af3a0b05ed3b78268ec5d1e3be5460a158f0dd2f1abf52bc8f