[INFO] cloning repository https://github.com/KillingSpark/sparkpass [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KillingSpark/sparkpass" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKillingSpark%2Fsparkpass", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKillingSpark%2Fsparkpass'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9b1f7ff71392f1562645f5c0e384a0046d8e82ba [INFO] linting KillingSpark/sparkpass against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKillingSpark%2Fsparkpass" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/KillingSpark/sparkpass [INFO] finished tweaking git repo https://github.com/KillingSpark/sparkpass [INFO] tweaked toml for git repo https://github.com/KillingSpark/sparkpass written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/KillingSpark/sparkpass on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 56 packages to latest compatible versions [INFO] [stderr] Adding base64 v0.10.1 (available: v0.22.1) [INFO] [stderr] Adding dbus v0.6.5 (available: v0.9.10) [INFO] [stderr] Adding rpassword v3.0.2 (available: v7.4.0) [INFO] [stderr] Adding shellexpand v1.1.1 (available: v3.1.2) [INFO] [stderr] Adding url v1.7.2 (available: v2.5.8) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded dirs v2.0.2 [INFO] [stderr] Downloaded tinyvec v1.11.0 [INFO] [stderr] Downloaded shellexpand v1.1.1 [INFO] [stderr] Downloaded rpassword v3.0.2 [INFO] [stderr] Downloaded levenshtein v1.0.5 [INFO] [stderr] Downloaded once_cell v1.21.4 [INFO] [stderr] Downloaded argparse v0.2.2 [INFO] [stderr] Downloaded ryu v1.0.23 [INFO] [stderr] Downloaded openssl-sys v0.9.112 [INFO] [stderr] Downloaded dbus v0.6.5 [INFO] [stderr] Downloaded cc v1.2.57 [INFO] [stderr] Downloaded url v1.7.2 [INFO] [stderr] Downloaded idna v0.1.5 [INFO] [stderr] Downloaded base64 v0.10.1 [INFO] [stderr] Downloaded openssl v0.10.76 [INFO] [stderr] Downloaded libc v0.2.183 [INFO] [stderr] Downloaded libdbus-sys v0.2.7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1b95b831aaa226661aac1e7cf39793e35efa383620a1801ed7ca47040d40eeff [INFO] running `Command { std: "docker" "start" "-a" "1b95b831aaa226661aac1e7cf39793e35efa383620a1801ed7ca47040d40eeff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1b95b831aaa226661aac1e7cf39793e35efa383620a1801ed7ca47040d40eeff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1b95b831aaa226661aac1e7cf39793e35efa383620a1801ed7ca47040d40eeff", kill_on_drop: false }` [INFO] [stdout] 1b95b831aaa226661aac1e7cf39793e35efa383620a1801ed7ca47040d40eeff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2d3dd1cf8b10c1483cbf45bffaa1d01ab150ec82ce2279d210efd4e6049c6539 [INFO] running `Command { std: "docker" "start" "-a" "2d3dd1cf8b10c1483cbf45bffaa1d01ab150ec82ce2279d210efd4e6049c6539", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Compiling libdbus-sys v0.2.7 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Checking unicode-bidi v0.3.18 [INFO] [stderr] Checking memchr v2.8.0 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking ryu v1.0.23 [INFO] [stderr] Checking once_cell v1.21.4 [INFO] [stderr] Checking itoa v1.0.17 [INFO] [stderr] Checking base64 v0.10.1 [INFO] [stderr] Checking argparse v0.2.2 [INFO] [stderr] Checking levenshtein v1.0.5 [INFO] [stderr] Checking tinyvec v1.11.0 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking csv-core v0.1.13 [INFO] [stderr] Checking unicode-normalization v0.1.25 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Checking dirs-sys v0.3.7 [INFO] [stderr] Checking dbus v0.6.5 [INFO] [stderr] Checking rpassword v3.0.2 [INFO] [stderr] Checking dirs v2.0.2 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking shellexpand v1.1.1 [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] Checking csv v1.4.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking sparkpass v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transform.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | return content; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 40 - return content; [INFO] [stdout] 40 + content [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transform.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | return content; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 40 - return content; [INFO] [stdout] 40 + content [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/transform.rs:36:23 [INFO] [stdout] | [INFO] [stdout] 36 | let mut content = String::from(cipher_part); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `cipher_part` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transform.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | return content; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 83 - return content; [INFO] [stdout] 83 + content [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/transform.rs:36:23 [INFO] [stdout] | [INFO] [stdout] 36 | let mut content = String::from(cipher_part); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `cipher_part` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/transform.rs:77:23 [INFO] [stdout] | [INFO] [stdout] 77 | let mut content = String::from(cipher_part); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `cipher_part` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transform.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | / return match result { [INFO] [stdout] 124 | | Ok(r) => Ok(std::str::from_utf8(r.as_slice()).unwrap().to_owned()), [INFO] [stdout] 125 | | Err(_) => Err("Could not decrypt. Is the key correct?".to_owned()), [INFO] [stdout] 126 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 123 ~ match result { [INFO] [stdout] 124 + Ok(r) => Ok(std::str::from_utf8(r.as_slice()).unwrap().to_owned()), [INFO] [stdout] 125 + Err(_) => Err("Could not decrypt. Is the key correct?".to_owned()), [INFO] [stdout] 126 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transform.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 83 | return content; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 83 - return content; [INFO] [stdout] 83 + content [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/transform.rs:77:23 [INFO] [stdout] | [INFO] [stdout] 77 | let mut content = String::from(cipher_part); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `cipher_part` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transform.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | / return match result { [INFO] [stdout] 168 | | Ok(r) => Ok(std::str::from_utf8(r.as_slice()).unwrap().to_owned()), [INFO] [stdout] 169 | | Err(_) => Err("Could not decrypt. Is the key correct?".to_owned()), [INFO] [stdout] 170 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 167 ~ match result { [INFO] [stdout] 168 + Ok(r) => Ok(std::str::from_utf8(r.as_slice()).unwrap().to_owned()), [INFO] [stdout] 169 + Err(_) => Err("Could not decrypt. Is the key correct?".to_owned()), [INFO] [stdout] 170 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transform.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | / return match result { [INFO] [stdout] 124 | | Ok(r) => Ok(std::str::from_utf8(r.as_slice()).unwrap().to_owned()), [INFO] [stdout] 125 | | Err(_) => Err("Could not decrypt. Is the key correct?".to_owned()), [INFO] [stdout] 126 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 123 ~ match result { [INFO] [stdout] 124 + Ok(r) => Ok(std::str::from_utf8(r.as_slice()).unwrap().to_owned()), [INFO] [stdout] 125 + Err(_) => Err("Could not decrypt. Is the key correct?".to_owned()), [INFO] [stdout] 126 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transform.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | return vec [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 - return vec [INFO] [stdout] 190 + vec [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transform.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | / return match result { [INFO] [stdout] 168 | | Ok(r) => Ok(std::str::from_utf8(r.as_slice()).unwrap().to_owned()), [INFO] [stdout] 169 | | Err(_) => Err("Could not decrypt. Is the key correct?".to_owned()), [INFO] [stdout] 170 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 167 ~ match result { [INFO] [stdout] 168 + Ok(r) => Ok(std::str::from_utf8(r.as_slice()).unwrap().to_owned()), [INFO] [stdout] 169 + Err(_) => Err("Could not decrypt. Is the key correct?".to_owned()), [INFO] [stdout] 170 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | return passwd[..length].to_owned(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 14 - return passwd[..length].to_owned(); [INFO] [stdout] 14 + passwd[..length].to_owned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/transform.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | return vec [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 190 - return vec [INFO] [stdout] 190 + vec [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/export_import.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | return v; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - return v; [INFO] [stdout] 44 + v [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | return passwd[..length].to_owned(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 14 - return passwd[..length].to_owned(); [INFO] [stdout] 14 + passwd[..length].to_owned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/export_import.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return Ok(()); [INFO] [stdout] 84 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/export_import.rs:77:20 [INFO] [stdout] | [INFO] [stdout] 77 | w.write_record(&["name", "content"]).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `["name", "content"]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/export_import.rs:82:24 [INFO] [stdout] | [INFO] [stdout] 82 | w.write_record(&[prep_entry, content.as_str()]).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `[prep_entry, content.as_str()]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/export_import.rs:141:4 [INFO] [stdout] | [INFO] [stdout] 141 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 141 - return Ok(()); [INFO] [stdout] 141 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/export_import.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | return v; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - return v; [INFO] [stdout] 44 + v [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/export_import.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 84 - return Ok(()); [INFO] [stdout] 84 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/export_import.rs:77:20 [INFO] [stdout] | [INFO] [stdout] 77 | w.write_record(&["name", "content"]).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `["name", "content"]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/export_import.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | if url != "" { [INFO] [stdout] | ^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!url.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/util.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | if words.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `words.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/export_import.rs:82:24 [INFO] [stdout] | [INFO] [stdout] 82 | w.write_record(&[prep_entry, content.as_str()]).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `[prep_entry, content.as_str()]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/export_import.rs:141:4 [INFO] [stdout] | [INFO] [stdout] 141 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 141 - return Ok(()); [INFO] [stdout] 141 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/export_import.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | if url != "" { [INFO] [stdout] | ^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!url.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/util.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | if words.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `words.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | return tmp; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 170 - return tmp; [INFO] [stdout] 170 + tmp [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | return Ok(TreeNode::Node(dirname.to_owned(), result)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 218 - return Ok(TreeNode::Node(dirname.to_owned(), result)); [INFO] [stdout] 218 + Ok(TreeNode::Node(dirname.to_owned(), result)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> src/util.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | / match transform::retransform_entry(enc_params, filename) { [INFO] [stdout] 212 | | Ok(s) => s, [INFO] [stdout] 213 | | Err(e) => return Err(e), [INFO] [stdout] 214 | | } [INFO] [stdout] | |_________^ help: try instead: `transform::retransform_entry(enc_params, filename)?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:246:5 [INFO] [stdout] | [INFO] [stdout] 246 | return Ok(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 246 - return Ok(result); [INFO] [stdout] 246 + Ok(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:280:5 [INFO] [stdout] | [INFO] [stdout] 280 | return Ok(()) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 280 - return Ok(()) [INFO] [stdout] 280 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/util.rs:253:18 [INFO] [stdout] | [INFO] [stdout] 253 | let exists = match fs::metadata(full_path.clone()) { [INFO] [stdout] | __________________^ [INFO] [stdout] 254 | | Ok(_) => true, [INFO] [stdout] 255 | | Err(_) => false, [INFO] [stdout] 256 | | }; [INFO] [stdout] | |_____^ help: try: `fs::metadata(full_path.clone()).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/util.rs:291:18 [INFO] [stdout] | [INFO] [stdout] 291 | let exists = match fs::metadata(full_path.as_path()) { [INFO] [stdout] | __________________^ [INFO] [stdout] 292 | | Ok(_) => true, [INFO] [stdout] 293 | | Err(_) => false, [INFO] [stdout] 294 | | }; [INFO] [stdout] | |_____^ help: try: `fs::metadata(full_path.as_path()).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | return tmp; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 170 - return tmp; [INFO] [stdout] 170 + tmp [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:218:5 [INFO] [stdout] | [INFO] [stdout] 218 | return Ok(TreeNode::Node(dirname.to_owned(), result)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 218 - return Ok(TreeNode::Node(dirname.to_owned(), result)); [INFO] [stdout] 218 + Ok(TreeNode::Node(dirname.to_owned(), result)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `match` expression can be replaced with `?` [INFO] [stdout] --> src/util.rs:211:9 [INFO] [stdout] | [INFO] [stdout] 211 | / match transform::retransform_entry(enc_params, filename) { [INFO] [stdout] 212 | | Ok(s) => s, [INFO] [stdout] 213 | | Err(e) => return Err(e), [INFO] [stdout] 214 | | } [INFO] [stdout] | |_________^ help: try instead: `transform::retransform_entry(enc_params, filename)?` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cmd/cmd_add.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 71 - println!("An error occurred while adding the entry: {}", e); [INFO] [stdout] 72 - return; [INFO] [stdout] 71 + println!("An error occurred while adding the entry: {}", e); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/cmd/cmd_add.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | if opts.args.len() < 1 || opts.args.len() > 2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `opts.args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/cmd/cmd_add.rs:48:70 [INFO] [stdout] | [INFO] [stdout] 48 | println!("Enter multiline content for {}: ", opts.args[0].to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/cmd/cmd_add.rs:51:60 [INFO] [stdout] | [INFO] [stdout] 51 | println!("Enter content for {}: ", opts.args[0].to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:246:5 [INFO] [stdout] | [INFO] [stdout] 246 | return Ok(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 246 - return Ok(result); [INFO] [stdout] 246 + Ok(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cmd/cmd_copy.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 47 ~ println!("An error occurred while copying to new location: {}", e); [INFO] [stdout] 48 | }, [INFO] [stdout] 49 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/util.rs:280:5 [INFO] [stdout] | [INFO] [stdout] 280 | return Ok(()) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 280 - return Ok(()) [INFO] [stdout] 280 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/util.rs:253:18 [INFO] [stdout] | [INFO] [stdout] 253 | let exists = match fs::metadata(full_path.clone()) { [INFO] [stdout] | __________________^ [INFO] [stdout] 254 | | Ok(_) => true, [INFO] [stdout] 255 | | Err(_) => false, [INFO] [stdout] 256 | | }; [INFO] [stdout] | |_____^ help: try: `fs::metadata(full_path.clone()).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/cmd/cmd_copy.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | / match full_path_new.parent() { [INFO] [stdout] 33 | | Some(p) => { [INFO] [stdout] 34 | | match fs::create_dir_all(p){ [INFO] [stdout] 35 | | Ok(_) => {}, [INFO] [stdout] ... | [INFO] [stdout] 41 | | None => {}, [INFO] [stdout] 42 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 32 ~ if let Some(p) = full_path_new.parent() { [INFO] [stdout] 33 + match fs::create_dir_all(p){ [INFO] [stdout] 34 + Ok(_) => {}, [INFO] [stdout] 35 + Err(e) => {println!("An error occurred while creating the needed directories: {}", e); [INFO] [stdout] 36 + return; [INFO] [stdout] 37 + }, [INFO] [stdout] 38 + } [INFO] [stdout] 39 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> src/util.rs:291:18 [INFO] [stdout] | [INFO] [stdout] 291 | let exists = match fs::metadata(full_path.as_path()) { [INFO] [stdout] | __________________^ [INFO] [stdout] 292 | | Ok(_) => true, [INFO] [stdout] 293 | | Err(_) => false, [INFO] [stdout] 294 | | }; [INFO] [stdout] | |_____^ help: try: `fs::metadata(full_path.as_path()).is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cmd/cmd_generate.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 31 - println!("An error occurred while adding the entry: {}", e); [INFO] [stdout] 32 - return; [INFO] [stdout] 31 + println!("An error occurred while adding the entry: {}", e); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/cmd/cmd_generate.rs:8:31 [INFO] [stdout] | [INFO] [stdout] 8 | if opts.args.len() > 2 || opts.args.len() < 1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `opts.args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cmd/cmd_add.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 71 - println!("An error occurred while adding the entry: {}", e); [INFO] [stdout] 72 - return; [INFO] [stdout] 71 + println!("An error occurred while adding the entry: {}", e); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/cmd/cmd_add.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | if opts.args.len() < 1 || opts.args.len() > 2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `opts.args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/cmd/cmd_add.rs:48:70 [INFO] [stdout] | [INFO] [stdout] 48 | println!("Enter multiline content for {}: ", opts.args[0].to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `println!` args [INFO] [stdout] --> src/cmd/cmd_add.rs:51:60 [INFO] [stdout] | [INFO] [stdout] 51 | println!("Enter content for {}: ", opts.args[0].to_string()); [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmd/cmd_list.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | let pp = if opts.args.len() > 0 && opts.args[0].len() > 0 && opts.args[0] != "/" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!opts.args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmd/cmd_list.rs:18:40 [INFO] [stdout] | [INFO] [stdout] 18 | let pp = if opts.args.len() > 0 && opts.args[0].len() > 0 && opts.args[0] != "/" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!opts.args[0].is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cmd/cmd_copy.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 47 ~ println!("An error occurred while copying to new location: {}", e); [INFO] [stdout] 48 | }, [INFO] [stdout] 49 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/cmd/cmd_copy.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | / match full_path_new.parent() { [INFO] [stdout] 33 | | Some(p) => { [INFO] [stdout] 34 | | match fs::create_dir_all(p){ [INFO] [stdout] 35 | | Ok(_) => {}, [INFO] [stdout] ... | [INFO] [stdout] 41 | | None => {}, [INFO] [stdout] 42 | | }; [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 32 ~ if let Some(p) = full_path_new.parent() { [INFO] [stdout] 33 + match fs::create_dir_all(p){ [INFO] [stdout] 34 + Ok(_) => {}, [INFO] [stdout] 35 + Err(e) => {println!("An error occurred while creating the needed directories: {}", e); [INFO] [stdout] 36 + return; [INFO] [stdout] 37 + }, [INFO] [stdout] 38 + } [INFO] [stdout] 39 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cmd/cmd_remove.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - println!("An error occurred while removing: {}", e); [INFO] [stdout] 24 - return; [INFO] [stdout] 23 + println!("An error occurred while removing: {}", e); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cmd/cmd_remove.rs:34:25 [INFO] [stdout] | [INFO] [stdout] 34 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 33 - println!("An error occurred while removing: {}", e); [INFO] [stdout] 34 - return; [INFO] [stdout] 33 + println!("An error occurred while removing: {}", e); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cmd/cmd_generate.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 31 - println!("An error occurred while adding the entry: {}", e); [INFO] [stdout] 32 - return; [INFO] [stdout] 31 + println!("An error occurred while adding the entry: {}", e); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> src/cmd/cmd_generate.rs:8:31 [INFO] [stdout] | [INFO] [stdout] 8 | if opts.args.len() > 2 || opts.args.len() < 1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `opts.args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmd/cmd_search.rs:12:28 [INFO] [stdout] | [INFO] [stdout] 12 | let relative_path = if opts.args.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `opts.args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/cmd/cmd_search.rs:90:43 [INFO] [stdout] | [INFO] [stdout] 90 | if !clear_entry.contains(last) && !(clear_entry == last) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `(clear_entry != last)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmd/cmd_search.rs:39:28 [INFO] [stdout] | [INFO] [stdout] 39 | let relative_path = if opts.args.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `opts.args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmd/cmd_search.rs:60:25 [INFO] [stdout] | [INFO] [stdout] 60 | let trans_path = if dir.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!dir.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmd/cmd_list.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | let pp = if opts.args.len() > 0 && opts.args[0].len() > 0 && opts.args[0] != "/" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!opts.args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmd/cmd_list.rs:18:40 [INFO] [stdout] | [INFO] [stdout] 18 | let pp = if opts.args.len() > 0 && opts.args[0].len() > 0 && opts.args[0] != "/" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!opts.args[0].is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmd/cmd_search.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | if filtered.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `filtered.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cmd/cmd_remove.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 24 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - println!("An error occurred while removing: {}", e); [INFO] [stdout] 24 - return; [INFO] [stdout] 23 + println!("An error occurred while removing: {}", e); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cmd/cmd_remove.rs:34:25 [INFO] [stdout] | [INFO] [stdout] 34 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 33 - println!("An error occurred while removing: {}", e); [INFO] [stdout] 34 - return; [INFO] [stdout] 33 + println!("An error occurred while removing: {}", e); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmd/cmd_search.rs:12:28 [INFO] [stdout] | [INFO] [stdout] 12 | let relative_path = if opts.args.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `opts.args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/cmd/cmd_search.rs:90:43 [INFO] [stdout] | [INFO] [stdout] 90 | if !clear_entry.contains(last) && !(clear_entry == last) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `(clear_entry != last)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmd/cmd_search.rs:39:28 [INFO] [stdout] | [INFO] [stdout] 39 | let relative_path = if opts.args.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `opts.args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmd/cmd_search.rs:60:25 [INFO] [stdout] | [INFO] [stdout] 60 | let trans_path = if dir.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!dir.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmd/cmd_search.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | if filtered.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `filtered.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bin/daemon/main.rs:186:61 [INFO] [stdout] | [INFO] [stdout] 186 | fn handle_show(&self, name: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 186 | fn handle_show(&self, name: &str) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/spass/main.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | return pass.to_owned(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 38 - return pass.to_owned(); [INFO] [stdout] 38 + pass.to_owned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/spass/main.rs:172:13 [INFO] [stdout] | [INFO] [stdout] 172 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 171 ~ println!("This command is currently not supported. Sorry"); [INFO] [stdout] 172 | }, [INFO] [stdout] ... [INFO] [stdout] 250 | }, [INFO] [stdout] 251 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/spass/main.rs:195:13 [INFO] [stdout] | [INFO] [stdout] 195 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 194 ~ println!("This command is currently not supported. Sorry"); [INFO] [stdout] 195 | }, [INFO] [stdout] ... [INFO] [stdout] 250 | }, [INFO] [stdout] 251 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/spass/main.rs:230:13 [INFO] [stdout] | [INFO] [stdout] 230 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 229 ~ println!("#####################################"); [INFO] [stdout] 230 | } [INFO] [stdout] ... [INFO] [stdout] 250 | }, [INFO] [stdout] 251 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/spass/main.rs:107:8 [INFO] [stdout] | [INFO] [stdout] 107 | if options.key == "" || options.repo == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.key.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/spass/main.rs:107:29 [INFO] [stdout] | [INFO] [stdout] 107 | if options.key == "" || options.repo == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.repo.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/bin/spass/main.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | / if options.key == "" { [INFO] [stdout] 113 | | options.key = val; [INFO] [stdout] 114 | | }else{ [INFO] [stdout] 115 | | //ignore [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 111 ~ "SPARKPASS_KEY" [INFO] [stdout] 112 ~ if options.key == "" => { [INFO] [stdout] 113 | options.key = val; [INFO] [stdout] 114 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/bin/spass/main.rs:119:21 [INFO] [stdout] | [INFO] [stdout] 119 | / if options.repo == "" { [INFO] [stdout] 120 | | options.repo = val; [INFO] [stdout] 121 | | }else{ [INFO] [stdout] 122 | | //ignore [INFO] [stdout] 123 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 118 ~ "SPARKPASS_REPO" [INFO] [stdout] 119 ~ if options.repo == "" => { [INFO] [stdout] 120 | options.repo = val; [INFO] [stdout] 121 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/spass/main.rs:112:24 [INFO] [stdout] | [INFO] [stdout] 112 | if options.key == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.key.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/spass/main.rs:119:24 [INFO] [stdout] | [INFO] [stdout] 119 | if options.repo == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.repo.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/spass/main.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | if options.key == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.key.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/spass/main.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | if options.repo == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.repo.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/bin/spass/main.rs:143:60 [INFO] [stdout] | [INFO] [stdout] 143 | options.repo = path::Path::new(home.as_str()).join(".sparkpass/".to_owned()).to_str().unwrap().to_owned(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `".sparkpass/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | / return Some(MsgHandlerResult { [INFO] [stdout] 13 | | done: false, [INFO] [stdout] 14 | | handled: true, [INFO] [stdout] 15 | | reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 16 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 12 ~ Some(MsgHandlerResult { [INFO] [stdout] 13 + done: false, [INFO] [stdout] 14 + handled: true, [INFO] [stdout] 15 + reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 16 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return Some(result); [INFO] [stdout] 42 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:45:25 [INFO] [stdout] | [INFO] [stdout] 45 | / return Some(MsgHandlerResult { [INFO] [stdout] 46 | | done: false, [INFO] [stdout] 47 | | handled: true, [INFO] [stdout] ... | [INFO] [stdout] 50 | | }); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 45 ~ Some(MsgHandlerResult { [INFO] [stdout] 46 + done: false, [INFO] [stdout] 47 + handled: true, [INFO] [stdout] 48 + //todo generate sessions [INFO] [stdout] 49 + reply: vec![msg.method_return().append1(false)], [INFO] [stdout] 50 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | / return Some(MsgHandlerResult { [INFO] [stdout] 54 | | done: false, [INFO] [stdout] 55 | | handled: true, [INFO] [stdout] 56 | | reply: vec![MethodErr::failed(&"Collection interface not implemented") [INFO] [stdout] 57 | | .to_message(msg)], [INFO] [stdout] 58 | | }) [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 ~ Some(MsgHandlerResult { [INFO] [stdout] 54 + done: false, [INFO] [stdout] 55 + handled: true, [INFO] [stdout] 56 + reply: vec![MethodErr::failed(&"Collection interface not implemented") [INFO] [stdout] 57 + .to_message(msg)], [INFO] [stdout] 58 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | / return Some(MsgHandlerResult { [INFO] [stdout] 66 | | done: false, [INFO] [stdout] 67 | | handled: true, [INFO] [stdout] 68 | | reply: vec![ [INFO] [stdout] ... | [INFO] [stdout] 71 | | ], [INFO] [stdout] 72 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 65 ~ Some(MsgHandlerResult { [INFO] [stdout] 66 + done: false, [INFO] [stdout] 67 + handled: true, [INFO] [stdout] 68 + reply: vec![ [INFO] [stdout] 69 + MethodErr::failed(&"Unimplemented: Setting collection properties") [INFO] [stdout] 70 + .to_message(msg), [INFO] [stdout] 71 + ], [INFO] [stdout] 72 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/bin/spass/main.rs:244:16 [INFO] [stdout] | [INFO] [stdout] 244 | if options.args.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | / return Some(MsgHandlerResult { [INFO] [stdout] 76 | | done: false, [INFO] [stdout] 77 | | handled: true, [INFO] [stdout] 78 | | reply: vec![ [INFO] [stdout] ... | [INFO] [stdout] 81 | | ], [INFO] [stdout] 82 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 75 ~ Some(MsgHandlerResult { [INFO] [stdout] 76 + done: false, [INFO] [stdout] 77 + handled: true, [INFO] [stdout] 78 + reply: vec![ [INFO] [stdout] 79 + MethodErr::failed(&"Getting list of properties for collection") [INFO] [stdout] 80 + .to_message(msg), [INFO] [stdout] 81 + ], [INFO] [stdout] 82 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 85 | / return Some(MsgHandlerResult { [INFO] [stdout] 86 | | done: false, [INFO] [stdout] 87 | | handled: true, [INFO] [stdout] 88 | | reply: vec![MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 89 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 85 ~ Some(MsgHandlerResult { [INFO] [stdout] 86 + done: false, [INFO] [stdout] 87 + handled: true, [INFO] [stdout] 88 + reply: vec![MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 89 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:93:13 [INFO] [stdout] | [INFO] [stdout] 93 | / return Some(MsgHandlerResult { [INFO] [stdout] 94 | | done: false, [INFO] [stdout] 95 | | handled: true, [INFO] [stdout] 96 | | reply: vec![MethodErr::failed(&"Unsupported interface").to_message(msg)], [INFO] [stdout] 97 | | }); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 93 ~ Some(MsgHandlerResult { [INFO] [stdout] 94 + done: false, [INFO] [stdout] 95 + handled: true, [INFO] [stdout] 96 + reply: vec![MethodErr::failed(&"Unsupported interface").to_message(msg)], [INFO] [stdout] 97 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:10:49 [INFO] [stdout] | [INFO] [stdout] 10 | "org.freedesktop.Secrets.Collection" => match member { [INFO] [stdout] | _________________________________________________^ [INFO] [stdout] 11 | | _ => { [INFO] [stdout] 12 | | return Some(MsgHandlerResult { [INFO] [stdout] 13 | | done: false, [INFO] [stdout] ... | [INFO] [stdout] 18 | | }, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] = note: `#[warn(clippy::match_single_binding)]` on by default [INFO] [stdout] help: consider using the match body instead [INFO] [stdout] | [INFO] [stdout] 10 ~ "org.freedesktop.Secrets.Collection" => { [INFO] [stdout] 11 + return Some(MsgHandlerResult { [INFO] [stdout] 12 + done: false, [INFO] [stdout] 13 + handled: true, [INFO] [stdout] 14 + reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 15 + }); [INFO] [stdout] 16 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/bin/daemon/main.rs:186:61 [INFO] [stdout] | [INFO] [stdout] 186 | fn handle_show(&self, name: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 186 | fn handle_show(&self, name: &str) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | / return Some(MsgHandlerResult { [INFO] [stdout] 14 | | done: false, [INFO] [stdout] 15 | | handled: true, [INFO] [stdout] 16 | | reply: vec![ [INFO] [stdout] ... | [INFO] [stdout] 19 | | ], [INFO] [stdout] 20 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 13 ~ Some(MsgHandlerResult { [INFO] [stdout] 14 + done: false, [INFO] [stdout] 15 + handled: true, [INFO] [stdout] 16 + reply: vec![ [INFO] [stdout] 17 + dbus::tree::MethodErr::failed(&"Wrong interface for this object") [INFO] [stdout] 18 + .to_message(msg), [INFO] [stdout] 19 + ], [INFO] [stdout] 20 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:50:25 [INFO] [stdout] | [INFO] [stdout] 50 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 50 - return Some(result); [INFO] [stdout] 50 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | / return Some(MsgHandlerResult { [INFO] [stdout] 54 | | done: false, [INFO] [stdout] 55 | | handled: true, [INFO] [stdout] ... | [INFO] [stdout] 58 | | }); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 ~ Some(MsgHandlerResult { [INFO] [stdout] 54 + done: false, [INFO] [stdout] 55 + handled: true, [INFO] [stdout] 56 + //todo generate sessions [INFO] [stdout] 57 + reply: vec![msg.method_return().append1(false)], [INFO] [stdout] 58 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:61:25 [INFO] [stdout] | [INFO] [stdout] 61 | / return Some(MsgHandlerResult { [INFO] [stdout] 62 | | done: false, [INFO] [stdout] 63 | | handled: true, [INFO] [stdout] 64 | | reply: vec![dbus::tree::MethodErr::failed(&"Collection interface not implemented") [INFO] [stdout] 65 | | .to_message(msg)], [INFO] [stdout] 66 | | }) [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 61 ~ Some(MsgHandlerResult { [INFO] [stdout] 62 + done: false, [INFO] [stdout] 63 + handled: true, [INFO] [stdout] 64 + reply: vec![dbus::tree::MethodErr::failed(&"Collection interface not implemented") [INFO] [stdout] 65 + .to_message(msg)], [INFO] [stdout] 66 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | / return Some(MsgHandlerResult { [INFO] [stdout] 73 | | done: false, [INFO] [stdout] 74 | | handled: true, [INFO] [stdout] 75 | | reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] ... | [INFO] [stdout] 78 | | .to_message(msg)], [INFO] [stdout] 79 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 72 ~ Some(MsgHandlerResult { [INFO] [stdout] 73 + done: false, [INFO] [stdout] 74 + handled: true, [INFO] [stdout] 75 + reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] 76 + &"Setting properties is not supported", [INFO] [stdout] 77 + ) [INFO] [stdout] 78 + .to_message(msg)], [INFO] [stdout] 79 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | / return Some(MsgHandlerResult { [INFO] [stdout] 83 | | done: false, [INFO] [stdout] 84 | | handled: true, [INFO] [stdout] 85 | | reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] ... | [INFO] [stdout] 88 | | .to_message(msg)], [INFO] [stdout] 89 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 82 ~ Some(MsgHandlerResult { [INFO] [stdout] 83 + done: false, [INFO] [stdout] 84 + handled: true, [INFO] [stdout] 85 + reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] 86 + &"Getting a list of properties is not supported", [INFO] [stdout] 87 + ) [INFO] [stdout] 88 + .to_message(msg)], [INFO] [stdout] 89 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | / return Some(MsgHandlerResult { [INFO] [stdout] 93 | | done: false, [INFO] [stdout] 94 | | handled: true, [INFO] [stdout] 95 | | reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 96 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 92 ~ Some(MsgHandlerResult { [INFO] [stdout] 93 + done: false, [INFO] [stdout] 94 + handled: true, [INFO] [stdout] 95 + reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 96 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | / return Some(MsgHandlerResult { [INFO] [stdout] 101 | | done: false, [INFO] [stdout] 102 | | handled: true, [INFO] [stdout] 103 | | reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 104 | | }); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 100 ~ Some(MsgHandlerResult { [INFO] [stdout] 101 + done: false, [INFO] [stdout] 102 + handled: true, [INFO] [stdout] 103 + reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 104 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/bin/daemon/item_calls.rs:11:43 [INFO] [stdout] | [INFO] [stdout] 11 | "org.freedesktop.Secrets.Item" => match member { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 12 | | _ => { [INFO] [stdout] 13 | | return Some(MsgHandlerResult { [INFO] [stdout] 14 | | done: false, [INFO] [stdout] ... | [INFO] [stdout] 22 | | }, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using the match body instead [INFO] [stdout] | [INFO] [stdout] 11 ~ "org.freedesktop.Secrets.Item" => { [INFO] [stdout] 12 + return Some(MsgHandlerResult { [INFO] [stdout] 13 + done: false, [INFO] [stdout] 14 + handled: true, [INFO] [stdout] 15 + reply: vec![ [INFO] [stdout] 16 + dbus::tree::MethodErr::failed(&"Wrong interface for this object") [INFO] [stdout] 17 + .to_message(msg), [INFO] [stdout] 18 + ], [INFO] [stdout] 19 + }); [INFO] [stdout] 20 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/service_calls.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 28 - return Some(result); [INFO] [stdout] 28 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/service_calls.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return Some(result); [INFO] [stdout] 48 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/service_calls.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 69 - return Some(result); [INFO] [stdout] 69 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/service_calls.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | / return Some(MsgHandlerResult { [INFO] [stdout] 73 | | done: false, [INFO] [stdout] 74 | | handled: true, [INFO] [stdout] 75 | | reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 76 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 72 ~ Some(MsgHandlerResult { [INFO] [stdout] 73 + done: false, [INFO] [stdout] 74 + handled: true, [INFO] [stdout] 75 + reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 76 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/session_calls.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | / return Some(MsgHandlerResult { [INFO] [stdout] 8 | | done: false, [INFO] [stdout] 9 | | handled: true, [INFO] [stdout] 10 | | reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] ... | [INFO] [stdout] 13 | | .to_message(msg)], [INFO] [stdout] 14 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 7 ~ Some(MsgHandlerResult { [INFO] [stdout] 8 + done: false, [INFO] [stdout] 9 + handled: true, [INFO] [stdout] 10 + reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] 11 + &"Session interface not implemented", [INFO] [stdout] 12 + ) [INFO] [stdout] 13 + .to_message(msg)], [INFO] [stdout] 14 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/bin/daemon/session_calls.rs:5:49 [INFO] [stdout] | [INFO] [stdout] 5 | "org.freedesktop.Secrets.Collection" => match member { [INFO] [stdout] | _________________________________________________^ [INFO] [stdout] 6 | | _ => { [INFO] [stdout] 7 | | return Some(MsgHandlerResult { [INFO] [stdout] 8 | | done: false, [INFO] [stdout] ... | [INFO] [stdout] 16 | | }, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using the match body instead [INFO] [stdout] | [INFO] [stdout] 5 ~ "org.freedesktop.Secrets.Collection" => { [INFO] [stdout] 6 + return Some(MsgHandlerResult { [INFO] [stdout] 7 + done: false, [INFO] [stdout] 8 + handled: true, [INFO] [stdout] 9 + reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] 10 + &"Session interface not implemented", [INFO] [stdout] 11 + ) [INFO] [stdout] 12 + .to_message(msg)], [INFO] [stdout] 13 + }); [INFO] [stdout] 14 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/bin/daemon/main.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | if route.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `route.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/bin/daemon/main.rs:224:57 [INFO] [stdout] | [INFO] [stdout] 224 | let repo = std::path::Path::new(home.as_str()).join(".sparkpass/".to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `".sparkpass/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/main.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | return my_b || b; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 245 - return my_b || b; [INFO] [stdout] 245 + my_b || b [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/bin/daemon/main.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | / let my_b = match &m.headers() { [INFO] [stdout] 238 | | (_, path, _, _) => match path { [INFO] [stdout] 239 | | None => false, [INFO] [stdout] 240 | | Some(path) => path.starts_with("/org/freedesktop/Secrets"), [INFO] [stdout] 241 | | }, [INFO] [stdout] 242 | | }; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 237 ~ let (_, path, _, _) = &m.headers(); [INFO] [stdout] 238 + let my_b = match path { [INFO] [stdout] 239 + None => false, [INFO] [stdout] 240 + Some(path) => path.starts_with("/org/freedesktop/Secrets"), [INFO] [stdout] 241 + }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/bin/daemon/main.rs:189:24 [INFO] [stdout] | [INFO] [stdout] 189 | panic!("No key given".to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 189 | panic!("{}", "No key given".to_owned()); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/bin/daemon/main.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | panic!(e.as_str().to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 209 | panic!("{}", e.as_str().to_owned()); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/spass/main.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | return pass.to_owned(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 38 - return pass.to_owned(); [INFO] [stdout] 38 + pass.to_owned() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/spass/main.rs:172:13 [INFO] [stdout] | [INFO] [stdout] 172 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 171 ~ println!("This command is currently not supported. Sorry"); [INFO] [stdout] 172 | }, [INFO] [stdout] ... [INFO] [stdout] 250 | }, [INFO] [stdout] 251 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/spass/main.rs:195:13 [INFO] [stdout] | [INFO] [stdout] 195 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 194 ~ println!("This command is currently not supported. Sorry"); [INFO] [stdout] 195 | }, [INFO] [stdout] ... [INFO] [stdout] 250 | }, [INFO] [stdout] 251 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/spass/main.rs:230:13 [INFO] [stdout] | [INFO] [stdout] 230 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 229 ~ println!("#####################################"); [INFO] [stdout] 230 | } [INFO] [stdout] ... [INFO] [stdout] 250 | }, [INFO] [stdout] 251 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/spass/main.rs:107:8 [INFO] [stdout] | [INFO] [stdout] 107 | if options.key == "" || options.repo == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.key.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/spass/main.rs:107:29 [INFO] [stdout] | [INFO] [stdout] 107 | if options.key == "" || options.repo == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.repo.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/bin/spass/main.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | / if options.key == "" { [INFO] [stdout] 113 | | options.key = val; [INFO] [stdout] 114 | | }else{ [INFO] [stdout] 115 | | //ignore [INFO] [stdout] 116 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 111 ~ "SPARKPASS_KEY" [INFO] [stdout] 112 ~ if options.key == "" => { [INFO] [stdout] 113 | options.key = val; [INFO] [stdout] 114 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/bin/spass/main.rs:119:21 [INFO] [stdout] | [INFO] [stdout] 119 | / if options.repo == "" { [INFO] [stdout] 120 | | options.repo = val; [INFO] [stdout] 121 | | }else{ [INFO] [stdout] 122 | | //ignore [INFO] [stdout] 123 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 118 ~ "SPARKPASS_REPO" [INFO] [stdout] 119 ~ if options.repo == "" => { [INFO] [stdout] 120 | options.repo = val; [INFO] [stdout] 121 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/spass/main.rs:112:24 [INFO] [stdout] | [INFO] [stdout] 112 | if options.key == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.key.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/spass/main.rs:119:24 [INFO] [stdout] | [INFO] [stdout] 119 | if options.repo == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.repo.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/spass/main.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | if options.key == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.key.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/bin/spass/main.rs:141:8 [INFO] [stdout] | [INFO] [stdout] 141 | if options.repo == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.repo.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/bin/spass/main.rs:143:60 [INFO] [stdout] | [INFO] [stdout] 143 | options.repo = path::Path::new(home.as_str()).join(".sparkpass/".to_owned()).to_str().unwrap().to_owned(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `".sparkpass/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/bin/spass/main.rs:244:16 [INFO] [stdout] | [INFO] [stdout] 244 | if options.args.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `options.args.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | / return Some(MsgHandlerResult { [INFO] [stdout] 13 | | done: false, [INFO] [stdout] 14 | | handled: true, [INFO] [stdout] 15 | | reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 16 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 12 ~ Some(MsgHandlerResult { [INFO] [stdout] 13 + done: false, [INFO] [stdout] 14 + handled: true, [INFO] [stdout] 15 + reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 16 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return Some(result); [INFO] [stdout] 42 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:45:25 [INFO] [stdout] | [INFO] [stdout] 45 | / return Some(MsgHandlerResult { [INFO] [stdout] 46 | | done: false, [INFO] [stdout] 47 | | handled: true, [INFO] [stdout] ... | [INFO] [stdout] 50 | | }); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 45 ~ Some(MsgHandlerResult { [INFO] [stdout] 46 + done: false, [INFO] [stdout] 47 + handled: true, [INFO] [stdout] 48 + //todo generate sessions [INFO] [stdout] 49 + reply: vec![msg.method_return().append1(false)], [INFO] [stdout] 50 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | / return Some(MsgHandlerResult { [INFO] [stdout] 54 | | done: false, [INFO] [stdout] 55 | | handled: true, [INFO] [stdout] 56 | | reply: vec![MethodErr::failed(&"Collection interface not implemented") [INFO] [stdout] 57 | | .to_message(msg)], [INFO] [stdout] 58 | | }) [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 ~ Some(MsgHandlerResult { [INFO] [stdout] 54 + done: false, [INFO] [stdout] 55 + handled: true, [INFO] [stdout] 56 + reply: vec![MethodErr::failed(&"Collection interface not implemented") [INFO] [stdout] 57 + .to_message(msg)], [INFO] [stdout] 58 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | / return Some(MsgHandlerResult { [INFO] [stdout] 66 | | done: false, [INFO] [stdout] 67 | | handled: true, [INFO] [stdout] 68 | | reply: vec![ [INFO] [stdout] ... | [INFO] [stdout] 71 | | ], [INFO] [stdout] 72 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 65 ~ Some(MsgHandlerResult { [INFO] [stdout] 66 + done: false, [INFO] [stdout] 67 + handled: true, [INFO] [stdout] 68 + reply: vec![ [INFO] [stdout] 69 + MethodErr::failed(&"Unimplemented: Setting collection properties") [INFO] [stdout] 70 + .to_message(msg), [INFO] [stdout] 71 + ], [INFO] [stdout] 72 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | / return Some(MsgHandlerResult { [INFO] [stdout] 76 | | done: false, [INFO] [stdout] 77 | | handled: true, [INFO] [stdout] 78 | | reply: vec![ [INFO] [stdout] ... | [INFO] [stdout] 81 | | ], [INFO] [stdout] 82 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 75 ~ Some(MsgHandlerResult { [INFO] [stdout] 76 + done: false, [INFO] [stdout] 77 + handled: true, [INFO] [stdout] 78 + reply: vec![ [INFO] [stdout] 79 + MethodErr::failed(&"Getting list of properties for collection") [INFO] [stdout] 80 + .to_message(msg), [INFO] [stdout] 81 + ], [INFO] [stdout] 82 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 85 | / return Some(MsgHandlerResult { [INFO] [stdout] 86 | | done: false, [INFO] [stdout] 87 | | handled: true, [INFO] [stdout] 88 | | reply: vec![MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 89 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 85 ~ Some(MsgHandlerResult { [INFO] [stdout] 86 + done: false, [INFO] [stdout] 87 + handled: true, [INFO] [stdout] 88 + reply: vec![MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 89 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:93:13 [INFO] [stdout] | [INFO] [stdout] 93 | / return Some(MsgHandlerResult { [INFO] [stdout] 94 | | done: false, [INFO] [stdout] 95 | | handled: true, [INFO] [stdout] 96 | | reply: vec![MethodErr::failed(&"Unsupported interface").to_message(msg)], [INFO] [stdout] 97 | | }); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 93 ~ Some(MsgHandlerResult { [INFO] [stdout] 94 + done: false, [INFO] [stdout] 95 + handled: true, [INFO] [stdout] 96 + reply: vec![MethodErr::failed(&"Unsupported interface").to_message(msg)], [INFO] [stdout] 97 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/bin/daemon/collection_calls.rs:10:49 [INFO] [stdout] | [INFO] [stdout] 10 | "org.freedesktop.Secrets.Collection" => match member { [INFO] [stdout] | _________________________________________________^ [INFO] [stdout] 11 | | _ => { [INFO] [stdout] 12 | | return Some(MsgHandlerResult { [INFO] [stdout] 13 | | done: false, [INFO] [stdout] ... | [INFO] [stdout] 18 | | }, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] = note: `#[warn(clippy::match_single_binding)]` on by default [INFO] [stdout] help: consider using the match body instead [INFO] [stdout] | [INFO] [stdout] 10 ~ "org.freedesktop.Secrets.Collection" => { [INFO] [stdout] 11 + return Some(MsgHandlerResult { [INFO] [stdout] 12 + done: false, [INFO] [stdout] 13 + handled: true, [INFO] [stdout] 14 + reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 15 + }); [INFO] [stdout] 16 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | / return Some(MsgHandlerResult { [INFO] [stdout] 14 | | done: false, [INFO] [stdout] 15 | | handled: true, [INFO] [stdout] 16 | | reply: vec![ [INFO] [stdout] ... | [INFO] [stdout] 19 | | ], [INFO] [stdout] 20 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 13 ~ Some(MsgHandlerResult { [INFO] [stdout] 14 + done: false, [INFO] [stdout] 15 + handled: true, [INFO] [stdout] 16 + reply: vec![ [INFO] [stdout] 17 + dbus::tree::MethodErr::failed(&"Wrong interface for this object") [INFO] [stdout] 18 + .to_message(msg), [INFO] [stdout] 19 + ], [INFO] [stdout] 20 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:50:25 [INFO] [stdout] | [INFO] [stdout] 50 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 50 - return Some(result); [INFO] [stdout] 50 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | / return Some(MsgHandlerResult { [INFO] [stdout] 54 | | done: false, [INFO] [stdout] 55 | | handled: true, [INFO] [stdout] ... | [INFO] [stdout] 58 | | }); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 53 ~ Some(MsgHandlerResult { [INFO] [stdout] 54 + done: false, [INFO] [stdout] 55 + handled: true, [INFO] [stdout] 56 + //todo generate sessions [INFO] [stdout] 57 + reply: vec![msg.method_return().append1(false)], [INFO] [stdout] 58 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:61:25 [INFO] [stdout] | [INFO] [stdout] 61 | / return Some(MsgHandlerResult { [INFO] [stdout] 62 | | done: false, [INFO] [stdout] 63 | | handled: true, [INFO] [stdout] 64 | | reply: vec![dbus::tree::MethodErr::failed(&"Collection interface not implemented") [INFO] [stdout] 65 | | .to_message(msg)], [INFO] [stdout] 66 | | }) [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 61 ~ Some(MsgHandlerResult { [INFO] [stdout] 62 + done: false, [INFO] [stdout] 63 + handled: true, [INFO] [stdout] 64 + reply: vec![dbus::tree::MethodErr::failed(&"Collection interface not implemented") [INFO] [stdout] 65 + .to_message(msg)], [INFO] [stdout] 66 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | / return Some(MsgHandlerResult { [INFO] [stdout] 73 | | done: false, [INFO] [stdout] 74 | | handled: true, [INFO] [stdout] 75 | | reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] ... | [INFO] [stdout] 78 | | .to_message(msg)], [INFO] [stdout] 79 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 72 ~ Some(MsgHandlerResult { [INFO] [stdout] 73 + done: false, [INFO] [stdout] 74 + handled: true, [INFO] [stdout] 75 + reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] 76 + &"Setting properties is not supported", [INFO] [stdout] 77 + ) [INFO] [stdout] 78 + .to_message(msg)], [INFO] [stdout] 79 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | / return Some(MsgHandlerResult { [INFO] [stdout] 83 | | done: false, [INFO] [stdout] 84 | | handled: true, [INFO] [stdout] 85 | | reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] ... | [INFO] [stdout] 88 | | .to_message(msg)], [INFO] [stdout] 89 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 82 ~ Some(MsgHandlerResult { [INFO] [stdout] 83 + done: false, [INFO] [stdout] 84 + handled: true, [INFO] [stdout] 85 + reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] 86 + &"Getting a list of properties is not supported", [INFO] [stdout] 87 + ) [INFO] [stdout] 88 + .to_message(msg)], [INFO] [stdout] 89 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | / return Some(MsgHandlerResult { [INFO] [stdout] 93 | | done: false, [INFO] [stdout] 94 | | handled: true, [INFO] [stdout] 95 | | reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 96 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 92 ~ Some(MsgHandlerResult { [INFO] [stdout] 93 + done: false, [INFO] [stdout] 94 + handled: true, [INFO] [stdout] 95 + reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 96 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/item_calls.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | / return Some(MsgHandlerResult { [INFO] [stdout] 101 | | done: false, [INFO] [stdout] 102 | | handled: true, [INFO] [stdout] 103 | | reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 104 | | }); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 100 ~ Some(MsgHandlerResult { [INFO] [stdout] 101 + done: false, [INFO] [stdout] 102 + handled: true, [INFO] [stdout] 103 + reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 104 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/bin/daemon/item_calls.rs:11:43 [INFO] [stdout] | [INFO] [stdout] 11 | "org.freedesktop.Secrets.Item" => match member { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 12 | | _ => { [INFO] [stdout] 13 | | return Some(MsgHandlerResult { [INFO] [stdout] 14 | | done: false, [INFO] [stdout] ... | [INFO] [stdout] 22 | | }, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using the match body instead [INFO] [stdout] | [INFO] [stdout] 11 ~ "org.freedesktop.Secrets.Item" => { [INFO] [stdout] 12 + return Some(MsgHandlerResult { [INFO] [stdout] 13 + done: false, [INFO] [stdout] 14 + handled: true, [INFO] [stdout] 15 + reply: vec![ [INFO] [stdout] 16 + dbus::tree::MethodErr::failed(&"Wrong interface for this object") [INFO] [stdout] 17 + .to_message(msg), [INFO] [stdout] 18 + ], [INFO] [stdout] 19 + }); [INFO] [stdout] 20 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/service_calls.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 28 - return Some(result); [INFO] [stdout] 28 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/service_calls.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 48 - return Some(result); [INFO] [stdout] 48 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/service_calls.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | return Some(result); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 69 - return Some(result); [INFO] [stdout] 69 + Some(result) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/service_calls.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | / return Some(MsgHandlerResult { [INFO] [stdout] 73 | | done: false, [INFO] [stdout] 74 | | handled: true, [INFO] [stdout] 75 | | reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 76 | | }) [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 72 ~ Some(MsgHandlerResult { [INFO] [stdout] 73 + done: false, [INFO] [stdout] 74 + handled: true, [INFO] [stdout] 75 + reply: vec![dbus::tree::MethodErr::failed(&"Unknown member").to_message(msg)], [INFO] [stdout] 76 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/session_calls.rs:7:17 [INFO] [stdout] | [INFO] [stdout] 7 | / return Some(MsgHandlerResult { [INFO] [stdout] 8 | | done: false, [INFO] [stdout] 9 | | handled: true, [INFO] [stdout] 10 | | reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] ... | [INFO] [stdout] 13 | | .to_message(msg)], [INFO] [stdout] 14 | | }); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 7 ~ Some(MsgHandlerResult { [INFO] [stdout] 8 + done: false, [INFO] [stdout] 9 + handled: true, [INFO] [stdout] 10 + reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] 11 + &"Session interface not implemented", [INFO] [stdout] 12 + ) [INFO] [stdout] 13 + .to_message(msg)], [INFO] [stdout] 14 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/bin/daemon/session_calls.rs:5:49 [INFO] [stdout] | [INFO] [stdout] 5 | "org.freedesktop.Secrets.Collection" => match member { [INFO] [stdout] | _________________________________________________^ [INFO] [stdout] 6 | | _ => { [INFO] [stdout] 7 | | return Some(MsgHandlerResult { [INFO] [stdout] 8 | | done: false, [INFO] [stdout] ... | [INFO] [stdout] 16 | | }, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using the match body instead [INFO] [stdout] | [INFO] [stdout] 5 ~ "org.freedesktop.Secrets.Collection" => { [INFO] [stdout] 6 + return Some(MsgHandlerResult { [INFO] [stdout] 7 + done: false, [INFO] [stdout] 8 + handled: true, [INFO] [stdout] 9 + reply: vec![dbus::tree::MethodErr::failed( [INFO] [stdout] 10 + &"Session interface not implemented", [INFO] [stdout] 11 + ) [INFO] [stdout] 12 + .to_message(msg)], [INFO] [stdout] 13 + }); [INFO] [stdout] 14 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/bin/daemon/main.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | if route.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `route.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_owned` [INFO] [stdout] --> src/bin/daemon/main.rs:224:57 [INFO] [stdout] | [INFO] [stdout] 224 | let repo = std::path::Path::new(home.as_str()).join(".sparkpass/".to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `".sparkpass/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] = note: `#[warn(clippy::unnecessary_to_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/bin/daemon/main.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | return my_b || b; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 245 - return my_b || b; [INFO] [stdout] 245 + my_b || b [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be written as a `let` statement [INFO] [stdout] --> src/bin/daemon/main.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | / let my_b = match &m.headers() { [INFO] [stdout] 238 | | (_, path, _, _) => match path { [INFO] [stdout] 239 | | None => false, [INFO] [stdout] 240 | | Some(path) => path.starts_with("/org/freedesktop/Secrets"), [INFO] [stdout] 241 | | }, [INFO] [stdout] 242 | | }; [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] help: consider using a `let` statement [INFO] [stdout] | [INFO] [stdout] 237 ~ let (_, path, _, _) = &m.headers(); [INFO] [stdout] 238 + let my_b = match path { [INFO] [stdout] 239 + None => false, [INFO] [stdout] 240 + Some(path) => path.starts_with("/org/freedesktop/Secrets"), [INFO] [stdout] 241 + }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/bin/daemon/main.rs:189:24 [INFO] [stdout] | [INFO] [stdout] 189 | panic!("No key given".to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 189 | panic!("{}", "No key given".to_owned()); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/bin/daemon/main.rs:209:24 [INFO] [stdout] | [INFO] [stdout] 209 | panic!(e.as_str().to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 209 | panic!("{}", e.as_str().to_owned()); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.07s [INFO] running `Command { std: "docker" "inspect" "2d3dd1cf8b10c1483cbf45bffaa1d01ab150ec82ce2279d210efd4e6049c6539", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2d3dd1cf8b10c1483cbf45bffaa1d01ab150ec82ce2279d210efd4e6049c6539", kill_on_drop: false }` [INFO] [stdout] 2d3dd1cf8b10c1483cbf45bffaa1d01ab150ec82ce2279d210efd4e6049c6539