[INFO] cloning repository https://github.com/stefnotch/open-student-solution [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/stefnotch/open-student-solution" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstefnotch%2Fopen-student-solution", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstefnotch%2Fopen-student-solution'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] faaafc368b0b88973ca61c203239d217406bcded [INFO] linting stefnotch/open-student-solution against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstefnotch%2Fopen-student-solution" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/stefnotch/open-student-solution [INFO] finished tweaking git repo https://github.com/stefnotch/open-student-solution [INFO] tweaked toml for git repo https://github.com/stefnotch/open-student-solution written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/stefnotch/open-student-solution on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/stefnotch/open-student-solution already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded signal-hook v0.3.14 [INFO] [stderr] Downloaded proc-macro2 v1.0.40 [INFO] [stderr] Downloaded clipboard-win v4.4.1 [INFO] [stderr] Downloaded crossterm_winapi v0.8.0 [INFO] [stderr] Downloaded signal-hook-mio v0.2.3 [INFO] [stderr] Downloaded confy v0.4.0 [INFO] [stderr] Downloaded bytemuck v1.10.0 [INFO] [stderr] Downloaded inquire v0.2.1 [INFO] [stderr] Downloaded serde_derive v1.0.138 [INFO] [stderr] Downloaded arboard v2.1.1 [INFO] [stderr] Downloaded crossterm v0.24.0 [INFO] [stderr] Downloaded tui v0.18.0 [INFO] [stderr] Downloaded crossterm v0.21.0 [INFO] [stderr] Downloaded crossterm v0.23.2 [INFO] [stderr] Downloaded serde v1.0.138 [INFO] [stderr] Downloaded mio v0.8.4 [INFO] [stderr] Downloaded nix v0.22.3 [INFO] [stderr] Downloaded fs_extra v1.2.0 [INFO] [stderr] Downloaded directories v2.0.2 [INFO] [stderr] Downloaded newline-converter v0.2.0 [INFO] [stderr] Downloaded open v3.0.1 [INFO] [stderr] Downloaded crossterm_winapi v0.9.0 [INFO] [stderr] Downloaded x11rb v0.9.0 [INFO] [stderr] Downloaded tiff v0.6.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 31e7458cb8ec8b89849ecd4d4b43ea1f4a87019a2909ffca7862627072778959 [INFO] running `Command { std: "docker" "start" "-a" "31e7458cb8ec8b89849ecd4d4b43ea1f4a87019a2909ffca7862627072778959", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "31e7458cb8ec8b89849ecd4d4b43ea1f4a87019a2909ffca7862627072778959", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "31e7458cb8ec8b89849ecd4d4b43ea1f4a87019a2909ffca7862627072778959", kill_on_drop: false }` [INFO] [stdout] 31e7458cb8ec8b89849ecd4d4b43ea1f4a87019a2909ffca7862627072778959 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c6784ee37acc56fe5ac839737bfe98da6da3b8c4fa48de30c2fa1e5dcbf55bc1 [INFO] running `Command { std: "docker" "start" "-a" "c6784ee37acc56fe5ac839737bfe98da6da3b8c4fa48de30c2fa1e5dcbf55bc1", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling libc v0.2.126 [INFO] [stderr] Compiling proc-macro2 v1.0.40 [INFO] [stderr] Compiling quote v1.0.20 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Compiling unicode-ident v1.0.1 [INFO] [stderr] Compiling syn v1.0.98 [INFO] [stderr] Checking smallvec v1.9.0 [INFO] [stderr] Compiling signal-hook v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.3 [INFO] [stderr] Compiling crc32fast v1.3.2 [INFO] [stderr] Compiling serde_derive v1.0.138 [INFO] [stderr] Checking adler32 v1.2.0 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Compiling serde v1.0.138 [INFO] [stderr] Checking unicode-segmentation v1.9.0 [INFO] [stderr] Checking bytemuck v1.10.0 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking miniz_oxide v0.3.7 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking newline-converter v0.2.0 [INFO] [stderr] Checking cassowary v0.3.0 [INFO] [stderr] Checking deflate v0.8.6 [INFO] [stderr] Checking open v3.0.1 [INFO] [stderr] Checking fs_extra v1.2.0 [INFO] [stderr] Compiling lock_api v0.4.7 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Checking png v0.16.8 [INFO] [stderr] Checking signal-hook-registry v1.4.0 [INFO] [stderr] Checking mio v0.7.14 [INFO] [stderr] Checking mio v0.8.4 [INFO] [stderr] Checking parking_lot_core v0.8.5 [INFO] [stderr] Checking gethostname v0.2.3 [INFO] [stderr] Checking dirs-sys v0.3.7 [INFO] [stderr] Checking nix v0.22.3 [INFO] [stderr] Checking directories v2.0.2 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking crossterm v0.21.0 [INFO] [stderr] Checking crossterm v0.23.2 [INFO] [stderr] Checking crossterm v0.24.0 [INFO] [stderr] Checking image v0.23.14 [INFO] [stderr] Checking tui v0.18.0 [INFO] [stderr] Compiling thiserror-impl v1.0.31 [INFO] [stderr] Checking thiserror v1.0.31 [INFO] [stderr] Checking inquire v0.2.1 [INFO] [stderr] Checking x11rb v0.9.0 [INFO] [stderr] Checking arboard v2.1.1 [INFO] [stderr] Checking toml v0.5.9 [INFO] [stderr] Checking confy v0.4.0 [INFO] [stderr] Checking open-student-solution v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:75:35 [INFO] [stdout] | [INFO] [stdout] 75 | if output_dir.exists() && !output_dir.read_dir()?.next().is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `output_dir.read_dir()?.next().is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 40 | / match inquire::Select::new(&message, vec![OkCancel::Ok, OkCancel::Cancel]) [INFO] [stdout] 41 | | .prompt_skippable() [INFO] [stdout] 42 | | { [INFO] [stdout] 43 | | Ok(Some(OkCancel::Ok)) => { [INFO] [stdout] ... | [INFO] [stdout] 46 | | _ => (), [INFO] [stdout] 47 | | }; [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 40 ~ if let Ok(Some(OkCancel::Ok)) = inquire::Select::new(&message, vec![OkCancel::Ok, OkCancel::Cancel]) [INFO] [stdout] 41 + .prompt_skippable() { [INFO] [stdout] 42 + mat_nr = clipboard_text; [INFO] [stdout] 43 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | return Ok(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 220 - return Ok(None); [INFO] [stdout] 220 + Ok(None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:229:5 [INFO] [stdout] | [INFO] [stdout] 229 | return Ok(framework_dirs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 229 - return Ok(framework_dirs); [INFO] [stdout] 229 + Ok(framework_dirs) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `PDF` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | PDF(String, PathBuf), [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Pdf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/main.rs:313:6 [INFO] [stdout] | [INFO] [stdout] 313 | ) -> Box Fn(&'r str) -> Vec + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:312:15 [INFO] [stdout] | [INFO] [stdout] 312 | students: &'a Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 312 - students: &'a Vec, [INFO] [stdout] 312 + students: &'a [Student], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:372:13 [INFO] [stdout] | [INFO] [stdout] 372 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 372 - return None; [INFO] [stdout] 372 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:374:13 [INFO] [stdout] | [INFO] [stdout] 374 | / return Some(Student { [INFO] [stdout] 375 | | mat_nr: parts[2].to_string(), [INFO] [stdout] 376 | | first_name: parts[1].to_string(), [INFO] [stdout] 377 | | last_name: parts[0].to_string(), [INFO] [stdout] 378 | | }); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 374 ~ Some(Student { [INFO] [stdout] 375 + mat_nr: parts[2].to_string(), [INFO] [stdout] 376 + first_name: parts[1].to_string(), [INFO] [stdout] 377 + last_name: parts[0].to_string(), [INFO] [stdout] 378 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:75:35 [INFO] [stdout] | [INFO] [stdout] 75 | if output_dir.exists() && !output_dir.read_dir()?.next().is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `output_dir.read_dir()?.next().is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/main.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 40 | / match inquire::Select::new(&message, vec![OkCancel::Ok, OkCancel::Cancel]) [INFO] [stdout] 41 | | .prompt_skippable() [INFO] [stdout] 42 | | { [INFO] [stdout] 43 | | Ok(Some(OkCancel::Ok)) => { [INFO] [stdout] ... | [INFO] [stdout] 46 | | _ => (), [INFO] [stdout] 47 | | }; [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 40 ~ if let Ok(Some(OkCancel::Ok)) = inquire::Select::new(&message, vec![OkCancel::Ok, OkCancel::Cancel]) [INFO] [stdout] 41 + .prompt_skippable() { [INFO] [stdout] 42 + mat_nr = clipboard_text; [INFO] [stdout] 43 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 220 | return Ok(None); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 220 - return Ok(None); [INFO] [stdout] 220 + Ok(None) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:229:5 [INFO] [stdout] | [INFO] [stdout] 229 | return Ok(framework_dirs); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 229 - return Ok(framework_dirs); [INFO] [stdout] 229 + Ok(framework_dirs) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `PDF` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:279:5 [INFO] [stdout] | [INFO] [stdout] 279 | PDF(String, PathBuf), [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Pdf` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/main.rs:313:6 [INFO] [stdout] | [INFO] [stdout] 313 | ) -> Box Fn(&'r str) -> Vec + 'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:312:15 [INFO] [stdout] | [INFO] [stdout] 312 | students: &'a Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 312 - students: &'a Vec, [INFO] [stdout] 312 + students: &'a [Student], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:372:13 [INFO] [stdout] | [INFO] [stdout] 372 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 372 - return None; [INFO] [stdout] 372 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:374:13 [INFO] [stdout] | [INFO] [stdout] 374 | / return Some(Student { [INFO] [stdout] 375 | | mat_nr: parts[2].to_string(), [INFO] [stdout] 376 | | first_name: parts[1].to_string(), [INFO] [stdout] 377 | | last_name: parts[0].to_string(), [INFO] [stdout] 378 | | }); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 374 ~ Some(Student { [INFO] [stdout] 375 + mat_nr: parts[2].to_string(), [INFO] [stdout] 376 + first_name: parts[1].to_string(), [INFO] [stdout] 377 + last_name: parts[0].to_string(), [INFO] [stdout] 378 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/main.rs:394:9 [INFO] [stdout] | [INFO] [stdout] 394 | assert_eq!(is_mat_nr("2"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 394 - assert_eq!(is_mat_nr("2"), false); [INFO] [stdout] 394 + assert!(!is_mat_nr("2")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/main.rs:395:9 [INFO] [stdout] | [INFO] [stdout] 395 | assert_eq!(is_mat_nr("02"), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 395 - assert_eq!(is_mat_nr("02"), false); [INFO] [stdout] 395 + assert!(!is_mat_nr("02")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/main.rs:396:9 [INFO] [stdout] | [INFO] [stdout] 396 | assert_eq!(is_mat_nr("25222522"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 396 - assert_eq!(is_mat_nr("25222522"), true); [INFO] [stdout] 396 + assert!(is_mat_nr("25222522")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/main.rs:397:9 [INFO] [stdout] | [INFO] [stdout] 397 | assert_eq!(is_mat_nr("01234567"), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 397 - assert_eq!(is_mat_nr("01234567"), true); [INFO] [stdout] 397 + assert!(is_mat_nr("01234567")); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.02s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: fs_extra v1.2.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "c6784ee37acc56fe5ac839737bfe98da6da3b8c4fa48de30c2fa1e5dcbf55bc1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c6784ee37acc56fe5ac839737bfe98da6da3b8c4fa48de30c2fa1e5dcbf55bc1", kill_on_drop: false }` [INFO] [stdout] c6784ee37acc56fe5ac839737bfe98da6da3b8c4fa48de30c2fa1e5dcbf55bc1