[INFO] updating cached repository Tau5/legend [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Tau5/legend [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Tau5/legend" "work/ex/clippy-test-run/sources/stable/gh/Tau5/legend"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/Tau5/legend'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Tau5/legend" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Tau5/legend"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Tau5/legend'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 45efa5f39def19cb4a64497c45c0fa9f7585ca5f [INFO] sha for GitHub repo Tau5/legend: 45efa5f39def19cb4a64497c45c0fa9f7585ca5f [INFO] validating manifest of Tau5/legend 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 Tau5/legend 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 Tau5/legend [INFO] finished frobbing Tau5/legend [INFO] frobbed toml for Tau5/legend written to work/ex/clippy-test-run/sources/stable/gh/Tau5/legend/Cargo.toml [INFO] started frobbing Tau5/legend [INFO] finished frobbing Tau5/legend [INFO] frobbed toml for Tau5/legend written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Tau5/legend/Cargo.toml [INFO] crate Tau5/legend 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 Tau5/legend 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/Tau5/legend:/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] 0503c7ec9400a8ec82d0e38470dde8abfa5dcaa868a9326ffa3fa6b229fa4d3c [INFO] running `"docker" "start" "-a" "0503c7ec9400a8ec82d0e38470dde8abfa5dcaa868a9326ffa3fa6b229fa4d3c"` [INFO] [stderr] Compiling ears v0.5.1 [INFO] [stderr] Compiling syn v0.15.8 [INFO] [stderr] Checking pancurses v0.16.0 [INFO] [stderr] Compiling serde_derive v1.0.79 [INFO] [stderr] Checking legend v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:317:21 [INFO] [stderr] | [INFO] [stderr] 317 | x: x, [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/main.rs:318:21 [INFO] [stderr] | [INFO] [stderr] 318 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:350:21 [INFO] [stderr] | [INFO] [stderr] 350 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/main.rs:351:21 [INFO] [stderr] | [INFO] [stderr] 351 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:317:21 [INFO] [stderr] | [INFO] [stderr] 317 | x: x, [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/main.rs:318:21 [INFO] [stderr] | [INFO] [stderr] 318 | 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: redundant field names in struct initialization [INFO] [stderr] --> src/main.rs:350:21 [INFO] [stderr] | [INFO] [stderr] 350 | x: x, [INFO] [stderr] | ^^^^ help: replace it with: `x` [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/main.rs:351:21 [INFO] [stderr] | [INFO] [stderr] 351 | 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: this is an `else if` but the formatting might hide it [INFO] [stderr] --> src/main.rs:435:22 [INFO] [stderr] | [INFO] [stderr] 435 | } else [INFO] [stderr] | ______________________^ [INFO] [stderr] 436 | | if vars[c.2 as usize] == c.3 as i16 { [INFO] [stderr] | |____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::suspicious_else_formatting)] on by default [INFO] [stderr] = note: to remove this lint, remove the `else` or remove the new line between `else` and `if` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stderr] [INFO] [stderr] warning: this is an `else if` but the formatting might hide it [INFO] [stderr] --> src/main.rs:435:22 [INFO] [stderr] | [INFO] [stderr] 435 | } else [INFO] [stderr] | ______________________^ [INFO] [stderr] 436 | | if vars[c.2 as usize] == c.3 as i16 { [INFO] [stderr] | |____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::suspicious_else_formatting)] on by default [INFO] [stderr] = note: to remove this lint, remove the `else` or remove the new line between `else` and `if` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | events: Vec<(String, Vec<(String, String, u32, u32, u32, u32, u32)>)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:54:15 [INFO] [stderr] | [INFO] [stderr] 54 | triggers: Vec<(usize, usize, String, usize, usize, usize, usize, usize)> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | / let mut y = item.y; [INFO] [stderr] 179 | | if item.start_from_bottom { [INFO] [stderr] 180 | | y = window.get_max_y() - item.y; [INFO] [stderr] 181 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let y = if item.start_from_bottom { window.get_max_y() - item.y } else { item.y };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/main.rs:261:1 [INFO] [stderr] | [INFO] [stderr] 261 | / fn game_loop(world_file: World, window: &pancurses::Window, mut world:Vec, char_map: Vec, mut collision_map:Vec, cus_coor: bool, cus_x: usize, cus_y: usize, actual_map: String, config: Config, vars: &mut Vec) { [INFO] [stderr] 262 | | let mut interact_sound = Sound::new(&get_path(format!("/game/{}", config.interact_sound))).unwrap(); [INFO] [stderr] 263 | | let mut message: String = "".to_string(); [INFO] [stderr] 264 | | let mut x; [INFO] [stderr] ... | [INFO] [stderr] 384 | | [INFO] [stderr] 385 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:265:5 [INFO] [stderr] | [INFO] [stderr] 265 | / let mut y; [INFO] [stderr] 266 | | if cus_coor { [INFO] [stderr] 267 | | x = cus_x; [INFO] [stderr] 268 | | y = cus_y; [INFO] [stderr] ... | [INFO] [stderr] 271 | | y = world_file.spawn[1]; [INFO] [stderr] 272 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let y = if cus_coor { ..; cus_y } else { ..; world_file.spawn[1] };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/main.rs:331:24 [INFO] [stderr] | [INFO] [stderr] 331 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 332 | | check_legend_dirs(); [INFO] [stderr] 333 | | let file = File::create(&format!("{}/legend/saves/{}.save", dirs::home_dir().unwrap().display(), config.clone().short_name)).unwrap(); [INFO] [stderr] 334 | | let mut writer = io::BufWriter::new(&file); [INFO] [stderr] 335 | | write!(writer, "{}", save_str); [INFO] [stderr] 336 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/main.rs:325:31 [INFO] [stderr] | [INFO] [stderr] 325 | if has_save() { [INFO] [stderr] | _______________________________^ [INFO] [stderr] 326 | | check_legend_dirs(); [INFO] [stderr] 327 | | let file = File::create(&format!("{}/legend/saves/{}.save", dirs::home_dir().unwrap().display(), config.clone().short_name)).unwrap(); [INFO] [stderr] 328 | | let mut writer = io::BufWriter::new(&file); [INFO] [stderr] 329 | | write!(writer, "{}", save_str); [INFO] [stderr] 330 | | [INFO] [stderr] 331 | | } else { [INFO] [stderr] | |_________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:329:21 [INFO] [stderr] | [INFO] [stderr] 329 | write!(writer, "{}", save_str); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:335:21 [INFO] [stderr] | [INFO] [stderr] 335 | write!(writer, "{}", save_str); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/main.rs:364:24 [INFO] [stderr] | [INFO] [stderr] 364 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 365 | | check_legend_dirs(); [INFO] [stderr] 366 | | let file = File::create(&format!("{}/legend/saves/{}.save", dirs::home_dir().unwrap().display(), config.clone().short_name)).unwrap(); [INFO] [stderr] 367 | | let mut writer = io::BufWriter::new(&file); [INFO] [stderr] 368 | | write!(writer, "{}", save_str); [INFO] [stderr] 369 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/main.rs:358:31 [INFO] [stderr] | [INFO] [stderr] 358 | if has_save() { [INFO] [stderr] | _______________________________^ [INFO] [stderr] 359 | | check_legend_dirs(); [INFO] [stderr] 360 | | let file = File::create(&format!("{}/legend/saves/{}.save", dirs::home_dir().unwrap().display(), config.clone().short_name)).unwrap(); [INFO] [stderr] 361 | | let mut writer = io::BufWriter::new(&file); [INFO] [stderr] 362 | | write!(writer, "{}", save_str); [INFO] [stderr] 363 | | [INFO] [stderr] 364 | | } else { [INFO] [stderr] | |_________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:362:21 [INFO] [stderr] | [INFO] [stderr] 362 | write!(writer, "{}", save_str); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:368:21 [INFO] [stderr] | [INFO] [stderr] 368 | write!(writer, "{}", save_str); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/main.rs:391:1 [INFO] [stderr] | [INFO] [stderr] 391 | / fn run_event(name: String, window: &pancurses::Window, world:&World, world_map: &mut Vec, collision_map: &mut Vec, _x:usize, _y:usize, config: Config, vars: &mut Vec) -> (u8, String) { //Executes a specific event [INFO] [stderr] 392 | | let mut return_code = 0; [INFO] [stderr] 393 | | let mut message: String = "".to_string(); [INFO] [stderr] 394 | | /* [INFO] [stderr] ... | [INFO] [stderr] 445 | | (return_code, message) [INFO] [stderr] 446 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/main.rs:425:35 [INFO] [stderr] | [INFO] [stderr] 425 | for _i in vars.len()..(c.2 as usize)+1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `vars.len()..=(c.2 as usize)` [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: this function has too many arguments (9/7) [INFO] [stderr] --> src/main.rs:447:1 [INFO] [stderr] | [INFO] [stderr] 447 | / fn check_interactable_triggers(window: &pancurses::Window, world:&World, world_map: &mut Vec, collision_map: &mut Vec, x:usize, y:usize, facing: u8, config: Config, vars: &mut Vec) -> (u8, String) { [INFO] [stderr] 448 | | let mut return_data: (u8, String) = (0,"".to_string()); [INFO] [stderr] 449 | | let mut face_x = x; [INFO] [stderr] 450 | | let mut face_y = y; [INFO] [stderr] ... | [INFO] [stderr] 471 | | return_data [INFO] [stderr] 472 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/main.rs:473:1 [INFO] [stderr] | [INFO] [stderr] 473 | / fn check_triggers(window: &pancurses::Window, world:&World, world_map: &mut Vec, collision_map: &mut Vec, x:usize, y:usize, config: Config, vars: &mut Vec) -> (u8, String) { [INFO] [stderr] 474 | | let mut return_data: (u8, String) = (0,"".to_string()); [INFO] [stderr] 475 | | for i in world.triggers.iter() { //Iterate trough triggers to check if a events must be ran [INFO] [stderr] 476 | | if i.0==x&&i.1==y&&i.3==0 { [INFO] [stderr] ... | [INFO] [stderr] 480 | | return_data [INFO] [stderr] 481 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/main.rs:482:1 [INFO] [stderr] | [INFO] [stderr] 482 | / fn check_init_triggers(window: &pancurses::Window, world:&World, world_map: &mut Vec, collision_map: &mut Vec, x:usize, y:usize, config: Config, vars: &mut Vec) -> (u8, String) { [INFO] [stderr] 483 | | let mut return_data: (u8, String) = (0,"".to_string()); [INFO] [stderr] 484 | | for i in world.triggers.iter() { //Iterate trough triggers to check if a events must be ran [INFO] [stderr] 485 | | if i.3==2 { [INFO] [stderr] ... | [INFO] [stderr] 489 | | return_data [INFO] [stderr] 490 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [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/main.rs:491:53 [INFO] [stderr] | [INFO] [stderr] 491 | fn check_collision(x:usize, y:usize, collision_map: &Vec)-> bool{ //Check for collisions [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [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: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/main.rs:493:4 [INFO] [stderr] | [INFO] [stderr] 493 | / if line[x]==0{ [INFO] [stderr] 494 | | true [INFO] [stderr] 495 | | } else { [INFO] [stderr] 496 | | false [INFO] [stderr] 497 | | } [INFO] [stderr] | |____^ help: you can reduce it to: `line[x]==0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [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/main.rs:499:26 [INFO] [stderr] | [INFO] [stderr] 499 | fn get_line_count(world: &Vec) -> u32 { //Get the lines of the map [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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/main.rs:506:30 [INFO] [stderr] | [INFO] [stderr] 506 | fn get_collision_line(world: &Vec, line_number: u32)-> Vec{ //Get a Vector of a line in the collision_map [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [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/main.rs:564:46 [INFO] [stderr] | [INFO] [stderr] 564 | fn render(window: &pancurses::Window,world: &Vec, line_number: u32, x:usize, y:usize, char_map: &Vec, character_char: char, message: String) { //Render the map [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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/main.rs:564:103 [INFO] [stderr] | [INFO] [stderr] 564 | fn render(window: &pancurses::Window,world: &Vec, line_number: u32, x:usize, y:usize, char_map: &Vec, character_char: char, message: String) { //Render the map [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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 function has too many arguments (8/7) [INFO] [stderr] --> src/main.rs:564:2 [INFO] [stderr] | [INFO] [stderr] 564 | / fn render(window: &pancurses::Window,world: &Vec, line_number: u32, x:usize, y:usize, char_map: &Vec, character_char: char, message: String) { //Render the map [INFO] [stderr] 565 | | window.clear(); [INFO] [stderr] 566 | | for i in 0..line_number { [INFO] [stderr] 567 | | let line = get_line(world.to_vec(), i); [INFO] [stderr] ... | [INFO] [stderr] 579 | | window.printw(message); [INFO] [stderr] 580 | | } [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `legend`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | events: Vec<(String, Vec<(String, String, u32, u32, u32, u32, u32)>)>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:54:15 [INFO] [stderr] | [INFO] [stderr] 54 | triggers: Vec<(usize, usize, String, usize, usize, usize, usize, usize)> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | / let mut y = item.y; [INFO] [stderr] 179 | | if item.start_from_bottom { [INFO] [stderr] 180 | | y = window.get_max_y() - item.y; [INFO] [stderr] 181 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let y = if item.start_from_bottom { window.get_max_y() - item.y } else { item.y };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/main.rs:261:1 [INFO] [stderr] | [INFO] [stderr] 261 | / fn game_loop(world_file: World, window: &pancurses::Window, mut world:Vec, char_map: Vec, mut collision_map:Vec, cus_coor: bool, cus_x: usize, cus_y: usize, actual_map: String, config: Config, vars: &mut Vec) { [INFO] [stderr] 262 | | let mut interact_sound = Sound::new(&get_path(format!("/game/{}", config.interact_sound))).unwrap(); [INFO] [stderr] 263 | | let mut message: String = "".to_string(); [INFO] [stderr] 264 | | let mut x; [INFO] [stderr] ... | [INFO] [stderr] 384 | | [INFO] [stderr] 385 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/main.rs:265:5 [INFO] [stderr] | [INFO] [stderr] 265 | / let mut y; [INFO] [stderr] 266 | | if cus_coor { [INFO] [stderr] 267 | | x = cus_x; [INFO] [stderr] 268 | | y = cus_y; [INFO] [stderr] ... | [INFO] [stderr] 271 | | y = world_file.spawn[1]; [INFO] [stderr] 272 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let y = if cus_coor { ..; cus_y } else { ..; world_file.spawn[1] };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/main.rs:331:24 [INFO] [stderr] | [INFO] [stderr] 331 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 332 | | check_legend_dirs(); [INFO] [stderr] 333 | | let file = File::create(&format!("{}/legend/saves/{}.save", dirs::home_dir().unwrap().display(), config.clone().short_name)).unwrap(); [INFO] [stderr] 334 | | let mut writer = io::BufWriter::new(&file); [INFO] [stderr] 335 | | write!(writer, "{}", save_str); [INFO] [stderr] 336 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/main.rs:325:31 [INFO] [stderr] | [INFO] [stderr] 325 | if has_save() { [INFO] [stderr] | _______________________________^ [INFO] [stderr] 326 | | check_legend_dirs(); [INFO] [stderr] 327 | | let file = File::create(&format!("{}/legend/saves/{}.save", dirs::home_dir().unwrap().display(), config.clone().short_name)).unwrap(); [INFO] [stderr] 328 | | let mut writer = io::BufWriter::new(&file); [INFO] [stderr] 329 | | write!(writer, "{}", save_str); [INFO] [stderr] 330 | | [INFO] [stderr] 331 | | } else { [INFO] [stderr] | |_________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:329:21 [INFO] [stderr] | [INFO] [stderr] 329 | write!(writer, "{}", save_str); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:335:21 [INFO] [stderr] | [INFO] [stderr] 335 | write!(writer, "{}", save_str); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/main.rs:364:24 [INFO] [stderr] | [INFO] [stderr] 364 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 365 | | check_legend_dirs(); [INFO] [stderr] 366 | | let file = File::create(&format!("{}/legend/saves/{}.save", dirs::home_dir().unwrap().display(), config.clone().short_name)).unwrap(); [INFO] [stderr] 367 | | let mut writer = io::BufWriter::new(&file); [INFO] [stderr] 368 | | write!(writer, "{}", save_str); [INFO] [stderr] 369 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/main.rs:358:31 [INFO] [stderr] | [INFO] [stderr] 358 | if has_save() { [INFO] [stderr] | _______________________________^ [INFO] [stderr] 359 | | check_legend_dirs(); [INFO] [stderr] 360 | | let file = File::create(&format!("{}/legend/saves/{}.save", dirs::home_dir().unwrap().display(), config.clone().short_name)).unwrap(); [INFO] [stderr] 361 | | let mut writer = io::BufWriter::new(&file); [INFO] [stderr] 362 | | write!(writer, "{}", save_str); [INFO] [stderr] 363 | | [INFO] [stderr] 364 | | } else { [INFO] [stderr] | |_________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:362:21 [INFO] [stderr] | [INFO] [stderr] 362 | write!(writer, "{}", save_str); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:368:21 [INFO] [stderr] | [INFO] [stderr] 368 | write!(writer, "{}", save_str); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (9/7) [INFO] [stderr] --> src/main.rs:391:1 [INFO] [stderr] | [INFO] [stderr] 391 | / fn run_event(name: String, window: &pancurses::Window, world:&World, world_map: &mut Vec, collision_map: &mut Vec, _x:usize, _y:usize, config: Config, vars: &mut Vec) -> (u8, String) { //Executes a specific event [INFO] [stderr] 392 | | let mut return_code = 0; [INFO] [stderr] 393 | | let mut message: String = "".to_string(); [INFO] [stderr] 394 | | /* [INFO] [stderr] ... | [INFO] [stderr] 445 | | (return_code, message) [INFO] [stderr] 446 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/main.rs:425:35 [INFO] [stderr] | [INFO] [stderr] 425 | for _i in vars.len()..(c.2 as usize)+1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `vars.len()..=(c.2 as usize)` [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: this function has too many arguments (9/7) [INFO] [stderr] --> src/main.rs:447:1 [INFO] [stderr] | [INFO] [stderr] 447 | / fn check_interactable_triggers(window: &pancurses::Window, world:&World, world_map: &mut Vec, collision_map: &mut Vec, x:usize, y:usize, facing: u8, config: Config, vars: &mut Vec) -> (u8, String) { [INFO] [stderr] 448 | | let mut return_data: (u8, String) = (0,"".to_string()); [INFO] [stderr] 449 | | let mut face_x = x; [INFO] [stderr] 450 | | let mut face_y = y; [INFO] [stderr] ... | [INFO] [stderr] 471 | | return_data [INFO] [stderr] 472 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/main.rs:473:1 [INFO] [stderr] | [INFO] [stderr] 473 | / fn check_triggers(window: &pancurses::Window, world:&World, world_map: &mut Vec, collision_map: &mut Vec, x:usize, y:usize, config: Config, vars: &mut Vec) -> (u8, String) { [INFO] [stderr] 474 | | let mut return_data: (u8, String) = (0,"".to_string()); [INFO] [stderr] 475 | | for i in world.triggers.iter() { //Iterate trough triggers to check if a events must be ran [INFO] [stderr] 476 | | if i.0==x&&i.1==y&&i.3==0 { [INFO] [stderr] ... | [INFO] [stderr] 480 | | return_data [INFO] [stderr] 481 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/main.rs:482:1 [INFO] [stderr] | [INFO] [stderr] 482 | / fn check_init_triggers(window: &pancurses::Window, world:&World, world_map: &mut Vec, collision_map: &mut Vec, x:usize, y:usize, config: Config, vars: &mut Vec) -> (u8, String) { [INFO] [stderr] 483 | | let mut return_data: (u8, String) = (0,"".to_string()); [INFO] [stderr] 484 | | for i in world.triggers.iter() { //Iterate trough triggers to check if a events must be ran [INFO] [stderr] 485 | | if i.3==2 { [INFO] [stderr] ... | [INFO] [stderr] 489 | | return_data [INFO] [stderr] 490 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [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/main.rs:491:53 [INFO] [stderr] | [INFO] [stderr] 491 | fn check_collision(x:usize, y:usize, collision_map: &Vec)-> bool{ //Check for collisions [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [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: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/main.rs:493:4 [INFO] [stderr] | [INFO] [stderr] 493 | / if line[x]==0{ [INFO] [stderr] 494 | | true [INFO] [stderr] 495 | | } else { [INFO] [stderr] 496 | | false [INFO] [stderr] 497 | | } [INFO] [stderr] | |____^ help: you can reduce it to: `line[x]==0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [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/main.rs:499:26 [INFO] [stderr] | [INFO] [stderr] 499 | fn get_line_count(world: &Vec) -> u32 { //Get the lines of the map [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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/main.rs:506:30 [INFO] [stderr] | [INFO] [stderr] 506 | fn get_collision_line(world: &Vec, line_number: u32)-> Vec{ //Get a Vector of a line in the collision_map [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [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/main.rs:564:46 [INFO] [stderr] | [INFO] [stderr] 564 | fn render(window: &pancurses::Window,world: &Vec, line_number: u32, x:usize, y:usize, char_map: &Vec, character_char: char, message: String) { //Render the map [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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/main.rs:564:103 [INFO] [stderr] | [INFO] [stderr] 564 | fn render(window: &pancurses::Window,world: &Vec, line_number: u32, x:usize, y:usize, char_map: &Vec, character_char: char, message: String) { //Render the map [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[char]` [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 function has too many arguments (8/7) [INFO] [stderr] --> src/main.rs:564:2 [INFO] [stderr] | [INFO] [stderr] 564 | / fn render(window: &pancurses::Window,world: &Vec, line_number: u32, x:usize, y:usize, char_map: &Vec, character_char: char, message: String) { //Render the map [INFO] [stderr] 565 | | window.clear(); [INFO] [stderr] 566 | | for i in 0..line_number { [INFO] [stderr] 567 | | let line = get_line(world.to_vec(), i); [INFO] [stderr] ... | [INFO] [stderr] 579 | | window.printw(message); [INFO] [stderr] 580 | | } [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `legend`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "0503c7ec9400a8ec82d0e38470dde8abfa5dcaa868a9326ffa3fa6b229fa4d3c"` [INFO] running `"docker" "rm" "-f" "0503c7ec9400a8ec82d0e38470dde8abfa5dcaa868a9326ffa3fa6b229fa4d3c"` [INFO] [stdout] 0503c7ec9400a8ec82d0e38470dde8abfa5dcaa868a9326ffa3fa6b229fa4d3c