[INFO] updating cached repository PureW/rupert [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/PureW/rupert [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/PureW/rupert" "work/ex/clippy-test-run/sources/stable/gh/PureW/rupert"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/PureW/rupert'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/PureW/rupert" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/PureW/rupert"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/PureW/rupert'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 6685d5d039efc5cc702ecd2b9b6ab58da2624337 [INFO] sha for GitHub repo PureW/rupert: 6685d5d039efc5cc702ecd2b9b6ab58da2624337 [INFO] validating manifest of PureW/rupert 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 PureW/rupert 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 PureW/rupert [INFO] finished frobbing PureW/rupert [INFO] frobbed toml for PureW/rupert written to work/ex/clippy-test-run/sources/stable/gh/PureW/rupert/Cargo.toml [INFO] started frobbing PureW/rupert [INFO] finished frobbing PureW/rupert [INFO] frobbed toml for PureW/rupert written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/PureW/rupert/Cargo.toml [INFO] crate PureW/rupert 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 PureW/rupert against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/PureW/rupert:/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] 7a6536cca9c2ac2234df6fb67beb8edd83f7a65260d8f056a961d59316223594 [INFO] running `"docker" "start" "-a" "7a6536cca9c2ac2234df6fb67beb8edd83f7a65260d8f056a961d59316223594"` [INFO] [stderr] Checking rupert v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/lib.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Bytes` [INFO] [stderr] --> src/lib.rs:19:15 [INFO] [stderr] | [INFO] [stderr] 19 | use std::io::{Bytes, Read}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread::sleep` [INFO] [stderr] --> src/lib.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use std::thread::sleep; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/lib.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ChildStdout` [INFO] [stderr] --> src/lib.rs:24:43 [INFO] [stderr] | [INFO] [stderr] 24 | use std::process::{Command, Stdio, Child, ChildStdout}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `git2::Repository` [INFO] [stderr] --> src/lib.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | use git2::Repository; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `value` [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | use serde_json::{value, Value}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DirBuilder` [INFO] [stderr] --> src/utils/mod.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::fs::{DirBuilder, File, create_dir, read_dir, copy}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/utils/mod.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BuildStep` [INFO] [stderr] --> src/utils/mod.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use BuildStep; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PathBuf` [INFO] [stderr] --> src/utils/git.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `git2` [INFO] [stderr] --> src/utils/git.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use git2; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Oid` [INFO] [stderr] --> src/utils/git.rs:6:24 [INFO] [stderr] | [INFO] [stderr] 6 | use git2::{Repository, Oid}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/utils/mod.rs:19:22 [INFO] [stderr] | [INFO] [stderr] 19 | const FNAME_CONFIG: &'static str = "rupert-conf.toml"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/lib.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Bytes` [INFO] [stderr] --> src/lib.rs:19:15 [INFO] [stderr] | [INFO] [stderr] 19 | use std::io::{Bytes, Read}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::thread::sleep` [INFO] [stderr] --> src/lib.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use std::thread::sleep; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> src/lib.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ChildStdout` [INFO] [stderr] --> src/lib.rs:24:43 [INFO] [stderr] | [INFO] [stderr] 24 | use std::process::{Command, Stdio, Child, ChildStdout}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `git2::Repository` [INFO] [stderr] --> src/lib.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | use git2::Repository; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `value` [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | use serde_json::{value, Value}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DirBuilder` [INFO] [stderr] --> src/utils/mod.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::fs::{DirBuilder, File, create_dir, read_dir, copy}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/utils/mod.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BuildStep` [INFO] [stderr] --> src/utils/mod.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use BuildStep; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PathBuf` [INFO] [stderr] --> src/utils/git.rs:2:23 [INFO] [stderr] | [INFO] [stderr] 2 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `git2` [INFO] [stderr] --> src/utils/git.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use git2; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Oid` [INFO] [stderr] --> src/utils/git.rs:6:24 [INFO] [stderr] | [INFO] [stderr] 6 | use git2::{Repository, Oid}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/utils/mod.rs:19:22 [INFO] [stderr] | [INFO] [stderr] 19 | const FNAME_CONFIG: &'static str = "rupert-conf.toml"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::env::temp_dir` [INFO] [stderr] --> src/utils/mod.rs:156:9 [INFO] [stderr] | [INFO] [stderr] 156 | use std::env::temp_dir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::hash::Hasher` [INFO] [stderr] --> src/lib.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use std::hash::Hasher; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::hash::Hasher` [INFO] [stderr] --> src/lib.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use std::hash::Hasher; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output` [INFO] [stderr] --> src/utils/git.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | let output = Command::new("git") [INFO] [stderr] | ^^^^^^ help: consider using `_output` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `commit` [INFO] [stderr] --> src/lib.rs:266:35 [INFO] [stderr] | [INFO] [stderr] 266 | fn path_build(root: &PathBuf, commit: &str) -> PathBuf { [INFO] [stderr] | ^^^^^^ help: consider using `_commit` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `output` [INFO] [stderr] --> src/utils/git.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 79 | let output = Command::new("git") [INFO] [stderr] | ^^^^^^ help: consider using `_output` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `commit` [INFO] [stderr] --> src/lib.rs:266:35 [INFO] [stderr] | [INFO] [stderr] 266 | fn path_build(root: &PathBuf, commit: &str) -> PathBuf { [INFO] [stderr] | ^^^^^^ help: consider using `_commit` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/utils/mod.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | let mut raw: RawConfig = toml::from_str(&contents).chain_err( [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `path_root` [INFO] [stderr] --> src/lib.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | path_root: PathBuf, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `repo` [INFO] [stderr] --> src/lib.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | repo: git2::Repository, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `request` [INFO] [stderr] --> src/lib.rs:278:5 [INFO] [stderr] | [INFO] [stderr] 278 | request: BuildRequest, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `runner` [INFO] [stderr] --> src/lib.rs:279:5 [INFO] [stderr] | [INFO] [stderr] 279 | runner: Runner, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `build_instruction` [INFO] [stderr] --> src/lib.rs:280:5 [INFO] [stderr] | [INFO] [stderr] 280 | build_instruction: BuildInstruction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:45:14 [INFO] [stderr] | [INFO] [stderr] 45 | .ok_or(ErrorKind::ParseError( [INFO] [stderr] | ______________^ [INFO] [stderr] 46 | | format!("\"{}\" is not string", key).into(), [INFO] [stderr] 47 | | ))? [INFO] [stderr] | |______________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 45 | .ok_or_else(|| ErrorKind::ParseError( [INFO] [stderr] 46 | format!("\"{}\" is not string", key).into(), [INFO] [stderr] 47 | ))? [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:46:17 [INFO] [stderr] | [INFO] [stderr] 46 | format!("\"{}\" is not string", key).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `format!("\"{}\" is not string", key)` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:53:18 [INFO] [stderr] | [INFO] [stderr] 53 | val.get(key).ok_or( [INFO] [stderr] | __________________^ [INFO] [stderr] 54 | | ErrorKind::ParseError(format!("No \"{}\" in json", key).into()).into(), [INFO] [stderr] 55 | | ) [INFO] [stderr] | |_____^ help: try this: `ok_or_else(|| ErrorKind::ParseError(format!("No \"{}\" in json", key).into()).into())` [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: identical conversion [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:54:31 [INFO] [stderr] | [INFO] [stderr] 54 | ErrorKind::ParseError(format!("No \"{}\" in json", key).into()).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `format!("No \"{}\" in json", key)` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:59:20 [INFO] [stderr] | [INFO] [stderr] 59 | val.get(index).ok_or( [INFO] [stderr] | ____________________^ [INFO] [stderr] 60 | | ErrorKind::ParseError(format!("No \"{}\" in json", index).into()).into(), [INFO] [stderr] 61 | | ) [INFO] [stderr] | |_____^ help: try this: `ok_or_else(|| ErrorKind::ParseError(format!("No \"{}\" in json", index).into()).into())` [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: identical conversion [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:60:31 [INFO] [stderr] | [INFO] [stderr] 60 | ErrorKind::ParseError(format!("No \"{}\" in json", index).into()).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `format!("No \"{}\" in json", index)` [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: variable does not need to be mutable [INFO] [stderr] --> src/utils/mod.rs:111:9 [INFO] [stderr] | [INFO] [stderr] 111 | let mut raw: RawConfig = toml::from_str(&contents).chain_err( [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/utils/mod.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | / match self { [INFO] [stderr] 57 | | &TextOutput::Stdout(ref s) => write!(f, "{}", s), [INFO] [stderr] 58 | | &TextOutput::Stderr(ref s) => write!(f, "{}", Paint::red(s)), [INFO] [stderr] 59 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 56 | match *self { [INFO] [stderr] 57 | TextOutput::Stdout(ref s) => write!(f, "{}", s), [INFO] [stderr] 58 | TextOutput::Stderr(ref s) => write!(f, "{}", Paint::red(s)), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/utils/mod.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | / match self { [INFO] [stderr] 75 | | &BuildUpdates::Started => write!(f, "{}", Paint::yellow("Starting build")), [INFO] [stderr] 76 | | &BuildUpdates::StepStarted(ref s) => { [INFO] [stderr] 77 | | write!( [INFO] [stderr] ... | [INFO] [stderr] 96 | | &BuildUpdates::Finished => write!(f, "{}", Paint::yellow("Finished build")), [INFO] [stderr] 97 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 74 | match *self { [INFO] [stderr] 75 | BuildUpdates::Started => write!(f, "{}", Paint::yellow("Starting build")), [INFO] [stderr] 76 | BuildUpdates::StepStarted(ref s) => { [INFO] [stderr] 77 | write!( [INFO] [stderr] 78 | f, [INFO] [stderr] 79 | "{}", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/utils/mod.rs:103:21 [INFO] [stderr] | [INFO] [stderr] 103 | let path = path.unwrap_or(Path::new(FNAME_CONFIG).into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Path::new(FNAME_CONFIG).into())` [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/utils/mod.rs:131:38 [INFO] [stderr] | [INFO] [stderr] 131 | subdst.push(path.file_name().ok_or(format!( [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 132 | | "Could not get filename of {:?}", [INFO] [stderr] 133 | | path [INFO] [stderr] 134 | | ))?); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 131 | subdst.push(path.file_name().ok_or_else(|| format!( [INFO] [stderr] 132 | "Could not get filename of {:?}", [INFO] [stderr] 133 | path [INFO] [stderr] 134 | ))?); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field is never used: `path_root` [INFO] [stderr] --> src/lib.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | path_root: PathBuf, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `repo` [INFO] [stderr] --> src/lib.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | repo: git2::Repository, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `request` [INFO] [stderr] --> src/lib.rs:278:5 [INFO] [stderr] | [INFO] [stderr] 278 | request: BuildRequest, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `runner` [INFO] [stderr] --> src/lib.rs:279:5 [INFO] [stderr] | [INFO] [stderr] 279 | runner: Runner, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `build_instruction` [INFO] [stderr] --> src/lib.rs:280:5 [INFO] [stderr] | [INFO] [stderr] 280 | build_instruction: BuildInstruction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:223:29 [INFO] [stderr] | [INFO] [stderr] 223 | .take_while(|v| match v { [INFO] [stderr] | _____________________________^ [INFO] [stderr] 224 | | &Ok(ref c) => { [INFO] [stderr] 225 | | //info!("stdout: {}", c); [INFO] [stderr] 226 | | if *c as usize == 10 { false } else { true } [INFO] [stderr] 227 | | } [INFO] [stderr] 228 | | _ => true, [INFO] [stderr] 229 | | }) [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 223 | .take_while(|v| match *v { [INFO] [stderr] 224 | Ok(ref c) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/lib.rs:226:21 [INFO] [stderr] | [INFO] [stderr] 226 | if *c as usize == 10 { false } else { true } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `!(*c as usize == 10)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | / match &self.tx { [INFO] [stderr] 251 | | &Some(ref tx) => { [INFO] [stderr] 252 | | tx.send(update).chain_err( [INFO] [stderr] 253 | | || "Send of update to subscriber failed", [INFO] [stderr] ... | [INFO] [stderr] 256 | | &None => Ok(()), [INFO] [stderr] 257 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 250 | match self.tx { [INFO] [stderr] 251 | Some(ref tx) => { [INFO] [stderr] 252 | tx.send(update).chain_err( [INFO] [stderr] 253 | || "Send of update to subscriber failed", [INFO] [stderr] 254 | ) [INFO] [stderr] 255 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:45:14 [INFO] [stderr] | [INFO] [stderr] 45 | .ok_or(ErrorKind::ParseError( [INFO] [stderr] | ______________^ [INFO] [stderr] 46 | | format!("\"{}\" is not string", key).into(), [INFO] [stderr] 47 | | ))? [INFO] [stderr] | |______________^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 45 | .ok_or_else(|| ErrorKind::ParseError( [INFO] [stderr] 46 | format!("\"{}\" is not string", key).into(), [INFO] [stderr] 47 | ))? [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:46:17 [INFO] [stderr] | [INFO] [stderr] 46 | format!("\"{}\" is not string", key).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `format!("\"{}\" is not string", key)` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:53:18 [INFO] [stderr] | [INFO] [stderr] 53 | val.get(key).ok_or( [INFO] [stderr] | __________________^ [INFO] [stderr] 54 | | ErrorKind::ParseError(format!("No \"{}\" in json", key).into()).into(), [INFO] [stderr] 55 | | ) [INFO] [stderr] | |_____^ help: try this: `ok_or_else(|| ErrorKind::ParseError(format!("No \"{}\" in json", key).into()).into())` [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: identical conversion [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:54:31 [INFO] [stderr] | [INFO] [stderr] 54 | ErrorKind::ParseError(format!("No \"{}\" in json", key).into()).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `format!("No \"{}\" in json", key)` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:59:20 [INFO] [stderr] | [INFO] [stderr] 59 | val.get(index).ok_or( [INFO] [stderr] | ____________________^ [INFO] [stderr] 60 | | ErrorKind::ParseError(format!("No \"{}\" in json", index).into()).into(), [INFO] [stderr] 61 | | ) [INFO] [stderr] | |_____^ help: try this: `ok_or_else(|| ErrorKind::ParseError(format!("No \"{}\" in json", index).into()).into())` [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: identical conversion [INFO] [stderr] --> src/integrations/bitbucket/mod.rs:60:31 [INFO] [stderr] | [INFO] [stderr] 60 | ErrorKind::ParseError(format!("No \"{}\" in json", index).into()).into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `format!("No \"{}\" in json", index)` [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 don't need to add `&` to all patterns [INFO] [stderr] --> src/utils/mod.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | / match self { [INFO] [stderr] 57 | | &TextOutput::Stdout(ref s) => write!(f, "{}", s), [INFO] [stderr] 58 | | &TextOutput::Stderr(ref s) => write!(f, "{}", Paint::red(s)), [INFO] [stderr] 59 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 56 | match *self { [INFO] [stderr] 57 | TextOutput::Stdout(ref s) => write!(f, "{}", s), [INFO] [stderr] 58 | TextOutput::Stderr(ref s) => write!(f, "{}", Paint::red(s)), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/utils/mod.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | / match self { [INFO] [stderr] 75 | | &BuildUpdates::Started => write!(f, "{}", Paint::yellow("Starting build")), [INFO] [stderr] 76 | | &BuildUpdates::StepStarted(ref s) => { [INFO] [stderr] 77 | | write!( [INFO] [stderr] ... | [INFO] [stderr] 96 | | &BuildUpdates::Finished => write!(f, "{}", Paint::yellow("Finished build")), [INFO] [stderr] 97 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 74 | match *self { [INFO] [stderr] 75 | BuildUpdates::Started => write!(f, "{}", Paint::yellow("Starting build")), [INFO] [stderr] 76 | BuildUpdates::StepStarted(ref s) => { [INFO] [stderr] 77 | write!( [INFO] [stderr] 78 | f, [INFO] [stderr] 79 | "{}", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/utils/mod.rs:103:21 [INFO] [stderr] | [INFO] [stderr] 103 | let path = path.unwrap_or(Path::new(FNAME_CONFIG).into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Path::new(FNAME_CONFIG).into())` [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/utils/mod.rs:131:38 [INFO] [stderr] | [INFO] [stderr] 131 | subdst.push(path.file_name().ok_or(format!( [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 132 | | "Could not get filename of {:?}", [INFO] [stderr] 133 | | path [INFO] [stderr] 134 | | ))?); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 131 | subdst.push(path.file_name().ok_or_else(|| format!( [INFO] [stderr] 132 | "Could not get filename of {:?}", [INFO] [stderr] 133 | path [INFO] [stderr] 134 | ))?); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/utils/mod.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | DirBuilder::new().create(&path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:223:29 [INFO] [stderr] | [INFO] [stderr] 223 | .take_while(|v| match v { [INFO] [stderr] | _____________________________^ [INFO] [stderr] 224 | | &Ok(ref c) => { [INFO] [stderr] 225 | | //info!("stdout: {}", c); [INFO] [stderr] 226 | | if *c as usize == 10 { false } else { true } [INFO] [stderr] 227 | | } [INFO] [stderr] 228 | | _ => true, [INFO] [stderr] 229 | | }) [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 223 | .take_while(|v| match *v { [INFO] [stderr] 224 | Ok(ref c) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/lib.rs:226:21 [INFO] [stderr] | [INFO] [stderr] 226 | if *c as usize == 10 { false } else { true } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `!(*c as usize == 10)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/lib.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | / match &self.tx { [INFO] [stderr] 251 | | &Some(ref tx) => { [INFO] [stderr] 252 | | tx.send(update).chain_err( [INFO] [stderr] 253 | | || "Send of update to subscriber failed", [INFO] [stderr] ... | [INFO] [stderr] 256 | | &None => Ok(()), [INFO] [stderr] 257 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 250 | match self.tx { [INFO] [stderr] 251 | Some(ref tx) => { [INFO] [stderr] 252 | tx.send(update).chain_err( [INFO] [stderr] 253 | || "Send of update to subscriber failed", [INFO] [stderr] 254 | ) [INFO] [stderr] 255 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unused variable: `api_token` [INFO] [stderr] --> src/bin/rustic-cli.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | let api_token = repo_conf.api_token.clone(); [INFO] [stderr] | ^^^^^^^^^ help: consider using `_api_token` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `api_token` [INFO] [stderr] --> src/bin/rustic-cli.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | let api_token = repo_conf.api_token.clone(); [INFO] [stderr] | ^^^^^^^^^ help: consider using `_api_token` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/bin/rustic-cli.rs:32:10 [INFO] [stderr] | [INFO] [stderr] 32 | .ok_or(format!( [INFO] [stderr] | __________^ [INFO] [stderr] 33 | | "{}/{} not setup in configuration", [INFO] [stderr] 34 | | pargs.owner.clone(), [INFO] [stderr] 35 | | pargs.reponame.clone(), [INFO] [stderr] 36 | | ))? [INFO] [stderr] | |______^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 32 | .ok_or_else(|| format!( [INFO] [stderr] 33 | "{}/{} not setup in configuration", [INFO] [stderr] 34 | pargs.owner.clone(), [INFO] [stderr] 35 | pargs.reponame.clone(), [INFO] [stderr] 36 | ))? [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/bin/rustic-cli.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | / loop { [INFO] [stderr] 88 | | match receiver.recv() { [INFO] [stderr] 89 | | Ok(out) => println!("{}", out), [INFO] [stderr] 90 | | Err(_) => break, [INFO] [stderr] 91 | | } [INFO] [stderr] 92 | | } [INFO] [stderr] | |_____^ help: try: `while let Ok(out) = receiver.recv() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/bin/rustic-cli.rs:138:18 [INFO] [stderr] | [INFO] [stderr] 138 | .ok_or(format!("\"{}\" argument missing", arg))? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("\"{}\" argument missing", arg))` [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/bin/rustic-cli.rs:32:10 [INFO] [stderr] | [INFO] [stderr] 32 | .ok_or(format!( [INFO] [stderr] | __________^ [INFO] [stderr] 33 | | "{}/{} not setup in configuration", [INFO] [stderr] 34 | | pargs.owner.clone(), [INFO] [stderr] 35 | | pargs.reponame.clone(), [INFO] [stderr] 36 | | ))? [INFO] [stderr] | |______^ [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] help: try this [INFO] [stderr] | [INFO] [stderr] 32 | .ok_or_else(|| format!( [INFO] [stderr] 33 | "{}/{} not setup in configuration", [INFO] [stderr] 34 | pargs.owner.clone(), [INFO] [stderr] 35 | pargs.reponame.clone(), [INFO] [stderr] 36 | ))? [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/bin/rustic-cli.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | / loop { [INFO] [stderr] 88 | | match receiver.recv() { [INFO] [stderr] 89 | | Ok(out) => println!("{}", out), [INFO] [stderr] 90 | | Err(_) => break, [INFO] [stderr] 91 | | } [INFO] [stderr] 92 | | } [INFO] [stderr] | |_____^ help: try: `while let Ok(out) = receiver.recv() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/bin/rustic-cli.rs:138:18 [INFO] [stderr] | [INFO] [stderr] 138 | .ok_or(format!("\"{}\" argument missing", arg))? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("\"{}\" argument missing", arg))` [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] Finished dev [unoptimized + debuginfo] target(s) in 7.19s [INFO] running `"docker" "inspect" "7a6536cca9c2ac2234df6fb67beb8edd83f7a65260d8f056a961d59316223594"` [INFO] running `"docker" "rm" "-f" "7a6536cca9c2ac2234df6fb67beb8edd83f7a65260d8f056a961d59316223594"` [INFO] [stdout] 7a6536cca9c2ac2234df6fb67beb8edd83f7a65260d8f056a961d59316223594