[INFO] updating cached repository cssivision/ytdl [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/cssivision/ytdl [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/cssivision/ytdl" "work/ex/clippy-test-run/sources/stable/gh/cssivision/ytdl"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/cssivision/ytdl'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/cssivision/ytdl" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/cssivision/ytdl"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/cssivision/ytdl'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9532005e16cd0cd05cded52e3b4919ff6881e648 [INFO] sha for GitHub repo cssivision/ytdl: 9532005e16cd0cd05cded52e3b4919ff6881e648 [INFO] validating manifest of cssivision/ytdl 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 cssivision/ytdl 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 cssivision/ytdl [INFO] finished frobbing cssivision/ytdl [INFO] frobbed toml for cssivision/ytdl written to work/ex/clippy-test-run/sources/stable/gh/cssivision/ytdl/Cargo.toml [INFO] started frobbing cssivision/ytdl [INFO] finished frobbing cssivision/ytdl [INFO] frobbed toml for cssivision/ytdl written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/cssivision/ytdl/Cargo.toml [INFO] crate cssivision/ytdl 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 cssivision/ytdl 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/cssivision/ytdl:/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] b2ee53691d4ab610825ff418653ee47b6d762de1563ff7b8cc0211cb1566b31d [INFO] running `"docker" "start" "-a" "b2ee53691d4ab610825ff418653ee47b6d762de1563ff7b8cc0211cb1566b31d"` [INFO] [stderr] Compiling openssl v0.9.14 [INFO] [stderr] Checking iovec v0.1.0 [INFO] [stderr] Checking memchr v1.0.1 [INFO] [stderr] Checking libflate v0.1.9 [INFO] [stderr] Checking net2 v0.2.29 [INFO] [stderr] Checking futures-cpupool v0.1.5 [INFO] [stderr] Checking clap v2.25.1 [INFO] [stderr] Checking backtrace-sys v0.1.12 [INFO] [stderr] Checking serde_urlencoded v0.5.1 [INFO] [stderr] Checking env-variables v0.1.1 [INFO] [stderr] Checking pbr v1.0.0 [INFO] [stderr] Checking backtrace v0.3.2 [INFO] [stderr] Checking aho-corasick v0.6.3 [INFO] [stderr] Checking bytes v0.4.4 [INFO] [stderr] Checking mio v0.6.9 [INFO] [stderr] Checking error-chain v0.10.0 [INFO] [stderr] Checking regex v0.2.2 [INFO] [stderr] Checking tokio-io v0.1.2 [INFO] [stderr] Checking tokio-core v0.1.8 [INFO] [stderr] Checking tokio-proto v0.1.1 [INFO] [stderr] Checking env_logger v0.4.3 [INFO] [stderr] Checking native-tls v0.1.4 [INFO] [stderr] Checking tokio-tls v0.1.3 [INFO] [stderr] Checking hyper v0.11.1 [INFO] [stderr] Checking hyper-tls v0.1.2 [INFO] [stderr] Checking reqwest v0.7.0 [INFO] [stderr] Checking ytdl v0.1.5 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/video_info.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | / return parse_query [INFO] [stderr] 183 | | .into_owned() [INFO] [stderr] 184 | | .collect::>(); [INFO] [stderr] | |______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 182 | parse_query [INFO] [stderr] 183 | .into_owned() [INFO] [stderr] 184 | .collect::>() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/video_info.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 182 | / return parse_query [INFO] [stderr] 183 | | .into_owned() [INFO] [stderr] 184 | | .collect::>(); [INFO] [stderr] | |______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 182 | parse_query [INFO] [stderr] 183 | .into_owned() [INFO] [stderr] 184 | .collect::>() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/video_info.rs:74:43 [INFO] [stderr] | [INFO] [stderr] 74 | let path = u.path().trim_left_matches("/"); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/video_info.rs:75:8 [INFO] [stderr] | [INFO] [stderr] 75 | if path.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!path.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/video_info.rs:130:46 [INFO] [stderr] | [INFO] [stderr] 130 | video_info.keywords = keywords.split(",").map(|s| s.to_string()).collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/video_info.rs:137:53 [INFO] [stderr] | [INFO] [stderr] 137 | format_strings.append(&mut fmt_stream.split(",").collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/video_info.rs:141:56 [INFO] [stderr] | [INFO] [stderr] 141 | format_strings.append(&mut adaptive_fmts.split(",").collect()); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/format.rs:597:9 [INFO] [stderr] | [INFO] [stderr] 597 | FORMATS.get(&itag).map(|f| f.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `FORMATS.get(&itag).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/format.rs:616:68 [INFO] [stderr] | [INFO] [stderr] 616 | FormatValue::String(v) => v.trim_right_matches("p").to_string(), [INFO] [stderr] | ^^^ help: try using a char instead: `'p'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/format.rs:621:68 [INFO] [stderr] | [INFO] [stderr] 621 | FormatValue::String(v) => v.trim_right_matches("p").to_string(), [INFO] [stderr] | ^^^ help: try using a char instead: `'p'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/format_list.rs:9:33 [INFO] [stderr] | [INFO] [stderr] 9 | fn filter(&self, key: &str, &Vec<&str>) -> Self; [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: useless use of `format!` [INFO] [stderr] --> src/format_list.rs:61:47 [INFO] [stderr] | [INFO] [stderr] 61 | FormatValue::String(s) => format!("{}", s), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using .to_string(): `s.to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/format_list.rs:62:45 [INFO] [stderr] | [INFO] [stderr] 62 | FormatValue::Default => format!(""), [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/format_list.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | if value == format!("{}", v) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using .to_string(): `v.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: using `println!("")` [INFO] [stderr] --> src/bin/main.rs:265:5 [INFO] [stderr] | [INFO] [stderr] 265 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/bin/main.rs:265:5 [INFO] [stderr] | [INFO] [stderr] 265 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/video_info.rs:74:43 [INFO] [stderr] | [INFO] [stderr] 74 | let path = u.path().trim_left_matches("/"); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/video_info.rs:75:8 [INFO] [stderr] | [INFO] [stderr] 75 | if path.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!path.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/video_info.rs:130:46 [INFO] [stderr] | [INFO] [stderr] 130 | video_info.keywords = keywords.split(",").map(|s| s.to_string()).collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/video_info.rs:137:53 [INFO] [stderr] | [INFO] [stderr] 137 | format_strings.append(&mut fmt_stream.split(",").collect()) [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/video_info.rs:141:56 [INFO] [stderr] | [INFO] [stderr] 141 | format_strings.append(&mut adaptive_fmts.split(",").collect()); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/format.rs:597:9 [INFO] [stderr] | [INFO] [stderr] 597 | FORMATS.get(&itag).map(|f| f.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `FORMATS.get(&itag).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/format.rs:616:68 [INFO] [stderr] | [INFO] [stderr] 616 | FormatValue::String(v) => v.trim_right_matches("p").to_string(), [INFO] [stderr] | ^^^ help: try using a char instead: `'p'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/format.rs:621:68 [INFO] [stderr] | [INFO] [stderr] 621 | FormatValue::String(v) => v.trim_right_matches("p").to_string(), [INFO] [stderr] | ^^^ help: try using a char instead: `'p'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/format_list.rs:9:33 [INFO] [stderr] | [INFO] [stderr] 9 | fn filter(&self, key: &str, &Vec<&str>) -> Self; [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: useless use of `format!` [INFO] [stderr] --> src/format_list.rs:61:47 [INFO] [stderr] | [INFO] [stderr] 61 | FormatValue::String(s) => format!("{}", s), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using .to_string(): `s.to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/format_list.rs:62:45 [INFO] [stderr] | [INFO] [stderr] 62 | FormatValue::Default => format!(""), [INFO] [stderr] | ^^^^^^^^^^^ help: consider using .to_string(): `"".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/format_list.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | if value == format!("{}", v) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using .to_string(): `v.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/bin/main.rs:138:13 [INFO] [stderr] | [INFO] [stderr] 138 | format!("best"), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using .to_string(): `"best".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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/bin/main.rs:268:28 [INFO] [stderr] | [INFO] [stderr] 268 | fn filter_formats(filters: &Vec, formats: &FormatList) -> FormatList { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bin/main.rs:268:51 [INFO] [stderr] | [INFO] [stderr] 268 | fn filter_formats(filters: &Vec, formats: &FormatList) -> FormatList { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 269 | let mut formats = formats.clone(); [INFO] [stderr] | --------------- help: change `formats.clone()` to: `formats.to_owned()` [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: single-character string constant used as pattern [INFO] [stderr] --> src/bin/main.rs:285:50 [INFO] [stderr] | [INFO] [stderr] 285 | let split = filter_str.splitn(2, ":").collect::>(); [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/bin/main.rs:291:47 [INFO] [stderr] | [INFO] [stderr] 291 | let exclude = key.starts_with("!"); [INFO] [stderr] | ^^^ help: try using a char instead: `'!'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/bin/main.rs:300:44 [INFO] [stderr] | [INFO] [stderr] 300 | let mut vals = value.split(",").collect::>(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `vals`. [INFO] [stderr] --> src/bin/main.rs:301:26 [INFO] [stderr] | [INFO] [stderr] 301 | for i in 0..vals.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 301 | for in &mut vals { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/bin/main.rs:138:13 [INFO] [stderr] | [INFO] [stderr] 138 | format!("best"), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using .to_string(): `"best".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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/bin/main.rs:268:28 [INFO] [stderr] | [INFO] [stderr] 268 | fn filter_formats(filters: &Vec, formats: &FormatList) -> FormatList { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/bin/main.rs:268:51 [INFO] [stderr] | [INFO] [stderr] 268 | fn filter_formats(filters: &Vec, formats: &FormatList) -> FormatList { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 269 | let mut formats = formats.clone(); [INFO] [stderr] | --------------- help: change `formats.clone()` to: `formats.to_owned()` [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: single-character string constant used as pattern [INFO] [stderr] --> src/bin/main.rs:285:50 [INFO] [stderr] | [INFO] [stderr] 285 | let split = filter_str.splitn(2, ":").collect::>(); [INFO] [stderr] | ^^^ help: try using a char instead: `':'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/bin/main.rs:291:47 [INFO] [stderr] | [INFO] [stderr] 291 | let exclude = key.starts_with("!"); [INFO] [stderr] | ^^^ help: try using a char instead: `'!'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/bin/main.rs:300:44 [INFO] [stderr] | [INFO] [stderr] 300 | let mut vals = value.split(",").collect::>(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `vals`. [INFO] [stderr] --> src/bin/main.rs:301:26 [INFO] [stderr] | [INFO] [stderr] 301 | for i in 0..vals.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 301 | for in &mut vals { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 43.56s [INFO] running `"docker" "inspect" "b2ee53691d4ab610825ff418653ee47b6d762de1563ff7b8cc0211cb1566b31d"` [INFO] running `"docker" "rm" "-f" "b2ee53691d4ab610825ff418653ee47b6d762de1563ff7b8cc0211cb1566b31d"` [INFO] [stdout] b2ee53691d4ab610825ff418653ee47b6d762de1563ff7b8cc0211cb1566b31d