[INFO] updating cached repository fkajzer/ell-sem-18 [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/fkajzer/ell-sem-18 [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/fkajzer/ell-sem-18" "work/ex/clippy-test-run/sources/stable/gh/fkajzer/ell-sem-18"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/fkajzer/ell-sem-18'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/fkajzer/ell-sem-18" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fkajzer/ell-sem-18"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fkajzer/ell-sem-18'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 2440bbca562ca8ad7183e066c054ca294edd91aa [INFO] sha for GitHub repo fkajzer/ell-sem-18: 2440bbca562ca8ad7183e066c054ca294edd91aa [INFO] validating manifest of fkajzer/ell-sem-18 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 fkajzer/ell-sem-18 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 fkajzer/ell-sem-18 [INFO] finished frobbing fkajzer/ell-sem-18 [INFO] frobbed toml for fkajzer/ell-sem-18 written to work/ex/clippy-test-run/sources/stable/gh/fkajzer/ell-sem-18/Cargo.toml [INFO] started frobbing fkajzer/ell-sem-18 [INFO] finished frobbing fkajzer/ell-sem-18 [INFO] frobbed toml for fkajzer/ell-sem-18 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fkajzer/ell-sem-18/Cargo.toml [INFO] crate fkajzer/ell-sem-18 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 fkajzer/ell-sem-18 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/fkajzer/ell-sem-18:/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] 85cb99c3a8a05890e39afd621ea4d5fc6d9b1d3fd11087006b2dc27b37a6151c [INFO] running `"docker" "start" "-a" "85cb99c3a8a05890e39afd621ea4d5fc6d9b1d3fd11087006b2dc27b37a6151c"` [INFO] [stderr] Checking regex v1.0.5 [INFO] [stderr] Checking ell-sem-18 v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/formatter.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | caps [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/formatter.rs:36:16 [INFO] [stderr] | [INFO] [stderr] 36 | let caps = match YATV.is_match(file_info) { [INFO] [stderr] | ________________^ [INFO] [stderr] 37 | | true => YATV.captures(file_info).unwrap(), [INFO] [stderr] 38 | | false => match ATVY.is_match(file_info) { [INFO] [stderr] 39 | | true => ATVY.captures(file_info).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 53 | | } [INFO] [stderr] 54 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unused variable: `read_access` [INFO] [stderr] --> src/org_manager.rs:36:17 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn clean_up(read_access: &File, org_entries: &Vec, track_list: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_read_access` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/formatter.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | caps [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/formatter.rs:36:16 [INFO] [stderr] | [INFO] [stderr] 36 | let caps = match YATV.is_match(file_info) { [INFO] [stderr] | ________________^ [INFO] [stderr] 37 | | true => YATV.captures(file_info).unwrap(), [INFO] [stderr] 38 | | false => match ATVY.is_match(file_info) { [INFO] [stderr] 39 | | true => ATVY.captures(file_info).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 53 | | } [INFO] [stderr] 54 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: function is never used: `overwrite_org_file` [INFO] [stderr] --> src/fileaccessor.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn overwrite_org_file() -> fs::File { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:36:16 [INFO] [stderr] | [INFO] [stderr] 36 | let caps = match YATV.is_match(file_info) { [INFO] [stderr] | ________________^ [INFO] [stderr] 37 | | true => YATV.captures(file_info).unwrap(), [INFO] [stderr] 38 | | false => match ATVY.is_match(file_info) { [INFO] [stderr] 39 | | true => ATVY.captures(file_info).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 53 | | } [INFO] [stderr] 54 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 36 | let caps = if YATV.is_match(file_info) { YATV.captures(file_info).unwrap() } else { match ATVY.is_match(file_info) { [INFO] [stderr] 37 | true => ATVY.captures(file_info).unwrap(), [INFO] [stderr] 38 | false => match YAT.is_match(file_info) { [INFO] [stderr] 39 | true => YAT.captures(file_info).unwrap(), [INFO] [stderr] 40 | false => match ATY.is_match(file_info) { [INFO] [stderr] 41 | true => ATY.captures(file_info).unwrap(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:38:18 [INFO] [stderr] | [INFO] [stderr] 38 | false => match ATVY.is_match(file_info) { [INFO] [stderr] | __________________^ [INFO] [stderr] 39 | | true => ATVY.captures(file_info).unwrap(), [INFO] [stderr] 40 | | false => match YAT.is_match(file_info) { [INFO] [stderr] 41 | | true => YAT.captures(file_info).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 52 | | } [INFO] [stderr] 53 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 38 | false => if ATVY.is_match(file_info) { ATVY.captures(file_info).unwrap() } else { match YAT.is_match(file_info) { [INFO] [stderr] 39 | true => YAT.captures(file_info).unwrap(), [INFO] [stderr] 40 | false => match ATY.is_match(file_info) { [INFO] [stderr] 41 | true => ATY.captures(file_info).unwrap(), [INFO] [stderr] 42 | false => match ATV.is_match(file_info) { [INFO] [stderr] 43 | true => ATV.captures(file_info).unwrap(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:40:22 [INFO] [stderr] | [INFO] [stderr] 40 | false => match YAT.is_match(file_info) { [INFO] [stderr] | ______________________^ [INFO] [stderr] 41 | | true => YAT.captures(file_info).unwrap(), [INFO] [stderr] 42 | | false => match ATY.is_match(file_info) { [INFO] [stderr] 43 | | true => ATY.captures(file_info).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 51 | | } [INFO] [stderr] 52 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 40 | false => if YAT.is_match(file_info) { YAT.captures(file_info).unwrap() } else { match ATY.is_match(file_info) { [INFO] [stderr] 41 | true => ATY.captures(file_info).unwrap(), [INFO] [stderr] 42 | false => match ATV.is_match(file_info) { [INFO] [stderr] 43 | true => ATV.captures(file_info).unwrap(), [INFO] [stderr] 44 | false => match AT.is_match(file_info) { [INFO] [stderr] 45 | true => AT.captures(file_info).unwrap(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:42:26 [INFO] [stderr] | [INFO] [stderr] 42 | false => match ATY.is_match(file_info) { [INFO] [stderr] | __________________________^ [INFO] [stderr] 43 | | true => ATY.captures(file_info).unwrap(), [INFO] [stderr] 44 | | false => match ATV.is_match(file_info) { [INFO] [stderr] 45 | | true => ATV.captures(file_info).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 50 | | } [INFO] [stderr] 51 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 42 | false => if ATY.is_match(file_info) { ATY.captures(file_info).unwrap() } else { match ATV.is_match(file_info) { [INFO] [stderr] 43 | true => ATV.captures(file_info).unwrap(), [INFO] [stderr] 44 | false => match AT.is_match(file_info) { [INFO] [stderr] 45 | true => AT.captures(file_info).unwrap(), [INFO] [stderr] 46 | false => T.captures(file_info).unwrap() [INFO] [stderr] 47 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:44:30 [INFO] [stderr] | [INFO] [stderr] 44 | false => match ATV.is_match(file_info) { [INFO] [stderr] | ______________________________^ [INFO] [stderr] 45 | | true => ATV.captures(file_info).unwrap(), [INFO] [stderr] 46 | | false => match AT.is_match(file_info) { [INFO] [stderr] 47 | | true => AT.captures(file_info).unwrap(), [INFO] [stderr] 48 | | false => T.captures(file_info).unwrap() [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 44 | false => if ATV.is_match(file_info) { ATV.captures(file_info).unwrap() } else { match AT.is_match(file_info) { [INFO] [stderr] 45 | true => AT.captures(file_info).unwrap(), [INFO] [stderr] 46 | false => T.captures(file_info).unwrap() [INFO] [stderr] 47 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:46:34 [INFO] [stderr] | [INFO] [stderr] 46 | false => match AT.is_match(file_info) { [INFO] [stderr] | __________________________________^ [INFO] [stderr] 47 | | true => AT.captures(file_info).unwrap(), [INFO] [stderr] 48 | | false => T.captures(file_info).unwrap() [INFO] [stderr] 49 | | } [INFO] [stderr] | |_________________________^ help: consider using an if/else expression: `if AT.is_match(file_info) { AT.captures(file_info).unwrap() } else { T.captures(file_info).unwrap() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:75:24 [INFO] [stderr] | [INFO] [stderr] 75 | track.author = match AUTHOR_SHORT.is_match(&track.author) { [INFO] [stderr] | ________________________^ [INFO] [stderr] 76 | | true => { [INFO] [stderr] 77 | | let caps = AUTHOR_SHORT.captures(&track.author).unwrap(); [INFO] [stderr] 78 | | track.author_plus = String::from(&caps["author_plus"]); [INFO] [stderr] ... | [INFO] [stderr] 82 | | false => original_val [INFO] [stderr] 83 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 75 | track.author = if AUTHOR_SHORT.is_match(&track.author) { [INFO] [stderr] 76 | let caps = AUTHOR_SHORT.captures(&track.author).unwrap(); [INFO] [stderr] 77 | track.author_plus = String::from(&caps["author_plus"]); [INFO] [stderr] 78 | [INFO] [stderr] 79 | String::from(&caps["author"]) + "_" [INFO] [stderr] 80 | } else { original_val }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:88:23 [INFO] [stderr] | [INFO] [stderr] 88 | track.title = match TITLE_SHORT.is_match(&track.title) { [INFO] [stderr] | _______________________^ [INFO] [stderr] 89 | | true => { [INFO] [stderr] 90 | | let caps = TITLE_SHORT.captures(&track.title).unwrap(); [INFO] [stderr] 91 | | track.title_plus = String::from(&caps["title_plus"]); [INFO] [stderr] ... | [INFO] [stderr] 95 | | false => original_val [INFO] [stderr] 96 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 88 | track.title = if TITLE_SHORT.is_match(&track.title) { [INFO] [stderr] 89 | let caps = TITLE_SHORT.captures(&track.title).unwrap(); [INFO] [stderr] 90 | track.title_plus = String::from(&caps["title_plus"]); [INFO] [stderr] 91 | [INFO] [stderr] 92 | String::from(&caps["title"]) + "_" [INFO] [stderr] 93 | } else { original_val }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:101:25 [INFO] [stderr] | [INFO] [stderr] 101 | track.version = match VERSION_SHORT.is_match(&track.version) { [INFO] [stderr] | _________________________^ [INFO] [stderr] 102 | | true => { [INFO] [stderr] 103 | | let caps = TITLE_SHORT.captures(&track.version).unwrap(); [INFO] [stderr] 104 | | track.version_plus = String::from(&caps["version_plus"]); [INFO] [stderr] ... | [INFO] [stderr] 108 | | false => original_val [INFO] [stderr] 109 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 101 | track.version = if VERSION_SHORT.is_match(&track.version) { [INFO] [stderr] 102 | let caps = TITLE_SHORT.captures(&track.version).unwrap(); [INFO] [stderr] 103 | track.version_plus = String::from(&caps["version_plus"]); [INFO] [stderr] 104 | [INFO] [stderr] 105 | String::from(&caps["version"]) + "_" [INFO] [stderr] 106 | } else { original_val }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/formatter.rs:135:24 [INFO] [stderr] | [INFO] [stderr] 135 | track.short_name = String::from(short_name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `short_name` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/formatter.rs:141:14 [INFO] [stderr] | [INFO] [stderr] 141 | _ => String::from(file_info[index].to_owned()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `file_info[index].to_owned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/fileaccessor.rs:7:26 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn rename(file_name: &String, target_folder: String, new_name: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/fileaccessor.rs:7:68 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn rename(file_name: &String, target_folder: String, new_name: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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: use of `expect` followed by a function call [INFO] [stderr] --> src/fileaccessor.rs:11:10 [INFO] [stderr] | [INFO] [stderr] 11 | .expect(&format!("Something went wrong when renaming {} -> {}", [INFO] [stderr] | __________^ [INFO] [stderr] 12 | | file_name, new_name [INFO] [stderr] 13 | | )); [INFO] [stderr] | |__________^ help: try this: `unwrap_or_else(|_| panic!("Something went wrong when renaming {} -> {}", file_name))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/fileaccessor.rs:18:10 [INFO] [stderr] | [INFO] [stderr] 18 | .expect(&format!("Error when creating FOLDER {}", ORG_DIR)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Error when creating FOLDER {}", ORG_DIR))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/fileaccessor.rs:29:10 [INFO] [stderr] | [INFO] [stderr] 29 | .expect(&format!("Error when creating FOLDER {}", ORG_DIR)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Error when creating FOLDER {}", ORG_DIR))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/fileaccessor.rs:41:10 [INFO] [stderr] | [INFO] [stderr] 41 | .expect(&format!("Error when creating FOLDER {}", folder)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Error when creating FOLDER {}", folder))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [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/org_manager.rs:36:50 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn clean_up(read_access: &File, org_entries: &Vec, track_list: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [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/org_manager.rs:36:76 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn clean_up(read_access: &File, org_entries: &Vec, track_list: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Track]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/org_manager.rs:39:51 [INFO] [stderr] | [INFO] [stderr] 39 | let flat_track_list: Vec = track_list.into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/org_manager.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | / match deletion_counter == 0 { [INFO] [stderr] 78 | | true => println!("org_manager: No changes detected when scanning existing ORG_ENTRIES!"), [INFO] [stderr] 79 | | false => println!("org_manager: {} Entries have been removed!", deletion_counter), [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if deletion_counter == 0 { println!("org_manager: No changes detected when scanning existing ORG_ENTRIES!") } else { println!("org_manager: {} Entries have been removed!", deletion_counter) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/org_entry.rs:34:53 [INFO] [stderr] | [INFO] [stderr] 34 | fn get_or_empty(prefix: String, tabs: &str, string: &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/org_entry.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | / match string.is_empty(){ [INFO] [stderr] 36 | | true => String::new(), [INFO] [stderr] 37 | | false => format!(":{}: {}{}\n", prefix, tabs, string) [INFO] [stderr] 38 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if string.is_empty() { String::new() } else { format!(":{}: {}{}\n", prefix, tabs, string) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/main.rs:31:40 [INFO] [stderr] | [INFO] [stderr] 31 | |n| n.to_str().map(|s| String::from(SOURCE_FOLDER.to_owned() + "/" + s))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `SOURCE_FOLDER.to_owned() + "/" + s` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | / match org_add_counter == 0 { [INFO] [stderr] 70 | | true => println!("org_manager: ORG_ENTRIES up to date!"), [INFO] [stderr] 71 | | false => println!("org_manager: {} Entries have been added!", org_add_counter), [INFO] [stderr] 72 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if org_add_counter == 0 { println!("org_manager: ORG_ENTRIES up to date!") } else { println!("org_manager: {} Entries have been added!", org_add_counter) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/main.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / fs::read_dir(path)? [INFO] [stderr] 85 | | .into_iter() [INFO] [stderr] | |____________________^ help: consider removing `.into_iter()`: `fs::read_dir(path)?` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: unused variable: `read_access` [INFO] [stderr] --> src/org_manager.rs:36:17 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn clean_up(read_access: &File, org_entries: &Vec, track_list: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_read_access` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `overwrite_org_file` [INFO] [stderr] --> src/fileaccessor.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn overwrite_org_file() -> fs::File { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:36:16 [INFO] [stderr] | [INFO] [stderr] 36 | let caps = match YATV.is_match(file_info) { [INFO] [stderr] | ________________^ [INFO] [stderr] 37 | | true => YATV.captures(file_info).unwrap(), [INFO] [stderr] 38 | | false => match ATVY.is_match(file_info) { [INFO] [stderr] 39 | | true => ATVY.captures(file_info).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 53 | | } [INFO] [stderr] 54 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 36 | let caps = if YATV.is_match(file_info) { YATV.captures(file_info).unwrap() } else { match ATVY.is_match(file_info) { [INFO] [stderr] 37 | true => ATVY.captures(file_info).unwrap(), [INFO] [stderr] 38 | false => match YAT.is_match(file_info) { [INFO] [stderr] 39 | true => YAT.captures(file_info).unwrap(), [INFO] [stderr] 40 | false => match ATY.is_match(file_info) { [INFO] [stderr] 41 | true => ATY.captures(file_info).unwrap(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:38:18 [INFO] [stderr] | [INFO] [stderr] 38 | false => match ATVY.is_match(file_info) { [INFO] [stderr] | __________________^ [INFO] [stderr] 39 | | true => ATVY.captures(file_info).unwrap(), [INFO] [stderr] 40 | | false => match YAT.is_match(file_info) { [INFO] [stderr] 41 | | true => YAT.captures(file_info).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 52 | | } [INFO] [stderr] 53 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 38 | false => if ATVY.is_match(file_info) { ATVY.captures(file_info).unwrap() } else { match YAT.is_match(file_info) { [INFO] [stderr] 39 | true => YAT.captures(file_info).unwrap(), [INFO] [stderr] 40 | false => match ATY.is_match(file_info) { [INFO] [stderr] 41 | true => ATY.captures(file_info).unwrap(), [INFO] [stderr] 42 | false => match ATV.is_match(file_info) { [INFO] [stderr] 43 | true => ATV.captures(file_info).unwrap(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:40:22 [INFO] [stderr] | [INFO] [stderr] 40 | false => match YAT.is_match(file_info) { [INFO] [stderr] | ______________________^ [INFO] [stderr] 41 | | true => YAT.captures(file_info).unwrap(), [INFO] [stderr] 42 | | false => match ATY.is_match(file_info) { [INFO] [stderr] 43 | | true => ATY.captures(file_info).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 51 | | } [INFO] [stderr] 52 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 40 | false => if YAT.is_match(file_info) { YAT.captures(file_info).unwrap() } else { match ATY.is_match(file_info) { [INFO] [stderr] 41 | true => ATY.captures(file_info).unwrap(), [INFO] [stderr] 42 | false => match ATV.is_match(file_info) { [INFO] [stderr] 43 | true => ATV.captures(file_info).unwrap(), [INFO] [stderr] 44 | false => match AT.is_match(file_info) { [INFO] [stderr] 45 | true => AT.captures(file_info).unwrap(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:42:26 [INFO] [stderr] | [INFO] [stderr] 42 | false => match ATY.is_match(file_info) { [INFO] [stderr] | __________________________^ [INFO] [stderr] 43 | | true => ATY.captures(file_info).unwrap(), [INFO] [stderr] 44 | | false => match ATV.is_match(file_info) { [INFO] [stderr] 45 | | true => ATV.captures(file_info).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 50 | | } [INFO] [stderr] 51 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 42 | false => if ATY.is_match(file_info) { ATY.captures(file_info).unwrap() } else { match ATV.is_match(file_info) { [INFO] [stderr] 43 | true => ATV.captures(file_info).unwrap(), [INFO] [stderr] 44 | false => match AT.is_match(file_info) { [INFO] [stderr] 45 | true => AT.captures(file_info).unwrap(), [INFO] [stderr] 46 | false => T.captures(file_info).unwrap() [INFO] [stderr] 47 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:44:30 [INFO] [stderr] | [INFO] [stderr] 44 | false => match ATV.is_match(file_info) { [INFO] [stderr] | ______________________________^ [INFO] [stderr] 45 | | true => ATV.captures(file_info).unwrap(), [INFO] [stderr] 46 | | false => match AT.is_match(file_info) { [INFO] [stderr] 47 | | true => AT.captures(file_info).unwrap(), [INFO] [stderr] 48 | | false => T.captures(file_info).unwrap() [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 44 | false => if ATV.is_match(file_info) { ATV.captures(file_info).unwrap() } else { match AT.is_match(file_info) { [INFO] [stderr] 45 | true => AT.captures(file_info).unwrap(), [INFO] [stderr] 46 | false => T.captures(file_info).unwrap() [INFO] [stderr] 47 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:46:34 [INFO] [stderr] | [INFO] [stderr] 46 | false => match AT.is_match(file_info) { [INFO] [stderr] | __________________________________^ [INFO] [stderr] 47 | | true => AT.captures(file_info).unwrap(), [INFO] [stderr] 48 | | false => T.captures(file_info).unwrap() [INFO] [stderr] 49 | | } [INFO] [stderr] | |_________________________^ help: consider using an if/else expression: `if AT.is_match(file_info) { AT.captures(file_info).unwrap() } else { T.captures(file_info).unwrap() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:75:24 [INFO] [stderr] | [INFO] [stderr] 75 | track.author = match AUTHOR_SHORT.is_match(&track.author) { [INFO] [stderr] | ________________________^ [INFO] [stderr] 76 | | true => { [INFO] [stderr] 77 | | let caps = AUTHOR_SHORT.captures(&track.author).unwrap(); [INFO] [stderr] 78 | | track.author_plus = String::from(&caps["author_plus"]); [INFO] [stderr] ... | [INFO] [stderr] 82 | | false => original_val [INFO] [stderr] 83 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 75 | track.author = if AUTHOR_SHORT.is_match(&track.author) { [INFO] [stderr] 76 | let caps = AUTHOR_SHORT.captures(&track.author).unwrap(); [INFO] [stderr] 77 | track.author_plus = String::from(&caps["author_plus"]); [INFO] [stderr] 78 | [INFO] [stderr] 79 | String::from(&caps["author"]) + "_" [INFO] [stderr] 80 | } else { original_val }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:88:23 [INFO] [stderr] | [INFO] [stderr] 88 | track.title = match TITLE_SHORT.is_match(&track.title) { [INFO] [stderr] | _______________________^ [INFO] [stderr] 89 | | true => { [INFO] [stderr] 90 | | let caps = TITLE_SHORT.captures(&track.title).unwrap(); [INFO] [stderr] 91 | | track.title_plus = String::from(&caps["title_plus"]); [INFO] [stderr] ... | [INFO] [stderr] 95 | | false => original_val [INFO] [stderr] 96 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 88 | track.title = if TITLE_SHORT.is_match(&track.title) { [INFO] [stderr] 89 | let caps = TITLE_SHORT.captures(&track.title).unwrap(); [INFO] [stderr] 90 | track.title_plus = String::from(&caps["title_plus"]); [INFO] [stderr] 91 | [INFO] [stderr] 92 | String::from(&caps["title"]) + "_" [INFO] [stderr] 93 | } else { original_val }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/formatter.rs:101:25 [INFO] [stderr] | [INFO] [stderr] 101 | track.version = match VERSION_SHORT.is_match(&track.version) { [INFO] [stderr] | _________________________^ [INFO] [stderr] 102 | | true => { [INFO] [stderr] 103 | | let caps = TITLE_SHORT.captures(&track.version).unwrap(); [INFO] [stderr] 104 | | track.version_plus = String::from(&caps["version_plus"]); [INFO] [stderr] ... | [INFO] [stderr] 108 | | false => original_val [INFO] [stderr] 109 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 101 | track.version = if VERSION_SHORT.is_match(&track.version) { [INFO] [stderr] 102 | let caps = TITLE_SHORT.captures(&track.version).unwrap(); [INFO] [stderr] 103 | track.version_plus = String::from(&caps["version_plus"]); [INFO] [stderr] 104 | [INFO] [stderr] 105 | String::from(&caps["version"]) + "_" [INFO] [stderr] 106 | } else { original_val }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/formatter.rs:135:24 [INFO] [stderr] | [INFO] [stderr] 135 | track.short_name = String::from(short_name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `short_name` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/formatter.rs:141:14 [INFO] [stderr] | [INFO] [stderr] 141 | _ => String::from(file_info[index].to_owned()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `file_info[index].to_owned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/fileaccessor.rs:7:26 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn rename(file_name: &String, target_folder: String, new_name: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/fileaccessor.rs:7:68 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn rename(file_name: &String, target_folder: String, new_name: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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: use of `expect` followed by a function call [INFO] [stderr] --> src/fileaccessor.rs:11:10 [INFO] [stderr] | [INFO] [stderr] 11 | .expect(&format!("Something went wrong when renaming {} -> {}", [INFO] [stderr] | __________^ [INFO] [stderr] 12 | | file_name, new_name [INFO] [stderr] 13 | | )); [INFO] [stderr] | |__________^ help: try this: `unwrap_or_else(|_| panic!("Something went wrong when renaming {} -> {}", file_name))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/fileaccessor.rs:18:10 [INFO] [stderr] | [INFO] [stderr] 18 | .expect(&format!("Error when creating FOLDER {}", ORG_DIR)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Error when creating FOLDER {}", ORG_DIR))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/fileaccessor.rs:29:10 [INFO] [stderr] | [INFO] [stderr] 29 | .expect(&format!("Error when creating FOLDER {}", ORG_DIR)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Error when creating FOLDER {}", ORG_DIR))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/fileaccessor.rs:41:10 [INFO] [stderr] | [INFO] [stderr] 41 | .expect(&format!("Error when creating FOLDER {}", folder)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| panic!("Error when creating FOLDER {}", folder))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [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/org_manager.rs:36:50 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn clean_up(read_access: &File, org_entries: &Vec, track_list: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [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/org_manager.rs:36:76 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn clean_up(read_access: &File, org_entries: &Vec, track_list: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Track]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/org_manager.rs:39:51 [INFO] [stderr] | [INFO] [stderr] 39 | let flat_track_list: Vec = track_list.into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/org_manager.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | / match deletion_counter == 0 { [INFO] [stderr] 78 | | true => println!("org_manager: No changes detected when scanning existing ORG_ENTRIES!"), [INFO] [stderr] 79 | | false => println!("org_manager: {} Entries have been removed!", deletion_counter), [INFO] [stderr] 80 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if deletion_counter == 0 { println!("org_manager: No changes detected when scanning existing ORG_ENTRIES!") } else { println!("org_manager: {} Entries have been removed!", deletion_counter) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/org_entry.rs:34:53 [INFO] [stderr] | [INFO] [stderr] 34 | fn get_or_empty(prefix: String, tabs: &str, string: &String) -> String { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/org_entry.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | / match string.is_empty(){ [INFO] [stderr] 36 | | true => String::new(), [INFO] [stderr] 37 | | false => format!(":{}: {}{}\n", prefix, tabs, string) [INFO] [stderr] 38 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if string.is_empty() { String::new() } else { format!(":{}: {}{}\n", prefix, tabs, string) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/main.rs:31:40 [INFO] [stderr] | [INFO] [stderr] 31 | |n| n.to_str().map(|s| String::from(SOURCE_FOLDER.to_owned() + "/" + s))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `SOURCE_FOLDER.to_owned() + "/" + s` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | / match org_add_counter == 0 { [INFO] [stderr] 70 | | true => println!("org_manager: ORG_ENTRIES up to date!"), [INFO] [stderr] 71 | | false => println!("org_manager: {} Entries have been added!", org_add_counter), [INFO] [stderr] 72 | | } [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if org_add_counter == 0 { println!("org_manager: ORG_ENTRIES up to date!") } else { println!("org_manager: {} Entries have been added!", org_add_counter) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/main.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / fs::read_dir(path)? [INFO] [stderr] 85 | | .into_iter() [INFO] [stderr] | |____________________^ help: consider removing `.into_iter()`: `fs::read_dir(path)?` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 5.05s [INFO] running `"docker" "inspect" "85cb99c3a8a05890e39afd621ea4d5fc6d9b1d3fd11087006b2dc27b37a6151c"` [INFO] running `"docker" "rm" "-f" "85cb99c3a8a05890e39afd621ea4d5fc6d9b1d3fd11087006b2dc27b37a6151c"` [INFO] [stdout] 85cb99c3a8a05890e39afd621ea4d5fc6d9b1d3fd11087006b2dc27b37a6151c