[INFO] updating cached repository FauxFaux/unsnap [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/FauxFaux/unsnap [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/FauxFaux/unsnap" "work/ex/clippy-test-run/sources/stable/gh/FauxFaux/unsnap"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/FauxFaux/unsnap'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/FauxFaux/unsnap" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/FauxFaux/unsnap"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/FauxFaux/unsnap'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 54974de1ea98c4b7a5457478b57944f1c5f92b9c [INFO] sha for GitHub repo FauxFaux/unsnap: 54974de1ea98c4b7a5457478b57944f1c5f92b9c [INFO] validating manifest of FauxFaux/unsnap 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 FauxFaux/unsnap 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 FauxFaux/unsnap [INFO] finished frobbing FauxFaux/unsnap [INFO] frobbed toml for FauxFaux/unsnap written to work/ex/clippy-test-run/sources/stable/gh/FauxFaux/unsnap/Cargo.toml [INFO] started frobbing FauxFaux/unsnap [INFO] finished frobbing FauxFaux/unsnap [INFO] frobbed toml for FauxFaux/unsnap written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/FauxFaux/unsnap/Cargo.toml [INFO] crate FauxFaux/unsnap 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 FauxFaux/unsnap against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/FauxFaux/unsnap:/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] 4ef8cb8e556cff00db80dc6ad49489dd00e0a2cf217a21fccb67d8166cb49f61 [INFO] running `"docker" "start" "-a" "4ef8cb8e556cff00db80dc6ad49489dd00e0a2cf217a21fccb67d8166cb49f61"` [INFO] [stderr] Checking iowrap v0.1.2 [INFO] [stderr] Checking result v1.0.0 [INFO] [stderr] Checking subprocess v0.1.17 [INFO] [stderr] Checking number_prefix v0.2.8 [INFO] [stderr] Checking toml v0.4.10 [INFO] [stderr] Checking serde_urlencoded v0.5.4 [INFO] [stderr] Compiling serde_derive v1.0.81 [INFO] [stderr] Checking tokio-mockstream v1.1.0 [INFO] [stderr] Checking tokio-tls v0.2.0 [INFO] [stderr] Checking tokio-reactor v0.1.7 [INFO] [stderr] Checking tokio-threadpool v0.1.9 [INFO] [stderr] Checking tempfile v3.0.5 [INFO] [stderr] Checking pretty_env_logger v0.2.5 [INFO] [stderr] Checking time-parse v0.1.1 [INFO] [stderr] Checking quick-xml v0.13.1 [INFO] [stderr] Checking tokio-udp v0.1.3 [INFO] [stderr] Checking tokio-tcp v0.1.2 [INFO] [stderr] Checking tokio-uds v0.2.4 [INFO] [stderr] Checking tokio-fs v0.1.4 [INFO] [stderr] Checking tokio v0.1.13 [INFO] [stderr] Checking hyper v0.12.17 [INFO] [stderr] Checking tokio-core v0.1.17 [INFO] [stderr] Checking irc v0.13.6 [INFO] [stderr] Checking hyper-tls v0.3.1 [INFO] [stderr] Checking reqwest v0.9.5 [INFO] [stderr] Checking unsnap v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `twoway` [INFO] [stderr] --> src/titles/html.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use twoway; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/titles/mod.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | return e; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `e` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `twoway` [INFO] [stderr] --> src/titles/html.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use twoway; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/titles/mod.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | return e; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `e` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:9:33 [INFO] [stderr] | [INFO] [stderr] 9 | let data = resp.get("data").ok_or(format_err!("missing data"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("missing data"))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:17:27 [INFO] [stderr] | [INFO] [stderr] 17 | data.get("width").ok_or(format_err!("missing width"))?, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("missing width"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:18:28 [INFO] [stderr] | [INFO] [stderr] 18 | data.get("height").ok_or(format_err!("missing height"))? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("missing height"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:62:33 [INFO] [stderr] | [INFO] [stderr] 62 | let data = resp.get("data").ok_or(format_err!("missing data"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("missing data"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:67:10 [INFO] [stderr] | [INFO] [stderr] 67 | .ok_or(format_err!("missing title"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("missing title"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:72:10 [INFO] [stderr] | [INFO] [stderr] 72 | .ok_or(format_err!("no image count"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("no image count"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:77:10 [INFO] [stderr] | [INFO] [stderr] 77 | .ok_or(format_err!("no images"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("no images"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:92:39 [INFO] [stderr] | [INFO] [stderr] 92 | size += preferred_size(image).ok_or(format_err!("album image is missing size"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("album image is missing size"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:116:10 [INFO] [stderr] | [INFO] [stderr] 116 | .ok_or(format_err!("no link on embedded image"))?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("no link on embedded image"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/youtube.rs:23:10 [INFO] [stderr] | [INFO] [stderr] 23 | .ok_or(format_err!("unexpectedly empty items"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("unexpectedly empty items"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/youtube.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | .ok_or(format_err!("missing items"))? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("missing items"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/youtube.rs:25:39 [INFO] [stderr] | [INFO] [stderr] 25 | let snippet = data.get("snippet").ok_or(format_err!("snippet missing"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("snippet missing"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/youtube.rs:32:14 [INFO] [stderr] | [INFO] [stderr] 32 | .ok_or(format_err!("no content details"))? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("no content details"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/youtube.rs:48:10 [INFO] [stderr] | [INFO] [stderr] 48 | .ok_or(format_err!("expected a string"))?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("expected a string"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/webs.rs:95:20 [INFO] [stderr] | [INFO] [stderr] 95 | fn youtube_get<'s>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | / match message.command { [INFO] [stderr] 78 | | Command::PRIVMSG(ref dest, ref msg) => { [INFO] [stderr] 79 | | if let Some(nick) = message.source_nickname() { [INFO] [stderr] 80 | | process_msg(webs, nick, &msg, |s| { [INFO] [stderr] ... | [INFO] [stderr] 88 | | _ => (), [INFO] [stderr] 89 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 77 | if let Command::PRIVMSG(ref dest, ref msg) = message.command { [INFO] [stderr] 78 | if let Some(nick) = message.source_nickname() { [INFO] [stderr] 79 | process_msg(webs, nick, &msg, |s| { [INFO] [stderr] 80 | Ok(client [INFO] [stderr] 81 | .send_privmsg(dest, s) [INFO] [stderr] 82 | .with_context(|_| format_err!("replying to {:?}", dest))?) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/main.rs:81:24 [INFO] [stderr] | [INFO] [stderr] 81 | Ok(client [INFO] [stderr] | ________________________^ [INFO] [stderr] 82 | | .send_privmsg(dest, s) [INFO] [stderr] 83 | | .with_context(|_| format_err!("replying to {:?}", dest))?) [INFO] [stderr] | |_________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 81 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:9:33 [INFO] [stderr] | [INFO] [stderr] 9 | let data = resp.get("data").ok_or(format_err!("missing data"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("missing data"))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:17:27 [INFO] [stderr] | [INFO] [stderr] 17 | data.get("width").ok_or(format_err!("missing width"))?, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("missing width"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:18:28 [INFO] [stderr] | [INFO] [stderr] 18 | data.get("height").ok_or(format_err!("missing height"))? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("missing height"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:62:33 [INFO] [stderr] | [INFO] [stderr] 62 | let data = resp.get("data").ok_or(format_err!("missing data"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("missing data"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:67:10 [INFO] [stderr] | [INFO] [stderr] 67 | .ok_or(format_err!("missing title"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("missing title"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:72:10 [INFO] [stderr] | [INFO] [stderr] 72 | .ok_or(format_err!("no image count"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("no image count"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:77:10 [INFO] [stderr] | [INFO] [stderr] 77 | .ok_or(format_err!("no images"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("no images"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:92:39 [INFO] [stderr] | [INFO] [stderr] 92 | size += preferred_size(image).ok_or(format_err!("album image is missing size"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("album image is missing size"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/imgur.rs:116:10 [INFO] [stderr] | [INFO] [stderr] 116 | .ok_or(format_err!("no link on embedded image"))?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("no link on embedded image"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: The function/method `super::image` doesn't need a mutable reference [INFO] [stderr] --> src/titles/imgur.rs:285:26 [INFO] [stderr] | [INFO] [stderr] 285 | super::image(&mut ImgurTest {}, "TUgcjTQ").unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `super::image` doesn't need a mutable reference [INFO] [stderr] --> src/titles/imgur.rs:290:26 [INFO] [stderr] | [INFO] [stderr] 290 | super::image(&mut ImgurTest {}, "zEG4ULo").unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `super::image` doesn't need a mutable reference [INFO] [stderr] --> src/titles/imgur.rs:295:26 [INFO] [stderr] | [INFO] [stderr] 295 | super::image(&mut ImgurTest {}, "PmSOx4H").unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `super::image` doesn't need a mutable reference [INFO] [stderr] --> src/titles/imgur.rs:300:26 [INFO] [stderr] | [INFO] [stderr] 300 | super::image(&mut ImgurTest {}, "SRup0KZ").unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `super::gallery` doesn't need a mutable reference [INFO] [stderr] --> src/titles/imgur.rs:308:28 [INFO] [stderr] | [INFO] [stderr] 308 | super::gallery(&mut ImgurTest {}, "rTV6u").unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `super::gallery` doesn't need a mutable reference [INFO] [stderr] --> src/titles/imgur.rs:313:28 [INFO] [stderr] | [INFO] [stderr] 313 | super::gallery(&mut ImgurTest {}, "nRuZwtp").unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `super::gallery` doesn't need a mutable reference [INFO] [stderr] --> src/titles/imgur.rs:318:28 [INFO] [stderr] | [INFO] [stderr] 318 | super::gallery(&mut ImgurTest {}, "mk0v7").unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `super::tweet` doesn't need a mutable reference [INFO] [stderr] --> src/titles/twitter.rs:83:26 [INFO] [stderr] | [INFO] [stderr] 83 | super::tweet(&mut TwitterTest {}, "210462857140252672") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `super::tweet` doesn't need a mutable reference [INFO] [stderr] --> src/titles/twitter.rs:93:26 [INFO] [stderr] | [INFO] [stderr] 93 | super::tweet(&mut TwitterTest {}, "1015263010703544321") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/youtube.rs:23:10 [INFO] [stderr] | [INFO] [stderr] 23 | .ok_or(format_err!("unexpectedly empty items"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("unexpectedly empty items"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/youtube.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | .ok_or(format_err!("missing items"))? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("missing items"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/youtube.rs:25:39 [INFO] [stderr] | [INFO] [stderr] 25 | let snippet = data.get("snippet").ok_or(format_err!("snippet missing"))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("snippet missing"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/youtube.rs:32:14 [INFO] [stderr] | [INFO] [stderr] 32 | .ok_or(format_err!("no content details"))? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("no content details"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/titles/youtube.rs:48:10 [INFO] [stderr] | [INFO] [stderr] 48 | .ok_or(format_err!("expected a string"))?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format_err!("expected a string"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: The function/method `super::video` doesn't need a mutable reference [INFO] [stderr] --> src/titles/youtube.rs:112:26 [INFO] [stderr] | [INFO] [stderr] 112 | super::video(&mut YoutubeTest {}, "JwhjqdSPw5g") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/webs.rs:95:20 [INFO] [stderr] | [INFO] [stderr] 95 | fn youtube_get<'s>( [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/main.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | / match message.command { [INFO] [stderr] 78 | | Command::PRIVMSG(ref dest, ref msg) => { [INFO] [stderr] 79 | | if let Some(nick) = message.source_nickname() { [INFO] [stderr] 80 | | process_msg(webs, nick, &msg, |s| { [INFO] [stderr] ... | [INFO] [stderr] 88 | | _ => (), [INFO] [stderr] 89 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 77 | if let Command::PRIVMSG(ref dest, ref msg) = message.command { [INFO] [stderr] 78 | if let Some(nick) = message.source_nickname() { [INFO] [stderr] 79 | process_msg(webs, nick, &msg, |s| { [INFO] [stderr] 80 | Ok(client [INFO] [stderr] 81 | .send_privmsg(dest, s) [INFO] [stderr] 82 | .with_context(|_| format_err!("replying to {:?}", dest))?) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/main.rs:81:24 [INFO] [stderr] | [INFO] [stderr] 81 | Ok(client [INFO] [stderr] | ________________________^ [INFO] [stderr] 82 | | .send_privmsg(dest, s) [INFO] [stderr] 83 | | .with_context(|_| format_err!("replying to {:?}", dest))?) [INFO] [stderr] | |_________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 81 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 52.05s [INFO] running `"docker" "inspect" "4ef8cb8e556cff00db80dc6ad49489dd00e0a2cf217a21fccb67d8166cb49f61"` [INFO] running `"docker" "rm" "-f" "4ef8cb8e556cff00db80dc6ad49489dd00e0a2cf217a21fccb67d8166cb49f61"` [INFO] [stdout] 4ef8cb8e556cff00db80dc6ad49489dd00e0a2cf217a21fccb67d8166cb49f61