[INFO] cloning repository https://github.com/lmzuccarelli/rust-image-mirror [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lmzuccarelli/rust-image-mirror" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flmzuccarelli%2Frust-image-mirror", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flmzuccarelli%2Frust-image-mirror'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c7f705390b0d17ec8d655c56f68bab873a2be9a2 [INFO] linting lmzuccarelli/rust-image-mirror against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flmzuccarelli%2Frust-image-mirror" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/lmzuccarelli/rust-image-mirror [INFO] finished tweaking git repo https://github.com/lmzuccarelli/rust-image-mirror [INFO] tweaked toml for git repo https://github.com/lmzuccarelli/rust-image-mirror written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lmzuccarelli/rust-image-mirror 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] crate git repo https://github.com/lmzuccarelli/rust-image-mirror already has a lockfile, it will not be regenerated [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] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Updating git repository `https://github.com/lmzuccarelli/rust-mirror-auth` [INFO] [stderr] Updating git repository `https://github.com/lmzuccarelli/rust-mirror-catalog` [INFO] [stderr] Updating git repository `https://github.com/lmzuccarelli/rust-mirror-catalog-index` [INFO] [stderr] Updating git repository `https://github.com/lmzuccarelli/rust-mirror-config` [INFO] [stderr] Updating git repository `https://github.com/lmzuccarelli/rust-mirror-copy` [INFO] [stderr] Updating git repository `https://github.com/lmzuccarelli/rust-mirror-error` [INFO] [stderr] Updating git repository `https://github.com/lmzuccarelli/rust-mirror-utils` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serial_test v2.0.0 [INFO] [stderr] Downloaded rm_rf v0.6.2 [INFO] [stderr] Downloaded exitcode v1.1.2 [INFO] [stderr] Downloaded serial_test_derive v2.0.0 [INFO] [stderr] Downloaded serde_with_macros v3.7.0 [INFO] [stderr] Downloaded similar v2.5.0 [INFO] [stderr] Downloaded mockito v1.4.0 [INFO] [stderr] Downloaded serde_with v3.7.0 [INFO] [stderr] Downloaded chrono v0.4.37 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 275597ed6b51fb17887b78ede5748f65000b5b214043f2da16fdc2b9cfb1fe5c [INFO] running `Command { std: "docker" "start" "-a" "275597ed6b51fb17887b78ede5748f65000b5b214043f2da16fdc2b9cfb1fe5c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "275597ed6b51fb17887b78ede5748f65000b5b214043f2da16fdc2b9cfb1fe5c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "275597ed6b51fb17887b78ede5748f65000b5b214043f2da16fdc2b9cfb1fe5c", kill_on_drop: false }` [INFO] [stdout] 275597ed6b51fb17887b78ede5748f65000b5b214043f2da16fdc2b9cfb1fe5c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 93b2fda88625ceff6f5480d40627eeadaa29621fdfbc391b768cca4a92ae1bfc [INFO] running `Command { std: "docker" "start" "-a" "93b2fda88625ceff6f5480d40627eeadaa29621fdfbc391b768cca4a92ae1bfc", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.0.92 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking indexmap v2.2.6 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Compiling rustix v0.38.32 [INFO] [stderr] Compiling crc32fast v1.4.0 [INFO] [stderr] Checking linux-raw-sys v0.4.13 [INFO] [stderr] Checking miniz_oxide v0.7.2 [INFO] [stderr] Checking filetime v0.2.23 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Checking mirror-error v0.1.0 (https://github.com/lmzuccarelli/rust-mirror-error?branch=main#9d9c5dd3) [INFO] [stderr] Checking anstyle-parse v0.2.3 [INFO] [stderr] Checking getrandom v0.2.14 [INFO] [stderr] Checking colorchoice v1.0.0 [INFO] [stderr] Compiling syn v2.0.58 [INFO] [stderr] Checking anstyle v1.0.6 [INFO] [stderr] Checking anstyle-query v1.0.2 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling semver v1.0.22 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking colored v2.1.0 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Checking fs_extra v1.3.0 [INFO] [stderr] Checking flate2 v1.0.28 [INFO] [stderr] Checking exitcode v1.1.2 [INFO] [stderr] Checking anstream v0.6.13 [INFO] [stderr] Checking similar v2.5.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking clap_builder v4.5.2 [INFO] [stderr] Compiling openssl-sys v0.9.102 [INFO] [stderr] Compiling psm v0.1.21 [INFO] [stderr] Compiling stacker v0.1.15 [INFO] [stderr] Checking tempdir v0.3.7 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Compiling openssl v0.10.64 [INFO] [stderr] Compiling native-tls v0.2.11 [INFO] [stderr] Checking rm_rf v0.6.2 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Checking xattr v1.3.1 [INFO] [stderr] Checking tar v0.4.40 [INFO] [stderr] Checking regex v1.10.4 [INFO] [stderr] Checking serde_json v1.0.115 [INFO] [stderr] Checking chrono v0.4.37 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling darling_core v0.20.8 [INFO] [stderr] Compiling tokio-macros v2.2.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling async-trait v0.1.80 [INFO] [stderr] Compiling async-stream-impl v0.3.5 [INFO] [stderr] Compiling clap_derive v4.5.4 [INFO] [stderr] Compiling serial_test_derive v2.0.0 [INFO] [stderr] Checking tokio v1.37.0 [INFO] [stderr] Checking assert-json-diff v2.0.2 [INFO] [stderr] Checking async-stream v0.3.5 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking custom-logger v0.1.4 (https://github.com/lmzuccarelli/rust-custom-logger?branch=main#f0ab24a9) [INFO] [stderr] Compiling darling_macro v0.20.8 [INFO] [stderr] Compiling darling v0.20.8 [INFO] [stderr] Compiling serde_with_macros v3.7.0 [INFO] [stderr] Checking clap v4.5.4 [INFO] [stderr] Checking mirror-config v0.2.0 (https://github.com/lmzuccarelli/rust-mirror-config?branch=main#7d4515c4) [INFO] [stderr] Checking mirror-catalog v0.4.1 (https://github.com/lmzuccarelli/rust-mirror-catalog?branch=main#07c9cda0) [INFO] [stderr] Checking serde_with v3.7.0 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking serial_test v2.0.0 [INFO] [stderr] Checking tokio-util v0.7.10 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking sha256 v1.5.0 [INFO] [stderr] Checking tokio-stream v0.1.15 [INFO] [stderr] Checking tokio-test v0.4.4 [INFO] [stderr] Checking h2 v0.3.26 [INFO] [stderr] Checking hyper v0.14.28 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking mockito v1.4.0 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking mirror-copy v0.8.1 (https://github.com/lmzuccarelli/rust-mirror-copy?branch=main#3d326f4a) [INFO] [stderr] Checking mirror-auth v0.7.0 (https://github.com/lmzuccarelli/rust-mirror-auth?branch=main#e318b322) [INFO] [stderr] Checking mirror-utils v0.3.1 (https://github.com/lmzuccarelli/rust-mirror-utils?branch=main#fa993f2c) [INFO] [stderr] Checking mirror-catalog-index v0.6.1 (https://github.com/lmzuccarelli/rust-mirror-catalog-index?branch=main#2d262c00) [INFO] [stderr] Checking image-mirror v0.5.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | use tokio; [INFO] [stdout] | ^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | use tokio; [INFO] [stdout] | ^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CatalogSource` is never constructed [INFO] [stdout] --> src/clusterresources/generate.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct CatalogSource { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CatalogSourceSpec` is never constructed [INFO] [stdout] --> src/clusterresources/generate.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 94 | pub struct CatalogSourceSpec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageMirrorInfo` is never constructed [INFO] [stdout] --> src/clusterresources/generate.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct ImageMirrorInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ManifestList` is never constructed [INFO] [stdout] --> src/operator/collector.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct ManifestList { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MirrorManifest` is never constructed [INFO] [stdout] --> src/operator/collector.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct MirrorManifest { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/additional/collector.rs:91:16 [INFO] [stdout] | [INFO] [stdout] 91 | if !(mp.skip_manifest_check == "additional" || mp.skip_manifest_check == "all") [INFO] [stdout] | ________________^ [INFO] [stdout] 92 | | && !mp.dry_run [INFO] [stdout] | |______________________________^ help: try: `!(mp.skip_manifest_check == "additional" || mp.skip_manifest_check == "all" || mp.dry_run)` [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: called `unwrap` on `mdir_file` after checking its variant with `is_some` [INFO] [stdout] --> src/additional/collector.rs:200:20 [INFO] [stdout] | [INFO] [stdout] 199 | if mdir_file.is_some() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = mdir_file` [INFO] [stdout] 200 | file = mdir_file.unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/additional/collector.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | ir.registry.clone() + &"/" + &ir.namespace.clone() + "/" + &ir.name.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/additional/collector.rs:64:39 [INFO] [stdout] | [INFO] [stdout] 64 | ir.registry.clone() + &"/" + &ir.namespace.clone() + "/" + &ir.name.clone() [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/additional/collector.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | / ir_url.registry.clone() [INFO] [stdout] 97 | | + &"/" [INFO] [stdout] | |___________________________---^ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/additional/collector.rs:97:27 [INFO] [stdout] | [INFO] [stdout] 97 | + &"/" [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/additional/collector.rs:121:24 [INFO] [stdout] | [INFO] [stdout] 121 | namespace: ir.namespace.clone() + &"/" + &ir.name, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/additional/collector.rs:121:47 [INFO] [stdout] | [INFO] [stdout] 121 | namespace: ir.namespace.clone() + &"/" + &ir.name, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/additional/collector.rs:169:28 [INFO] [stdout] | [INFO] [stdout] 169 | namespace: ir.namespace.clone() + &"/" + &ir.name, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/additional/collector.rs:169:51 [INFO] [stdout] | [INFO] [stdout] 169 | namespace: ir.namespace.clone() + &"/" + &ir.name, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/additional/collector.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | mp.dir.clone() + &"/mirror-metadata/additional-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-metadata/additional-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/additional/collector.rs:187:26 [INFO] [stdout] | [INFO] [stdout] 187 | mp.dir.clone() + &"/mirror-metadata/additional-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-metadata/additional-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/additional/collector.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | mp.dir.clone() + &"/mappings/", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mappings/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/additional/collector.rs:223:30 [INFO] [stdout] | [INFO] [stdout] 223 | mp.dir.clone() + &"/mappings/", [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `"/mappings/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `img.tag` after checking its variant with `is_some` [INFO] [stdout] --> src/archive/create.rs:68:65 [INFO] [stdout] | [INFO] [stdout] 67 | if img.tag.is_some() && img.digest.len() == 0 { [INFO] [stdout] | ----------------- the check is happening here [INFO] [stdout] 68 | td = format!("{}:{}", img.name.clone(), img.tag.as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `img.tag` after checking its variant with `is_some` [INFO] [stdout] --> src/archive/create.rs:137:57 [INFO] [stdout] | [INFO] [stdout] 136 | if img.tag.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &img.tag` [INFO] [stdout] 137 | to_file = format!("{}-{}.json", img.tag.as_ref().unwrap(), img.arch); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/archive/create.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 37 | fs_handler(base_dir.clone() + &"/artifacts", "create_dir", None).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/artifacts"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/archive/create.rs:37:35 [INFO] [stdout] | [INFO] [stdout] 37 | fs_handler(base_dir.clone() + &"/artifacts", "create_dir", None).await?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `"/artifacts"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/archive/create.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 66 | let td: String; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `td` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 66 ~ [INFO] [stdout] 67 ~ let td: String = if img.tag.is_some() && img.digest.len() == 0 { [INFO] [stdout] 68 ~ format!("{}:{}", img.name.clone(), img.tag.as_ref().unwrap()) [INFO] [stdout] 69 | } else { [INFO] [stdout] 70 ~ img.digest.clone() [INFO] [stdout] 71 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/archive/create.rs:67:45 [INFO] [stdout] | [INFO] [stdout] 67 | if img.tag.is_some() && img.digest.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `img.digest.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: manual implementation of an assign operation [INFO] [stdout] --> src/archive/create.rs:104:29 [INFO] [stdout] | [INFO] [stdout] 104 | ... current_size = current_size + layer.size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current_size += layer.size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/archive/create.rs:110:32 [INFO] [stdout] | [INFO] [stdout] 110 | let from = base_dir.clone() [INFO] [stdout] | ________________________________^ [INFO] [stdout] 111 | | + "/blobs-store/" [INFO] [stdout] 112 | | + &cfg_digest[..2] [INFO] [stdout] 113 | | + &String::from("/") [INFO] [stdout] 114 | | + &cfg_digest; [INFO] [stdout] | |___________________________----------^ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `cfg_digest` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/archive/create.rs:114:27 [INFO] [stdout] | [INFO] [stdout] 114 | + &cfg_digest; [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `cfg_digest` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/archive/create.rs:124:25 [INFO] [stdout] | [INFO] [stdout] 124 | current_size = current_size + manifest.clone().config.unwrap().size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current_size += manifest.clone().config.unwrap().size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/archive/create.rs:127:25 [INFO] [stdout] | [INFO] [stdout] 127 | total_size = total_size + current_size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_size += current_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/archive/create.rs:135:21 [INFO] [stdout] | [INFO] [stdout] 135 | let to_file: String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `to_file` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 135 ~ [INFO] [stdout] 136 ~ let to_file: String = if img.tag.is_some() { [INFO] [stdout] 137 ~ format!("{}-{}.json", img.tag.as_ref().unwrap(), img.arch) [INFO] [stdout] 138 | } else { [INFO] [stdout] 139 ~ format!("{}-{}.json", img.digest, img.arch) [INFO] [stdout] 140 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `x` is only used to index `spinner` [INFO] [stdout] --> src/archive/create.rs:163:22 [INFO] [stdout] | [INFO] [stdout] 163 | for x in 0..9 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 163 - for x in 0..9 { [INFO] [stdout] 163 + for in spinner.iter().take(9) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/archive/create.rs:173:36 [INFO] [stdout] | [INFO] [stdout] 173 | println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] = note: `#[warn(clippy::print_literal)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 173 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] 173 + println!("\x1b[1A \x1b[38C\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/archive/create.rs:175:41 [INFO] [stdout] | [INFO] [stdout] 175 | File::create(base_dir.clone() + &"/artifacts/mirror-manifests.tar".to_string()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `"/artifacts/mirror-manifests.tar"` [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: literal with an empty format string [INFO] [stdout] --> src/archive/create.rs:181:36 [INFO] [stdout] | [INFO] [stdout] 181 | println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 181 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] 181 + println!("\x1b[1A \x1b[38C\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/archive/create.rs:183:41 [INFO] [stdout] | [INFO] [stdout] 183 | File::create(base_dir.clone() + &"/artifacts/mirror-metadata.tar".to_string()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `"/artifacts/mirror-metadata.tar"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/archive/create.rs:190:36 [INFO] [stdout] | [INFO] [stdout] 190 | println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 190 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] 190 + println!("\x1b[1A \x1b[38C\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/batch/worker.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | total = total + v.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total += v.len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/batch/worker.rs:49:24 [INFO] [stdout] | [INFO] [stdout] 49 | let registry = hld.split("/").nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.split("/").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] = note: `#[warn(clippy::iter_nth_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/batch/worker.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 84 | if v.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!v.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: taken reference of right operand [INFO] [stdout] --> src/catalog/builder.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | cleanup(base_dir.clone() + &"/tmp").await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/tmp"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/catalog/builder.rs:106:36 [INFO] [stdout] | [INFO] [stdout] 106 | cleanup(base_dir.clone() + &"/tmp").await?; [INFO] [stdout] | ^^^^^^^ help: change this to: `"/tmp"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `pkg_json.default_channel` after checking its variant with `is_some` [INFO] [stdout] --> src/catalog/builder.rs:188:31 [INFO] [stdout] | [INFO] [stdout] 187 | if pkg_json.default_channel.is_some() { [INFO] [stdout] | ------------------------------------- help: try: `if let Some() = pkg_json.default_channel` [INFO] [stdout] 188 | let default_channel = pkg_json.default_channel.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/catalog/builder.rs:123:16 [INFO] [stdout] | [INFO] [stdout] 123 | "amd64".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: struct `CatalogSource` is never constructed [INFO] [stdout] --> src/clusterresources/generate.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | pub struct CatalogSource { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CatalogSourceSpec` is never constructed [INFO] [stdout] --> src/clusterresources/generate.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 94 | pub struct CatalogSourceSpec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageMirrorInfo` is never constructed [INFO] [stdout] --> src/clusterresources/generate.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct ImageMirrorInfo { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ManifestList` is never constructed [INFO] [stdout] --> src/operator/collector.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct ManifestList { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MirrorManifest` is never constructed [INFO] [stdout] --> src/operator/collector.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct MirrorManifest { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/additional/collector.rs:91:16 [INFO] [stdout] | [INFO] [stdout] 91 | if !(mp.skip_manifest_check == "additional" || mp.skip_manifest_check == "all") [INFO] [stdout] | ________________^ [INFO] [stdout] 92 | | && !mp.dry_run [INFO] [stdout] | |______________________________^ help: try: `!(mp.skip_manifest_check == "additional" || mp.skip_manifest_check == "all" || mp.dry_run)` [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: called `unwrap` on `mdir_file` after checking its variant with `is_some` [INFO] [stdout] --> src/additional/collector.rs:200:20 [INFO] [stdout] | [INFO] [stdout] 199 | if mdir_file.is_some() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = mdir_file` [INFO] [stdout] 200 | file = mdir_file.unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `data` after checking its variant with `is_ok` [INFO] [stdout] --> src/clusterresources/generate.rs:142:44 [INFO] [stdout] | [INFO] [stdout] 135 | if data.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = data` [INFO] [stdout] ... [INFO] [stdout] 142 | let mut archive = Archive::new(data.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/clusterresources/generate.rs:143:57 [INFO] [stdout] | [INFO] [stdout] 143 | for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] = note: `#[warn(clippy::unused_enumerate_index)]` on by default [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 143 - for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] 143 + for file in archive.entries().unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/additional/collector.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | ir.registry.clone() + &"/" + &ir.namespace.clone() + "/" + &ir.name.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/additional/collector.rs:64:39 [INFO] [stdout] | [INFO] [stdout] 64 | ir.registry.clone() + &"/" + &ir.namespace.clone() + "/" + &ir.name.clone() [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/clusterresources/generate.rs:214:36 [INFO] [stdout] | [INFO] [stdout] 214 | log.debug(&format!("{}", mi.reference.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `mi.reference.clone().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/clusterresources/generate.rs:221:70 [INFO] [stdout] | [INFO] [stdout] 221 | || mi.arch == "amd64" && mi.tag.is_some() && mi.digest.len() == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `mi.digest.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: useless use of `format!` [INFO] [stdout] --> src/clusterresources/generate.rs:223:36 [INFO] [stdout] | [INFO] [stdout] 223 | log.debug(&format!("{}", mi.reference.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `mi.reference.clone().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/additional/collector.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | / ir_url.registry.clone() [INFO] [stdout] 97 | | + &"/" [INFO] [stdout] | |___________________________---^ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/additional/collector.rs:97:27 [INFO] [stdout] | [INFO] [stdout] 97 | + &"/" [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/additional/collector.rs:121:24 [INFO] [stdout] | [INFO] [stdout] 121 | namespace: ir.namespace.clone() + &"/" + &ir.name, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/additional/collector.rs:121:47 [INFO] [stdout] | [INFO] [stdout] 121 | namespace: ir.namespace.clone() + &"/" + &ir.name, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/additional/collector.rs:169:28 [INFO] [stdout] | [INFO] [stdout] 169 | namespace: ir.namespace.clone() + &"/" + &ir.name, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/additional/collector.rs:169:51 [INFO] [stdout] | [INFO] [stdout] 169 | namespace: ir.namespace.clone() + &"/" + &ir.name, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/additional/collector.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | mp.dir.clone() + &"/mirror-metadata/additional-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-metadata/additional-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/additional/collector.rs:187:26 [INFO] [stdout] | [INFO] [stdout] 187 | mp.dir.clone() + &"/mirror-metadata/additional-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-metadata/additional-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/clusterresources/generate.rs:310:9 [INFO] [stdout] | [INFO] [stdout] 310 | write!(buffered_output, "---\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 310 - write!(buffered_output, "---\n").unwrap(); [INFO] [stdout] 310 + writeln!(buffered_output, "---").unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/clusterresources/generate.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | write!(buffered_output, "---\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 331 - write!(buffered_output, "---\n").unwrap(); [INFO] [stdout] 331 + writeln!(buffered_output, "---").unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/additional/collector.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | mp.dir.clone() + &"/mappings/", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mappings/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/additional/collector.rs:223:30 [INFO] [stdout] | [INFO] [stdout] 223 | mp.dir.clone() + &"/mappings/", [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `"/mappings/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/additional/collector.rs:314:25 [INFO] [stdout] | [INFO] [stdout] 310 | / let content = fs::read_to_string( [INFO] [stdout] 311 | | "test-artifacts/test-additional-image/manifest-list.json", [INFO] [stdout] 312 | | ) [INFO] [stdout] 313 | | .expect("should read operator-index manifest file"); [INFO] [stdout] | |____________________________________________________________________________- unnecessary `let` binding [INFO] [stdout] 314 | content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 310 ~ [INFO] [stdout] 311 ~ fs::read_to_string( [INFO] [stdout] 312 + "test-artifacts/test-additional-image/manifest-list.json", [INFO] [stdout] 313 + ) [INFO] [stdout] 314 + .expect("should read operator-index manifest file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/additional/collector.rs:321:25 [INFO] [stdout] | [INFO] [stdout] 317 | / ... let content = fs::read_to_string( [INFO] [stdout] 318 | | ... "test-artifacts/test-additional-image/sha256:65e311ef7036acc3692d291403656b840fd216d120b3c37af768f91df050257d-amd64.json", [INFO] [stdout] 319 | | ... ) [INFO] [stdout] 320 | | ... .expect("should read operator-index manifest file"); [INFO] [stdout] | |__________________________________________________________- unnecessary `let` binding [INFO] [stdout] 321 | ... content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 317 ~ [INFO] [stdout] 318 ~ fs::read_to_string( [INFO] [stdout] 319 + "test-artifacts/test-additional-image/sha256:65e311ef7036acc3692d291403656b840fd216d120b3c37af768f91df050257d-amd64.json", [INFO] [stdout] 320 + ) [INFO] [stdout] 321 + .expect("should read operator-index manifest file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/additional/collector.rs:328:25 [INFO] [stdout] | [INFO] [stdout] 324 | / ... let content = fs::read_to_string( [INFO] [stdout] 325 | | ... "test-artifacts/test-additional-image/sha256:443bba00c2bfa4aa08f4fb47cfa2aa80de3302420a52452ba5e790a69dcaf60e-arm64.json", [INFO] [stdout] 326 | | ... ) [INFO] [stdout] 327 | | ... .expect("should read operator-index manifest file"); [INFO] [stdout] | |__________________________________________________________- unnecessary `let` binding [INFO] [stdout] 328 | ... content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 324 ~ [INFO] [stdout] 325 ~ fs::read_to_string( [INFO] [stdout] 326 + "test-artifacts/test-additional-image/sha256:443bba00c2bfa4aa08f4fb47cfa2aa80de3302420a52452ba5e790a69dcaf60e-arm64.json", [INFO] [stdout] 327 + ) [INFO] [stdout] 328 + .expect("should read operator-index manifest file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/additional/collector.rs:335:25 [INFO] [stdout] | [INFO] [stdout] 331 | / ... let content = fs::read_to_string( [INFO] [stdout] 332 | | ... "test-artifacts/test-additional-image/sha256:50a900cc4ecd2a792731e25c4d641074ebef6f5465b561d1ebf4eb9386807787-ppc64le.j... [INFO] [stdout] 333 | | ... ) [INFO] [stdout] 334 | | ... .expect("should read operator-index manifest file"); [INFO] [stdout] | |__________________________________________________________- unnecessary `let` binding [INFO] [stdout] 335 | ... content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 331 ~ [INFO] [stdout] 332 ~ fs::read_to_string( [INFO] [stdout] 333 + "test-artifacts/test-additional-image/sha256:50a900cc4ecd2a792731e25c4d641074ebef6f5465b561d1ebf4eb9386807787-ppc64le.json", [INFO] [stdout] 334 + ) [INFO] [stdout] 335 + .expect("should read operator-index manifest file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/additional/collector.rs:342:25 [INFO] [stdout] | [INFO] [stdout] 338 | / ... let content = fs::read_to_string( [INFO] [stdout] 339 | | ... "test-artifacts/test-additional-image/sha256:c6938da14fd3c55635d89a59ba2365014651d4b2b86366d8e4ef4db1c99feb1a-s390x.json", [INFO] [stdout] 340 | | ... ) [INFO] [stdout] 341 | | ... .expect("should read operator-index manifest file"); [INFO] [stdout] | |__________________________________________________________- unnecessary `let` binding [INFO] [stdout] 342 | ... content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 338 ~ [INFO] [stdout] 339 ~ fs::read_to_string( [INFO] [stdout] 340 + "test-artifacts/test-additional-image/sha256:c6938da14fd3c55635d89a59ba2365014651d4b2b86366d8e4ef4db1c99feb1a-s390x.json", [INFO] [stdout] 341 + ) [INFO] [stdout] 342 + .expect("should read operator-index manifest file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/additional/collector.rs:349:25 [INFO] [stdout] | [INFO] [stdout] 345 | / let content = fs::read_to_string( [INFO] [stdout] 346 | | "test-artifacts/test-additional-image/bad-manifest-list.json", [INFO] [stdout] 347 | | ) [INFO] [stdout] 348 | | .expect("should read operator-index manifest file"); [INFO] [stdout] | |____________________________________________________________________________- unnecessary `let` binding [INFO] [stdout] 349 | content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 345 ~ [INFO] [stdout] 346 ~ fs::read_to_string( [INFO] [stdout] 347 + "test-artifacts/test-additional-image/bad-manifest-list.json", [INFO] [stdout] 348 + ) [INFO] [stdout] 349 + .expect("should read operator-index manifest file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/additional/collector.rs:411:9 [INFO] [stdout] | [INFO] [stdout] 411 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 411 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 411 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/additional/collector.rs:438:9 [INFO] [stdout] | [INFO] [stdout] 438 | assert_eq!(res_dr.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 438 - assert_eq!(res_dr.is_ok(), true); [INFO] [stdout] 438 + assert!(res_dr.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/additional/collector.rs:472:9 [INFO] [stdout] | [INFO] [stdout] 472 | assert_eq!(res_k.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 472 - assert_eq!(res_k.is_err(), true); [INFO] [stdout] 472 + assert!(res_k.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/additional/collector.rs:509:9 [INFO] [stdout] | [INFO] [stdout] 509 | assert_eq!(res_k.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 509 - assert_eq!(res_k.is_err(), true); [INFO] [stdout] 509 + assert!(res_k.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/additional/collector.rs:546:9 [INFO] [stdout] | [INFO] [stdout] 546 | assert_eq!(res_x.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 546 - assert_eq!(res_x.is_err(), true); [INFO] [stdout] 546 + assert!(res_x.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/additional/collector.rs:583:9 [INFO] [stdout] | [INFO] [stdout] 583 | assert_eq!(res.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 583 - assert_eq!(res.is_err(), true); [INFO] [stdout] 583 + assert!(res.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/additional/collector.rs:620:9 [INFO] [stdout] | [INFO] [stdout] 620 | assert_eq!(res.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 620 - assert_eq!(res.is_err(), true); [INFO] [stdout] 620 + assert!(res.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `img.tag` after checking its variant with `is_some` [INFO] [stdout] --> src/archive/create.rs:68:65 [INFO] [stdout] | [INFO] [stdout] 67 | if img.tag.is_some() && img.digest.len() == 0 { [INFO] [stdout] | ----------------- the check is happening here [INFO] [stdout] 68 | td = format!("{}:{}", img.name.clone(), img.tag.as_ref().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `img.tag` after checking its variant with `is_some` [INFO] [stdout] --> src/archive/create.rs:137:57 [INFO] [stdout] | [INFO] [stdout] 136 | if img.tag.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &img.tag` [INFO] [stdout] 137 | to_file = format!("{}-{}.json", img.tag.as_ref().unwrap(), img.arch); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/archive/create.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 37 | fs_handler(base_dir.clone() + &"/artifacts", "create_dir", None).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/artifacts"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/archive/create.rs:37:35 [INFO] [stdout] | [INFO] [stdout] 37 | fs_handler(base_dir.clone() + &"/artifacts", "create_dir", None).await?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `"/artifacts"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `res_manifestlist` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:144:21 [INFO] [stdout] | [INFO] [stdout] 141 | if res_manifestlist.is_some() { [INFO] [stdout] | ----------------------------- help: try: `if let Some() = &res_manifestlist` [INFO] [stdout] ... [INFO] [stdout] 144 | res_manifestlist.as_ref().unwrap().clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `res_manifestlist` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:146:43 [INFO] [stdout] | [INFO] [stdout] 141 | if res_manifestlist.is_some() { [INFO] [stdout] | ----------------------------- help: try: `if let Some() = res_manifestlist` [INFO] [stdout] ... [INFO] [stdout] 146 | manifestlist = fs_handler(res_manifestlist.unwrap().clone(), "read", None).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `changed` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:204:51 [INFO] [stdout] | [INFO] [stdout] 202 | if changed.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = changed` [INFO] [stdout] 203 | log.info("[operator_mirror_to_disk] detected change in manifest"); [INFO] [stdout] 204 | let changed_manifest = fs_handler(changed.unwrap().clone(), "read", None).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `package` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:322:29 [INFO] [stdout] | [INFO] [stdout] 317 | if package.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = package` [INFO] [stdout] ... [INFO] [stdout] 322 | package.unwrap().default_channel.as_ref().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `channel` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:331:39 [INFO] [stdout] | [INFO] [stdout] 329 | if channel.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = channel` [INFO] [stdout] 330 | let mut vec_entries: Vec = Vec::new(); [INFO] [stdout] 331 | let chn = channel.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/archive/create.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 66 | let td: String; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `td` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 66 ~ [INFO] [stdout] 67 ~ let td: String = if img.tag.is_some() && img.digest.len() == 0 { [INFO] [stdout] 68 ~ format!("{}:{}", img.name.clone(), img.tag.as_ref().unwrap()) [INFO] [stdout] 69 | } else { [INFO] [stdout] 70 ~ img.digest.clone() [INFO] [stdout] 71 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `bundles` after checking its variant with `is_none` [INFO] [stdout] --> src/operator/collector.rs:343:30 [INFO] [stdout] | [INFO] [stdout] 314 | if bundles.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &bundles` [INFO] [stdout] ... [INFO] [stdout] 343 | for b in bundles.as_ref().unwrap().iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `bundle` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:370:46 [INFO] [stdout] | [INFO] [stdout] 353 | if bundle.is_some() { [INFO] [stdout] | ------------------- help: try: `if let Some() = bundle` [INFO] [stdout] ... [INFO] [stdout] 370 | let related_images = bundle.unwrap().related_images.clone().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/archive/create.rs:67:45 [INFO] [stdout] | [INFO] [stdout] 67 | if img.tag.is_some() && img.digest.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `img.digest.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: called `unwrap` on `manifest_list` after checking its variant with `is_ok` [INFO] [stdout] --> src/operator/collector.rs:413:42 [INFO] [stdout] | [INFO] [stdout] 412 | ... if manifest_list.is_ok() { [INFO] [stdout] | ------------------------ help: try: `if let Ok() = manifest_list` [INFO] [stdout] 413 | ... let ml = manifest_list.unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `url` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:588:37 [INFO] [stdout] | [INFO] [stdout] 585 | ... if url.is_some() { [INFO] [stdout] | ---------------- help: try: `if let Some() = url` [INFO] [stdout] ... [INFO] [stdout] 588 | ... url.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/operator/collector.rs:57:62 [INFO] [stdout] | [INFO] [stdout] 57 | format!("{}/{}", mp.dir.clone(), "manifests/operator".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: manual implementation of an assign operation [INFO] [stdout] --> src/archive/create.rs:104:29 [INFO] [stdout] | [INFO] [stdout] 104 | ... current_size = current_size + layer.size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current_size += layer.size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `format!` in `format!` args [INFO] [stdout] --> src/operator/collector.rs:108:23 [INFO] [stdout] | [INFO] [stdout] 108 | log.info(&format!( [INFO] [stdout] | _______________________^ [INFO] [stdout] 109 | | "[operator_mirror_to_disk] api call manifest for {}", [INFO] [stdout] 110 | | format!( [INFO] [stdout] 111 | | "{}/{}/{}/{}", [INFO] [stdout] ... | [INFO] [stdout] 114 | | )); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `format!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] = note: `#[warn(clippy::format_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/archive/create.rs:110:32 [INFO] [stdout] | [INFO] [stdout] 110 | let from = base_dir.clone() [INFO] [stdout] | ________________________________^ [INFO] [stdout] 111 | | + "/blobs-store/" [INFO] [stdout] 112 | | + &cfg_digest[..2] [INFO] [stdout] 113 | | + &String::from("/") [INFO] [stdout] 114 | | + &cfg_digest; [INFO] [stdout] | |___________________________----------^ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `cfg_digest` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/archive/create.rs:114:27 [INFO] [stdout] | [INFO] [stdout] 114 | + &cfg_digest; [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `cfg_digest` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/archive/create.rs:124:25 [INFO] [stdout] | [INFO] [stdout] 124 | current_size = current_size + manifest.clone().config.unwrap().size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `current_size += manifest.clone().config.unwrap().size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/archive/create.rs:127:25 [INFO] [stdout] | [INFO] [stdout] 127 | total_size = total_size + current_size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_size += current_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/archive/create.rs:135:21 [INFO] [stdout] | [INFO] [stdout] 135 | let to_file: String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `to_file` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 135 ~ [INFO] [stdout] 136 ~ let to_file: String = if img.tag.is_some() { [INFO] [stdout] 137 ~ format!("{}-{}.json", img.tag.as_ref().unwrap(), img.arch) [INFO] [stdout] 138 | } else { [INFO] [stdout] 139 ~ format!("{}-{}.json", img.digest, img.arch) [INFO] [stdout] 140 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:167:32 [INFO] [stdout] | [INFO] [stdout] 167 | let manifest_dir = manifest_json.split("manifest.json").nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `manifest_json.split("manifest.json").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `x` is only used to index `spinner` [INFO] [stdout] --> src/archive/create.rs:163:22 [INFO] [stdout] | [INFO] [stdout] 163 | for x in 0..9 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 163 - for x in 0..9 { [INFO] [stdout] 163 + for in spinner.iter().take(9) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/archive/create.rs:173:36 [INFO] [stdout] | [INFO] [stdout] 173 | println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] = note: `#[warn(clippy::print_literal)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 173 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] 173 + println!("\x1b[1A \x1b[38C\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/archive/create.rs:175:41 [INFO] [stdout] | [INFO] [stdout] 175 | File::create(base_dir.clone() + &"/artifacts/mirror-manifests.tar".to_string()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `"/artifacts/mirror-manifests.tar"` [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: literal with an empty format string [INFO] [stdout] --> src/archive/create.rs:181:36 [INFO] [stdout] | [INFO] [stdout] 181 | println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 181 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] 181 + println!("\x1b[1A \x1b[38C\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/archive/create.rs:183:41 [INFO] [stdout] | [INFO] [stdout] 183 | File::create(base_dir.clone() + &"/artifacts/mirror-metadata.tar".to_string()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `"/artifacts/mirror-metadata.tar"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/operator/collector.rs:245:28 [INFO] [stdout] | [INFO] [stdout] 245 | log.debug(&format!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 246 | | "[operator_mirror_to_disk] completed image index download" [INFO] [stdout] 247 | | )); [INFO] [stdout] | |_________________^ help: consider using `.to_string()`: `"[operator_mirror_to_disk] completed image index download".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/archive/create.rs:190:36 [INFO] [stdout] | [INFO] [stdout] 190 | println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 190 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] 190 + println!("\x1b[1A \x1b[38C\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/operator/collector.rs:264:20 [INFO] [stdout] | [INFO] [stdout] 264 | if config_dir.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `config_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: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/operator/collector.rs:293:20 [INFO] [stdout] | [INFO] [stdout] 293 | "amd64".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: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:300:21 [INFO] [stdout] | [INFO] [stdout] 300 | config_dir.clone() + &"/" + &pkg.name.clone() + &"/updated-configs/", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/updated-configs/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/archive/create.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 249 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 249 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/archive/create.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 256 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 256 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:300:21 [INFO] [stdout] | [INFO] [stdout] 300 | config_dir.clone() + &"/" + &pkg.name.clone() + &"/updated-configs/", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:300:42 [INFO] [stdout] | [INFO] [stdout] 300 | config_dir.clone() + &"/" + &pkg.name.clone() + &"/updated-configs/", [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:300:69 [INFO] [stdout] | [INFO] [stdout] 300 | config_dir.clone() + &"/" + &pkg.name.clone() + &"/updated-configs/", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/updated-configs/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:315:35 [INFO] [stdout] | [INFO] [stdout] 315 | let pkg_key = pkg.name.clone() + &"=olm.package"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"=olm.package"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:315:54 [INFO] [stdout] | [INFO] [stdout] 315 | let pkg_key = pkg.name.clone() + &"=olm.package"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `"=olm.package"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:326:29 [INFO] [stdout] | [INFO] [stdout] 326 | ... channel_key.clone().split("=").nth(0).unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `channel_key.clone().split("=").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/batch/worker.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | total = total + v.len(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total += v.len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/batch/worker.rs:49:24 [INFO] [stdout] | [INFO] [stdout] 49 | let registry = hld.split("/").nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.split("/").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] = note: `#[warn(clippy::iter_nth_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/operator/collector.rs:350:53 [INFO] [stdout] | [INFO] [stdout] 350 | let key = bundle_name.clone() + &"=olm.bundle".to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `"=olm.bundle"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/batch/worker.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 84 | if v.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!v.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: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:363:57 [INFO] [stdout] | [INFO] [stdout] 363 | ... found_channel = k.split("=").nth(0).unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `k.split("=").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/batch/worker.rs:159:17 [INFO] [stdout] | [INFO] [stdout] 159 | log.hi(&format!("executing batch worker [should pass]")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"executing batch worker [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/batch/worker.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 169 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 169 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/batch/worker.rs:172:23 [INFO] [stdout] | [INFO] [stdout] 172 | blob_sum: format!("0123456789ABCDEF00"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"0123456789ABCDEF00".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/batch/worker.rs:182:17 [INFO] [stdout] | [INFO] [stdout] 182 | log.hi(&format!("executing batch worker [should fail]")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"executing batch worker [should fail]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:432:52 [INFO] [stdout] | [INFO] [stdout] 432 | ... reference: ir.name.clone() + &"/" + &ir.version, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:432:70 [INFO] [stdout] | [INFO] [stdout] 432 | ... reference: ir.name.clone() + &"/" + &ir.version, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:436:52 [INFO] [stdout] | [INFO] [stdout] 436 | ... namespace: ir_pkg.namespace.clone() + &"/" + &ir_pkg.name, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:436:79 [INFO] [stdout] | [INFO] [stdout] 436 | ... namespace: ir_pkg.namespace.clone() + &"/" + &ir_pkg.name, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/batch/worker.rs:194:48 [INFO] [stdout] | [INFO] [stdout] 194 | res_err.as_ref().err().unwrap().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: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/batch/worker.rs:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | assert_eq!(res_err.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 197 - assert_eq!(res_err.is_err(), true); [INFO] [stdout] 197 + assert!(res_err.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:483:56 [INFO] [stdout] | [INFO] [stdout] 483 | ... reference: ir.name.clone() + &"/" + &ir.version, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:483:74 [INFO] [stdout] | [INFO] [stdout] 483 | ... reference: ir.name.clone() + &"/" + &ir.version, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:487:56 [INFO] [stdout] | [INFO] [stdout] 487 | ... namespace: arch_img.namespace + &"/" + &arch_img.name, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:487:77 [INFO] [stdout] | [INFO] [stdout] 487 | ... namespace: arch_img.namespace + &"/" + &arch_img.name, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/operator/collector.rs:539:42 [INFO] [stdout] | [INFO] [stdout] 539 | ... "all".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: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:548:48 [INFO] [stdout] | [INFO] [stdout] 548 | ... reference: ir.name.clone() + &"/" + &ir.version, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:548:66 [INFO] [stdout] | [INFO] [stdout] 548 | ... reference: ir.name.clone() + &"/" + &ir.version, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:551:48 [INFO] [stdout] | [INFO] [stdout] 551 | ... namespace: ir_pkg.namespace.clone() + &"/" + &ir_pkg.name, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:551:75 [INFO] [stdout] | [INFO] [stdout] 551 | ... namespace: ir_pkg.namespace.clone() + &"/" + &ir_pkg.name, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:617:9 [INFO] [stdout] | [INFO] [stdout] 617 | mp.dir.clone() + &"/mirror-metadata/operator-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-metadata/operator-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:617:26 [INFO] [stdout] | [INFO] [stdout] 617 | mp.dir.clone() + &"/mirror-metadata/operator-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-metadata/operator-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:627:13 [INFO] [stdout] | [INFO] [stdout] 627 | mp.dir.clone() + &"/mirror-metadata/operator-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-metadata/operator-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:627:30 [INFO] [stdout] | [INFO] [stdout] 627 | mp.dir.clone() + &"/mirror-metadata/operator-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-metadata/operator-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/catalog/builder.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | cleanup(base_dir.clone() + &"/tmp").await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/tmp"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:648:13 [INFO] [stdout] | [INFO] [stdout] 648 | mp.dir.clone() + &"/mappings/", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mappings/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:648:30 [INFO] [stdout] | [INFO] [stdout] 648 | mp.dir.clone() + &"/mappings/", [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `"/mappings/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/catalog/builder.rs:106:36 [INFO] [stdout] | [INFO] [stdout] 106 | cleanup(base_dir.clone() + &"/tmp").await?; [INFO] [stdout] | ^^^^^^^ help: change this to: `"/tmp"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `pkg_json.default_channel` after checking its variant with `is_some` [INFO] [stdout] --> src/catalog/builder.rs:188:31 [INFO] [stdout] | [INFO] [stdout] 187 | if pkg_json.default_channel.is_some() { [INFO] [stdout] | ------------------------------------- help: try: `if let Some() = pkg_json.default_channel` [INFO] [stdout] 188 | let default_channel = pkg_json.default_channel.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/catalog/builder.rs:123:16 [INFO] [stdout] | [INFO] [stdout] 123 | "amd64".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: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:689:19 [INFO] [stdout] | [INFO] [stdout] 689 | let reg = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:690:18 [INFO] [stdout] | [INFO] [stdout] 690 | let ns = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:691:21 [INFO] [stdout] | [INFO] [stdout] 691 | let index = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:693:20 [INFO] [stdout] | [INFO] [stdout] 693 | let name = i.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `i.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:694:19 [INFO] [stdout] | [INFO] [stdout] 694 | let ver = i.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `i.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:710:15 [INFO] [stdout] | [INFO] [stdout] 710 | let reg = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:711:14 [INFO] [stdout] | [INFO] [stdout] 711 | let ns = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:712:17 [INFO] [stdout] | [INFO] [stdout] 712 | let index = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:714:16 [INFO] [stdout] | [INFO] [stdout] 714 | let name = i.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `i.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:715:15 [INFO] [stdout] | [INFO] [stdout] 715 | let ver = i.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `i.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:719:15 [INFO] [stdout] | [INFO] [stdout] 719 | name: name.split("@").nth(0).unwrap().to_string(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `name.split("@").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/release/collector.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::usize; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `usize::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/catalog/builder.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 246 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 246 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/release/collector.rs:359:28 [INFO] [stdout] | [INFO] [stdout] 359 | if !(mp.skip_manifest_check == "release" || mp.skip_manifest_check == "all") [INFO] [stdout] | ____________________________^ [INFO] [stdout] 360 | | && !mp.dry_run [INFO] [stdout] | |__________________________________________^ help: try: `!(mp.skip_manifest_check == "release" || mp.skip_manifest_check == "all" || mp.dry_run)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `changed` after checking its variant with `is_some` [INFO] [stdout] --> src/release/collector.rs:162:27 [INFO] [stdout] | [INFO] [stdout] 160 | if changed.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = changed` [INFO] [stdout] 161 | let rii = ReleaseImageInfo { [INFO] [stdout] 162 | file: changed.unwrap().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `changed` after checking its variant with `is_some` [INFO] [stdout] --> src/release/collector.rs:225:31 [INFO] [stdout] | [INFO] [stdout] 223 | if changed.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = changed` [INFO] [stdout] 224 | let rii = ReleaseImageInfo { [INFO] [stdout] 225 | file: changed.unwrap().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `releases.graph` after checking its variant with `is_some` [INFO] [stdout] --> src/release/collector.rs:473:12 [INFO] [stdout] | [INFO] [stdout] 472 | if releases.graph.is_some() && !mp.dry_run { [INFO] [stdout] | ------------------------ the check is happening here [INFO] [stdout] 473 | if releases.graph.unwrap().contains("true") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/release/collector.rs:96:37 [INFO] [stdout] | [INFO] [stdout] 96 | "/manifests/ocp-release".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: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:194:21 [INFO] [stdout] | [INFO] [stdout] 194 | release.name.clone().split("-multi").nth(0).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `release.name.clone().split("-multi").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:206:21 [INFO] [stdout] | [INFO] [stdout] 206 | index_image_ref.clone().version.split("-").nth(0).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `index_image_ref.clone().version.split("-").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/release/collector.rs:233:12 [INFO] [stdout] | [INFO] [stdout] 233 | if vec_process_manifests.clone().len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vec_process_manifests.clone().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: the borrowed expression implements the required traits [INFO] [stdout] --> src/release/collector.rs:309:31 [INFO] [stdout] | [INFO] [stdout] 309 | rm_rf::remove(&working_dir_cache) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `working_dir_cache` [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/release/collector.rs:315:25 [INFO] [stdout] | [INFO] [stdout] 315 | .create(&working_dir_cache) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `working_dir_cache` [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: called `unwrap` on `data` after checking its variant with `is_ok` [INFO] [stdout] --> src/clusterresources/generate.rs:142:44 [INFO] [stdout] | [INFO] [stdout] 135 | if data.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = data` [INFO] [stdout] ... [INFO] [stdout] 142 | let mut archive = Archive::new(data.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/clusterresources/generate.rs:143:57 [INFO] [stdout] | [INFO] [stdout] 143 | for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] = note: `#[warn(clippy::unused_enumerate_index)]` on by default [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 143 - for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] 143 + for file in archive.entries().unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/clusterresources/generate.rs:214:36 [INFO] [stdout] | [INFO] [stdout] 214 | log.debug(&format!("{}", mi.reference.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `mi.reference.clone().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `FixedOffset` which implements the `Copy` trait [INFO] [stdout] --> src/release/collector.rs:338:22 [INFO] [stdout] | [INFO] [stdout] 338 | let offset = dt.offset().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*dt.offset()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/clusterresources/generate.rs:221:70 [INFO] [stdout] | [INFO] [stdout] 221 | || mi.arch == "amd64" && mi.tag.is_some() && mi.digest.len() == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `mi.digest.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: useless use of `format!` [INFO] [stdout] --> src/clusterresources/generate.rs:223:36 [INFO] [stdout] | [INFO] [stdout] 223 | log.debug(&format!("{}", mi.reference.clone())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `mi.reference.clone().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/release/collector.rs:343:31 [INFO] [stdout] | [INFO] [stdout] 343 | for e in WalkDir::new(base_dir.clone().to_string()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `&base_dir.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/clusterresources/generate.rs:310:9 [INFO] [stdout] | [INFO] [stdout] 310 | write!(buffered_output, "---\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 310 - write!(buffered_output, "---\n").unwrap(); [INFO] [stdout] 310 + writeln!(buffered_output, "---").unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/clusterresources/generate.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | write!(buffered_output, "---\n").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 331 - write!(buffered_output, "---\n").unwrap(); [INFO] [stdout] 331 + writeln!(buffered_output, "---").unwrap(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/release/collector.rs:472:5 [INFO] [stdout] | [INFO] [stdout] 472 | / if releases.graph.is_some() && !mp.dry_run { [INFO] [stdout] 473 | | if releases.graph.unwrap().contains("true") { [INFO] [stdout] 474 | | log.info("[release_mirror_to_disk] build graph data"); [INFO] [stdout] 475 | | let g_impl = ImplGraphDataInterface {}; [INFO] [stdout] ... | [INFO] [stdout] 489 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 472 ~ if releases.graph.is_some() && !mp.dry_run [INFO] [stdout] 473 ~ && releases.graph.unwrap().contains("true") { [INFO] [stdout] 474 | log.info("[release_mirror_to_disk] build graph data"); [INFO] [stdout] ... [INFO] [stdout] 487 | g_impl.build_image_cleanup().await; [INFO] [stdout] 488 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/clusterresources/generate.rs:383:9 [INFO] [stdout] | [INFO] [stdout] 383 | assert_eq!(res.is_ok(), true) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 383 - assert_eq!(res.is_ok(), true) [INFO] [stdout] 383 + assert!(res.is_ok()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/clusterresources/generate.rs:398:9 [INFO] [stdout] | [INFO] [stdout] 398 | assert_eq!(res.is_ok(), true) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 398 - assert_eq!(res.is_ok(), true) [INFO] [stdout] 398 + assert!(res.is_ok()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/release/collector.rs:494:9 [INFO] [stdout] | [INFO] [stdout] 494 | mp.dir.clone() + &"/mirror-metadata/release-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-metadata/release-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/release/collector.rs:494:26 [INFO] [stdout] | [INFO] [stdout] 494 | mp.dir.clone() + &"/mirror-metadata/release-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-metadata/release-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/clusterresources/generate.rs:410:9 [INFO] [stdout] | [INFO] [stdout] 410 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 410 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 410 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/release/collector.rs:503:13 [INFO] [stdout] | [INFO] [stdout] 503 | mp.dir.clone() + &"/mirror-metadata/release-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-metadata/release-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/release/collector.rs:503:30 [INFO] [stdout] | [INFO] [stdout] 503 | mp.dir.clone() + &"/mirror-metadata/release-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-metadata/release-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/clusterresources/generate.rs:422:9 [INFO] [stdout] | [INFO] [stdout] 422 | assert_eq!(res.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 422 - assert_eq!(res.is_err(), true); [INFO] [stdout] 422 + assert!(res.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/release/collector.rs:520:13 [INFO] [stdout] | [INFO] [stdout] 520 | mp.dir.clone() + &"/mappings/", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mappings/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/release/collector.rs:520:30 [INFO] [stdout] | [INFO] [stdout] 520 | mp.dir.clone() + &"/mappings/", [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `"/mappings/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `res_value` after checking its variant with `is_some` [INFO] [stdout] --> src/release/collector.rs:566:21 [INFO] [stdout] | [INFO] [stdout] 565 | if res_value.is_some() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = res_value` [INFO] [stdout] 566 | let value = res_value.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:568:24 [INFO] [stdout] | [INFO] [stdout] 568 | let from = img.from.name.split("/").nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `img.from.name.split("/").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:593:15 [INFO] [stdout] | [INFO] [stdout] 593 | let reg = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:594:14 [INFO] [stdout] | [INFO] [stdout] 594 | let ns = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:595:21 [INFO] [stdout] | [INFO] [stdout] 595 | let mut index = hld.nth(0).unwrap().split(":"); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:596:16 [INFO] [stdout] | [INFO] [stdout] 596 | let name = index.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `index.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:597:15 [INFO] [stdout] | [INFO] [stdout] 597 | let ver = index.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `index.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `registry_res` after checking its variant with `is_some` [INFO] [stdout] --> src/removable_media/collector.rs:45:30 [INFO] [stdout] | [INFO] [stdout] 44 | if registry_res.is_some() { [INFO] [stdout] | ------------------------- help: try: `if let Some() = registry_res` [INFO] [stdout] 45 | registry_namespace = registry_res.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `data` after checking its variant with `is_ok` [INFO] [stdout] --> src/removable_media/collector.rs:57:40 [INFO] [stdout] | [INFO] [stdout] 48 | if data.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = data` [INFO] [stdout] ... [INFO] [stdout] 57 | let mut archive = Archive::new(data.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `tars` after checking its variant with `is_ok` [INFO] [stdout] --> src/removable_media/collector.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 184 | if tars.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = tars` [INFO] [stdout] 185 | log.mid(&bar); [INFO] [stdout] 186 | for file in tars.unwrap().into_iter() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `data` after checking its variant with `is_ok` [INFO] [stdout] --> src/removable_media/collector.rs:193:64 [INFO] [stdout] | [INFO] [stdout] 192 | ... if data.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = data` [INFO] [stdout] 193 | ... let mut archive = Archive::new(data.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `data` after checking its variant with `is_ok` [INFO] [stdout] --> src/removable_media/collector.rs:309:44 [INFO] [stdout] | [INFO] [stdout] 304 | if data.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = data` [INFO] [stdout] ... [INFO] [stdout] 309 | let mut archive = Archive::new(data.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/removable_media/collector.rs:35:36 [INFO] [stdout] | [INFO] [stdout] 35 | let data = std::fs::File::open(from.clone() + &"/mirror-manifests.tar"); [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-manifests.tar"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/removable_media/collector.rs:35:51 [INFO] [stdout] | [INFO] [stdout] 35 | let data = std::fs::File::open(from.clone() + &"/mirror-manifests.tar"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-manifests.tar"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/removable_media/collector.rs:41:20 [INFO] [stdout] | [INFO] [stdout] 41 | let registry = url.split("/").nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `url.split("/").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/removable_media/collector.rs:59:53 [INFO] [stdout] | [INFO] [stdout] 59 | for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 59 - for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] 59 + for file in archive.entries().unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/removable_media/collector.rs:71:41 [INFO] [stdout] | [INFO] [stdout] 71 | let mut sha_clean = sha.split("-").nth(0).unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `sha.split("-").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/removable_media/collector.rs:73:37 [INFO] [stdout] | [INFO] [stdout] 73 | sha_clean = sha.split(".json").nth(0).unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `sha.split(".json").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `x` is only used to index `spinner` [INFO] [stdout] --> src/removable_media/collector.rs:95:42 [INFO] [stdout] | [INFO] [stdout] 95 | ... for x in 0..9 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 95 - for x in 0..9 { [INFO] [stdout] 95 + for in spinner.iter().take(9) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:144:60 [INFO] [stdout] | [INFO] [stdout] 144 | ... println!("\x1b[1A \x1b[38C{}", "\x1b[1;93m*\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 144 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;93m*\x1b[0m"); [INFO] [stdout] 144 + println!("\x1b[1A \x1b[38C\x1b[1;93m*\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:146:60 [INFO] [stdout] | [INFO] [stdout] 146 | ... println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 146 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] 146 + println!("\x1b[1A \x1b[38C\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/removable_media/collector.rs:174:8 [INFO] [stdout] | [INFO] [stdout] 174 | if vec_blobs.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!vec_blobs.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: useless use of `format!` [INFO] [stdout] --> src/removable_media/collector.rs:182:21 [INFO] [stdout] | [INFO] [stdout] 182 | log.hi(&format!("[removable_media_disk_to_mirror] uploading blobs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"[removable_media_disk_to_mirror] uploading blobs".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::fs::ReadDir` [INFO] [stdout] --> src/removable_media/collector.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 186 | for file in tars.unwrap().into_iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `tars.unwrap()` [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: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/removable_media/collector.rs:194:77 [INFO] [stdout] | [INFO] [stdout] 194 | ... for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 194 - for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] 194 + for file in archive.entries().unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `x` is only used to index `spinner` [INFO] [stdout] --> src/removable_media/collector.rs:214:62 [INFO] [stdout] | [INFO] [stdout] 214 | ... for x in 0..9 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 214 - for x in 0..9 { [INFO] [stdout] 214 + for in spinner.iter().take(9) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/removable_media/collector.rs:243:69 [INFO] [stdout] | [INFO] [stdout] 243 | ... updated_path.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: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:257:53 [INFO] [stdout] | [INFO] [stdout] 257 | ... "\x1b[1;91m✗\x1b[0m" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 256 - "\x1b[1A \x1b[38C{}", [INFO] [stdout] 257 - "\x1b[1;91m✗\x1b[0m" [INFO] [stdout] 256 + "\x1b[1A \x1b[38C\x1b[1;91m✗\x1b[0m" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:263:53 [INFO] [stdout] | [INFO] [stdout] 263 | ... "\x1b[1;92m✓\x1b[0m" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 262 - "\x1b[1A \x1b[38C{}", [INFO] [stdout] 263 - "\x1b[1;92m✓\x1b[0m" [INFO] [stdout] 262 + "\x1b[1A \x1b[38C\x1b[1;92m✓\x1b[0m" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/removable_media/collector.rs:299:40 [INFO] [stdout] | [INFO] [stdout] 299 | let data = std::fs::File::open(from.clone() + &"/mirror-manifests.tar"); [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-manifests.tar"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/removable_media/collector.rs:299:55 [INFO] [stdout] | [INFO] [stdout] 299 | let data = std::fs::File::open(from.clone() + &"/mirror-manifests.tar"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-manifests.tar"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/removable_media/collector.rs:311:57 [INFO] [stdout] | [INFO] [stdout] 311 | for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 311 - for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] 311 + for file in archive.entries().unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/removable_media/collector.rs:315:17 [INFO] [stdout] | [INFO] [stdout] 315 | / if name.is_some() { [INFO] [stdout] 316 | | if op_path.contains(".json") { [INFO] [stdout] 317 | | if vec_manifests.contains(&op_path) { [INFO] [stdout] 318 | | let manifest = &mut "".to_string(); [INFO] [stdout] ... | [INFO] [stdout] 371 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 315 ~ if name.is_some() [INFO] [stdout] 316 ~ && op_path.contains(".json") { [INFO] [stdout] 317 | if vec_manifests.contains(&op_path) { [INFO] [stdout] ... [INFO] [stdout] 369 | } [INFO] [stdout] 370 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/removable_media/collector.rs:316:21 [INFO] [stdout] | [INFO] [stdout] 316 | / if op_path.contains(".json") { [INFO] [stdout] 317 | | if vec_manifests.contains(&op_path) { [INFO] [stdout] 318 | | let manifest = &mut "".to_string(); [INFO] [stdout] 319 | | let mut ex = file.unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 370 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 316 ~ if op_path.contains(".json") [INFO] [stdout] 317 ~ && vec_manifests.contains(&op_path) { [INFO] [stdout] 318 | let manifest = &mut "".to_string(); [INFO] [stdout] ... [INFO] [stdout] 368 | } [INFO] [stdout] 369 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/removable_media/collector.rs:324:49 [INFO] [stdout] | [INFO] [stdout] 324 | ... let mut sha_clean = sha.split("-").nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `sha.split("-").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/removable_media/collector.rs:326:45 [INFO] [stdout] | [INFO] [stdout] 326 | ... sha_clean = sha.split(".json").nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `sha.split(".json").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/removable_media/collector.rs:339:72 [INFO] [stdout] | [INFO] [stdout] 339 | ... format!("{}/{}", registry_namespace, ns.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: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/config/load.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 107 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 107 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/removable_media/collector.rs:349:80 [INFO] [stdout] | [INFO] [stdout] 349 | ... format!("{}/{}", registry_namespace, ns.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: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/config/load.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | assert_eq!(res.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 113 - assert_eq!(res.is_err(), true); [INFO] [stdout] 113 + assert!(res.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/config/load.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 120 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 120 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:356:68 [INFO] [stdout] | [INFO] [stdout] 356 | ... println!("\x1b[1A \x1b[38C{}", "\x1b[1;91m✗\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 356 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;91m✗\x1b[0m"); [INFO] [stdout] 356 + println!("\x1b[1A \x1b[38C\x1b[1;91m✗\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:358:68 [INFO] [stdout] | [INFO] [stdout] 358 | ... println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 358 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] 358 + println!("\x1b[1A \x1b[38C\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:367:64 [INFO] [stdout] | [INFO] [stdout] 367 | ... println!("\x1b[1A \x1b[38C{}", "\x1b[1;91m✗\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 367 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;91m✗\x1b[0m"); [INFO] [stdout] 367 + println!("\x1b[1A \x1b[38C\x1b[1;91m✗\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/config/load.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | assert_eq!(res.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 127 - assert_eq!(res.is_err(), true); [INFO] [stdout] 127 + assert!(res.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `isc_config_final.mirror.release` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:167:17 [INFO] [stdout] | [INFO] [stdout] 163 | if isc_config_final.mirror.release.is_some() { [INFO] [stdout] | -------------------------------------------- help: try: `if let Some() = isc_config_final.mirror.release` [INFO] [stdout] ... [INFO] [stdout] 167 | isc_config_final.mirror.release.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `isc_config_final.mirror.operators` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:184:17 [INFO] [stdout] | [INFO] [stdout] 180 | if isc_config_final.mirror.operators.is_some() { [INFO] [stdout] | ---------------------------------------------- help: try: `if let Some() = isc_config_final.mirror.operators` [INFO] [stdout] ... [INFO] [stdout] 184 | isc_config_final.mirror.operators.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `isc_config_final.mirror.additional_images` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:202:17 [INFO] [stdout] | [INFO] [stdout] 198 | if isc_config_final.mirror.additional_images.is_some() { [INFO] [stdout] | ------------------------------------------------------ help: try: `if let Some() = isc_config_final.mirror.additional_images` [INFO] [stdout] ... [INFO] [stdout] 202 | isc_config_final.mirror.additional_images.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `isc_config_final.archive_size` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:219:28 [INFO] [stdout] | [INFO] [stdout] 218 | if isc_config_final.archive_size.is_some() { [INFO] [stdout] | ------------------------------------------ help: try: `if let Some() = isc_config_final.archive_size` [INFO] [stdout] 219 | let size = isc_config_final.archive_size.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/main.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | if args.destination == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `args.destination.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: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:133:60 [INFO] [stdout] | [INFO] [stdout] 133 | format!("{}/{}", destination, "mirror-metadata".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: useless use of `format!` [INFO] [stdout] --> src/main.rs:139:24 [INFO] [stdout] | [INFO] [stdout] 139 | log.error(&format!("{}", res_mm.err().unwrap().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `res_mm.err().unwrap().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:139:59 [INFO] [stdout] | [INFO] [stdout] 139 | log.error(&format!("{}", res_mm.err().unwrap().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: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:142:53 [INFO] [stdout] | [INFO] [stdout] 142 | format!("{}/{}", destination, "mappings".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: useless use of `format!` [INFO] [stdout] --> src/main.rs:148:24 [INFO] [stdout] | [INFO] [stdout] 148 | log.error(&format!("{}", res_mp.err().unwrap().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `res_mp.err().unwrap().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:148:59 [INFO] [stdout] | [INFO] [stdout] 148 | log.error(&format!("{}", res_mp.err().unwrap().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: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:151:54 [INFO] [stdout] | [INFO] [stdout] 151 | format!("{}/{}", destination, "artifacts".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: useless use of `format!` [INFO] [stdout] --> src/main.rs:157:24 [INFO] [stdout] | [INFO] [stdout] 157 | log.error(&format!("{}", res_mp.err().unwrap().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `res_mp.err().unwrap().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:157:59 [INFO] [stdout] | [INFO] [stdout] 157 | log.error(&format!("{}", res_mp.err().unwrap().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: useless use of `format!` [INFO] [stdout] --> src/graphdata/process.rs:225:17 [INFO] [stdout] | [INFO] [stdout] 225 | log.hi(&format!("testing get_graphdata [should pass]")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"testing get_graphdata [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/graphdata/process.rs:227:9 [INFO] [stdout] | [INFO] [stdout] 227 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 227 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 227 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/graphdata/process.rs:229:17 [INFO] [stdout] | [INFO] [stdout] 229 | log.hi(&format!("testing get_graphdata [should fail]")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"testing get_graphdata [should fail]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/graphdata/process.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | assert_eq!(res.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 237 - assert_eq!(res.is_err(), true); [INFO] [stdout] 237 + assert!(res.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:237:12 [INFO] [stdout] | [INFO] [stdout] 237 | if args.from.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `args.from.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: useless use of `format!` [INFO] [stdout] --> src/graphdata/process.rs:240:17 [INFO] [stdout] | [INFO] [stdout] 240 | log.hi(&format!("testing get_graph_tar_gz [should pass]")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"testing get_graph_tar_gz [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:249:55 [INFO] [stdout] | [INFO] [stdout] 249 | args.from.split("file://").nth(1).unwrap().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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/graphdata/process.rs:241:80 [INFO] [stdout] | [INFO] [stdout] 241 | let res = aw!(g_impl.get_graph_tar_gz(format!("{}/graph-tar-gz", url), &"test.txt")); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `"test.txt"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/graphdata/process.rs:242:9 [INFO] [stdout] | [INFO] [stdout] 242 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 242 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 242 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/graphdata/process.rs:244:17 [INFO] [stdout] | [INFO] [stdout] 244 | log.hi(&format!("testing get_graph_tar_gz [should fail]")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"testing get_graph_tar_gz [should fail]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/graphdata/process.rs:245:86 [INFO] [stdout] | [INFO] [stdout] 245 | let res = aw!(g_impl.get_graph_tar_gz(format!("{}/graph-tar-gz-error", url), &"test.txt")); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `"test.txt"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:278:24 [INFO] [stdout] | [INFO] [stdout] 278 | log.error(&format!("{}", gen_res.err().unwrap().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `gen_res.err().unwrap().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:278:60 [INFO] [stdout] | [INFO] [stdout] 278 | log.error(&format!("{}", gen_res.err().unwrap().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: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/graphdata/process.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | assert_eq!(res.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 252 - assert_eq!(res.is_err(), true); [INFO] [stdout] 252 + assert!(res.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/graphdata/process.rs:254:17 [INFO] [stdout] | [INFO] [stdout] 254 | log.hi(&format!("testing build_graph_image [should pass]")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"testing build_graph_image [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/graphdata/process.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 256 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 256 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:285:24 [INFO] [stdout] | [INFO] [stdout] 285 | log.error(&format!("{}", gen_res.err().unwrap().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `gen_res.err().unwrap().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:285:60 [INFO] [stdout] | [INFO] [stdout] 285 | log.error(&format!("{}", gen_res.err().unwrap().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: this let-binding has unit value [INFO] [stdout] --> src/graphdata/process.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 257 | let _ = aw!(g_impl.build_image_cleanup()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 257 - let _ = aw!(g_impl.build_image_cleanup()); [INFO] [stdout] 257 + aw!(g_impl.build_image_cleanup()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:289:24 [INFO] [stdout] | [INFO] [stdout] 289 | log.error(&format!("{}", res_c.err().unwrap().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `res_c.err().unwrap().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:289:58 [INFO] [stdout] | [INFO] [stdout] 289 | log.error(&format!("{}", res_c.err().unwrap().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: called `unwrap` on `res_manifestlist` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:144:21 [INFO] [stdout] | [INFO] [stdout] 141 | if res_manifestlist.is_some() { [INFO] [stdout] | ----------------------------- help: try: `if let Some() = &res_manifestlist` [INFO] [stdout] ... [INFO] [stdout] 144 | res_manifestlist.as_ref().unwrap().clone() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `res_manifestlist` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:146:43 [INFO] [stdout] | [INFO] [stdout] 141 | if res_manifestlist.is_some() { [INFO] [stdout] | ----------------------------- help: try: `if let Some() = res_manifestlist` [INFO] [stdout] ... [INFO] [stdout] 146 | manifestlist = fs_handler(res_manifestlist.unwrap().clone(), "read", None).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `changed` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:204:51 [INFO] [stdout] | [INFO] [stdout] 202 | if changed.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = changed` [INFO] [stdout] 203 | log.info("[operator_mirror_to_disk] detected change in manifest"); [INFO] [stdout] 204 | let changed_manifest = fs_handler(changed.unwrap().clone(), "read", None).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `package` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:322:29 [INFO] [stdout] | [INFO] [stdout] 317 | if package.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = package` [INFO] [stdout] ... [INFO] [stdout] 322 | package.unwrap().default_channel.as_ref().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `channel` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:331:39 [INFO] [stdout] | [INFO] [stdout] 329 | if channel.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = channel` [INFO] [stdout] 330 | let mut vec_entries: Vec = Vec::new(); [INFO] [stdout] 331 | let chn = channel.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `bundles` after checking its variant with `is_none` [INFO] [stdout] --> src/operator/collector.rs:343:30 [INFO] [stdout] | [INFO] [stdout] 314 | if bundles.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = &bundles` [INFO] [stdout] ... [INFO] [stdout] 343 | for b in bundles.as_ref().unwrap().iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `bundle` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:370:46 [INFO] [stdout] | [INFO] [stdout] 353 | if bundle.is_some() { [INFO] [stdout] | ------------------- help: try: `if let Some() = bundle` [INFO] [stdout] ... [INFO] [stdout] 370 | let related_images = bundle.unwrap().related_images.clone().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `manifest_list` after checking its variant with `is_ok` [INFO] [stdout] --> src/operator/collector.rs:413:42 [INFO] [stdout] | [INFO] [stdout] 412 | ... if manifest_list.is_ok() { [INFO] [stdout] | ------------------------ help: try: `if let Ok() = manifest_list` [INFO] [stdout] 413 | ... let ml = manifest_list.unwrap().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `url` after checking its variant with `is_some` [INFO] [stdout] --> src/operator/collector.rs:588:37 [INFO] [stdout] | [INFO] [stdout] 585 | ... if url.is_some() { [INFO] [stdout] | ---------------- help: try: `if let Some() = url` [INFO] [stdout] ... [INFO] [stdout] 588 | ... url.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/operator/collector.rs:57:62 [INFO] [stdout] | [INFO] [stdout] 57 | format!("{}/{}", mp.dir.clone(), "manifests/operator".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: `format!` in `format!` args [INFO] [stdout] --> src/operator/collector.rs:108:23 [INFO] [stdout] | [INFO] [stdout] 108 | log.info(&format!( [INFO] [stdout] | _______________________^ [INFO] [stdout] 109 | | "[operator_mirror_to_disk] api call manifest for {}", [INFO] [stdout] 110 | | format!( [INFO] [stdout] 111 | | "{}/{}/{}/{}", [INFO] [stdout] ... | [INFO] [stdout] 114 | | )); [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: combine the `format!(..)` arguments with the outer `format!(..)` call [INFO] [stdout] = help: or consider changing `format!` to `format_args!` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#format_in_format_args [INFO] [stdout] = note: `#[warn(clippy::format_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:167:32 [INFO] [stdout] | [INFO] [stdout] 167 | let manifest_dir = manifest_json.split("manifest.json").nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `manifest_json.split("manifest.json").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/operator/collector.rs:245:28 [INFO] [stdout] | [INFO] [stdout] 245 | log.debug(&format!( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 246 | | "[operator_mirror_to_disk] completed image index download" [INFO] [stdout] 247 | | )); [INFO] [stdout] | |_________________^ help: consider using `.to_string()`: `"[operator_mirror_to_disk] completed image index download".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/operator/collector.rs:264:20 [INFO] [stdout] | [INFO] [stdout] 264 | if config_dir.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `config_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: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/operator/collector.rs:293:20 [INFO] [stdout] | [INFO] [stdout] 293 | "amd64".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: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:300:21 [INFO] [stdout] | [INFO] [stdout] 300 | config_dir.clone() + &"/" + &pkg.name.clone() + &"/updated-configs/", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/updated-configs/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:300:21 [INFO] [stdout] | [INFO] [stdout] 300 | config_dir.clone() + &"/" + &pkg.name.clone() + &"/updated-configs/", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:300:42 [INFO] [stdout] | [INFO] [stdout] 300 | config_dir.clone() + &"/" + &pkg.name.clone() + &"/updated-configs/", [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:300:69 [INFO] [stdout] | [INFO] [stdout] 300 | config_dir.clone() + &"/" + &pkg.name.clone() + &"/updated-configs/", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/updated-configs/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:315:35 [INFO] [stdout] | [INFO] [stdout] 315 | let pkg_key = pkg.name.clone() + &"=olm.package"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"=olm.package"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:315:54 [INFO] [stdout] | [INFO] [stdout] 315 | let pkg_key = pkg.name.clone() + &"=olm.package"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `"=olm.package"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:326:29 [INFO] [stdout] | [INFO] [stdout] 326 | ... channel_key.clone().split("=").nth(0).unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `channel_key.clone().split("=").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/operator/collector.rs:350:53 [INFO] [stdout] | [INFO] [stdout] 350 | let key = bundle_name.clone() + &"=olm.bundle".to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `"=olm.bundle"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:363:57 [INFO] [stdout] | [INFO] [stdout] 363 | ... found_channel = k.split("=").nth(0).unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `k.split("=").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:432:52 [INFO] [stdout] | [INFO] [stdout] 432 | ... reference: ir.name.clone() + &"/" + &ir.version, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:432:70 [INFO] [stdout] | [INFO] [stdout] 432 | ... reference: ir.name.clone() + &"/" + &ir.version, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:436:52 [INFO] [stdout] | [INFO] [stdout] 436 | ... namespace: ir_pkg.namespace.clone() + &"/" + &ir_pkg.name, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:436:79 [INFO] [stdout] | [INFO] [stdout] 436 | ... namespace: ir_pkg.namespace.clone() + &"/" + &ir_pkg.name, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:483:56 [INFO] [stdout] | [INFO] [stdout] 483 | ... reference: ir.name.clone() + &"/" + &ir.version, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:483:74 [INFO] [stdout] | [INFO] [stdout] 483 | ... reference: ir.name.clone() + &"/" + &ir.version, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:487:56 [INFO] [stdout] | [INFO] [stdout] 487 | ... namespace: arch_img.namespace + &"/" + &arch_img.name, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:487:77 [INFO] [stdout] | [INFO] [stdout] 487 | ... namespace: arch_img.namespace + &"/" + &arch_img.name, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/operator/collector.rs:539:42 [INFO] [stdout] | [INFO] [stdout] 539 | ... "all".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: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:548:48 [INFO] [stdout] | [INFO] [stdout] 548 | ... reference: ir.name.clone() + &"/" + &ir.version, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:548:66 [INFO] [stdout] | [INFO] [stdout] 548 | ... reference: ir.name.clone() + &"/" + &ir.version, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:551:48 [INFO] [stdout] | [INFO] [stdout] 551 | ... namespace: ir_pkg.namespace.clone() + &"/" + &ir_pkg.name, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:551:75 [INFO] [stdout] | [INFO] [stdout] 551 | ... namespace: ir_pkg.namespace.clone() + &"/" + &ir_pkg.name, [INFO] [stdout] | ^^^^ help: change this to: `"/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:617:9 [INFO] [stdout] | [INFO] [stdout] 617 | mp.dir.clone() + &"/mirror-metadata/operator-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-metadata/operator-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:617:26 [INFO] [stdout] | [INFO] [stdout] 617 | mp.dir.clone() + &"/mirror-metadata/operator-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-metadata/operator-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:627:13 [INFO] [stdout] | [INFO] [stdout] 627 | mp.dir.clone() + &"/mirror-metadata/operator-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-metadata/operator-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:627:30 [INFO] [stdout] | [INFO] [stdout] 627 | mp.dir.clone() + &"/mirror-metadata/operator-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-metadata/operator-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/operator/collector.rs:648:13 [INFO] [stdout] | [INFO] [stdout] 648 | mp.dir.clone() + &"/mappings/", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mappings/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/operator/collector.rs:648:30 [INFO] [stdout] | [INFO] [stdout] 648 | mp.dir.clone() + &"/mappings/", [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `"/mappings/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:689:19 [INFO] [stdout] | [INFO] [stdout] 689 | let reg = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:690:18 [INFO] [stdout] | [INFO] [stdout] 690 | let ns = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:691:21 [INFO] [stdout] | [INFO] [stdout] 691 | let index = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:693:20 [INFO] [stdout] | [INFO] [stdout] 693 | let name = i.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `i.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:694:19 [INFO] [stdout] | [INFO] [stdout] 694 | let ver = i.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `i.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:710:15 [INFO] [stdout] | [INFO] [stdout] 710 | let reg = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:711:14 [INFO] [stdout] | [INFO] [stdout] 711 | let ns = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:712:17 [INFO] [stdout] | [INFO] [stdout] 712 | let index = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:714:16 [INFO] [stdout] | [INFO] [stdout] 714 | let name = i.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `i.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:715:15 [INFO] [stdout] | [INFO] [stdout] 715 | let ver = i.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `i.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/operator/collector.rs:719:15 [INFO] [stdout] | [INFO] [stdout] 719 | name: name.split("@").nth(0).unwrap().to_string(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `name.split("@").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/operator/collector.rs:822:25 [INFO] [stdout] | [INFO] [stdout] 818 | / let content = fs::read_to_string( [INFO] [stdout] 819 | | "test-artifacts/test-index-operator/v1.0/manifest.json", [INFO] [stdout] 820 | | ) [INFO] [stdout] 821 | | .expect("should read operator-index manifest file"); [INFO] [stdout] | |____________________________________________________________________________- unnecessary `let` binding [INFO] [stdout] 822 | content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 818 ~ [INFO] [stdout] 819 ~ fs::read_to_string( [INFO] [stdout] 820 + "test-artifacts/test-index-operator/v1.0/manifest.json", [INFO] [stdout] 821 + ) [INFO] [stdout] 822 + .expect("should read operator-index manifest file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/operator/collector.rs:829:25 [INFO] [stdout] | [INFO] [stdout] 825 | / let content = fs::read_to_string( [INFO] [stdout] 826 | | "test-artifacts/test-index-operator/manifests/v2.0/manifest.json", [INFO] [stdout] 827 | | ) [INFO] [stdout] 828 | | .expect("should read operator-index manifest file"); [INFO] [stdout] | |____________________________________________________________________________- unnecessary `let` binding [INFO] [stdout] 829 | content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 825 ~ [INFO] [stdout] 826 ~ fs::read_to_string( [INFO] [stdout] 827 + "test-artifacts/test-index-operator/manifests/v2.0/manifest.json", [INFO] [stdout] 828 + ) [INFO] [stdout] 829 + .expect("should read operator-index manifest file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/operator/collector.rs:839:25 [INFO] [stdout] | [INFO] [stdout] 835 | / ... let content = fs::read_to_string( [INFO] [stdout] 836 | | ... "test-artifacts/test-index-operator/v1.0/operators/albo/aws-load-balancer-controller-rhel8/stable-v1/manifest-list.json", [INFO] [stdout] 837 | | ... ) [INFO] [stdout] 838 | | ... .expect("should read test (albo) controller manifest-list file"); [INFO] [stdout] | |_______________________________________________________________________- unnecessary `let` binding [INFO] [stdout] 839 | ... content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 835 ~ [INFO] [stdout] 836 ~ fs::read_to_string( [INFO] [stdout] 837 + "test-artifacts/test-index-operator/v1.0/operators/albo/aws-load-balancer-controller-rhel8/stable-v1/manifest-list.json", [INFO] [stdout] 838 + ) [INFO] [stdout] 839 + .expect("should read test (albo) controller manifest-list file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/operator/collector.rs:849:25 [INFO] [stdout] | [INFO] [stdout] 847 | / ... let content = fs::read_to_string("test-artifacts/test-index-operator/v1.0/operators/albo/aws-load-balancer-operator-bundle/... [INFO] [stdout] 848 | | ... .expect("should read bundle file"); [INFO] [stdout] | |_________________________________________- unnecessary `let` binding [INFO] [stdout] 849 | ... content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 847 ~ [INFO] [stdout] 848 ~ fs::read_to_string("test-artifacts/test-index-operator/v1.0/operators/albo/aws-load-balancer-operator-bundle/stable-v1/manifest.json") [INFO] [stdout] 849 + .expect("should read bundle file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/operator/collector.rs:857:25 [INFO] [stdout] | [INFO] [stdout] 855 | / ... let content = fs::read_to_string("test-artifacts/test-index-operator/v1.0/operators/albo/aws-load-balancer-controller-rhel8... [INFO] [stdout] 856 | | ... .expect("should read bundle file"); [INFO] [stdout] | |_________________________________________- unnecessary `let` binding [INFO] [stdout] 857 | ... content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 855 ~ [INFO] [stdout] 856 ~ fs::read_to_string("test-artifacts/test-index-operator/v1.0/operators/albo/aws-load-balancer-controller-rhel8/stable-v1/manifest-amd64.json") [INFO] [stdout] 857 + .expect("should read bundle file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/operator/collector.rs:865:25 [INFO] [stdout] | [INFO] [stdout] 863 | / ... let content = fs::read_to_string("test-artifacts/test-index-operator/v1.0/operators/openshift4/ose-kube-rbac-proxy/stable-v... [INFO] [stdout] 864 | | ... .expect("should kube proxy file"); [INFO] [stdout] | |________________________________________- unnecessary `let` binding [INFO] [stdout] 865 | ... content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 863 ~ [INFO] [stdout] 864 ~ fs::read_to_string("test-artifacts/test-index-operator/v1.0/operators/openshift4/ose-kube-rbac-proxy/stable-v1/manifest.json") [INFO] [stdout] 865 + .expect("should kube proxy file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/operator/collector.rs:876:25 [INFO] [stdout] | [INFO] [stdout] 872 | / let content = fs::read_to_string( [INFO] [stdout] 873 | | "test-artifacts/test-index-operator/v1.0/amd64/manifest.json", [INFO] [stdout] 874 | | ) [INFO] [stdout] 875 | | .expect("should read test (openshift) kube-proxy manifest file"); [INFO] [stdout] | |_________________________________________________________________________________________- unnecessary `let` binding [INFO] [stdout] 876 | content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 872 ~ [INFO] [stdout] 873 ~ fs::read_to_string( [INFO] [stdout] 874 + "test-artifacts/test-index-operator/v1.0/amd64/manifest.json", [INFO] [stdout] 875 + ) [INFO] [stdout] 876 + .expect("should read test (openshift) kube-proxy manifest file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/operator/collector.rs:898:26 [INFO] [stdout] | [INFO] [stdout] 898 | ...py("test-artifacts/test-index-operator/copy-cache/5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f".to_string(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `"test-artifacts/test-index-operator/copy-cache/5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/operator/collector.rs:899:21 [INFO] [stdout] | [INFO] [stdout] 899 | ... "test-artifacts/blobs-store/5f/5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f".to_string()).expect("sho... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `"test-artifacts/blobs-store/5f/5f9d3dcf5281c5f6512471366be68bee46c2485eddf4fd1887da6b240712be5f"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/operator/collector.rs:918:22 [INFO] [stdout] | [INFO] [stdout] 918 | catalog: String::from(url.replace("http://", "") + "/test/test-index-operator:v1.0"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `(url.replace("http://", "") + "/test/test-index-operator:v1.0")` [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 use of `format!` [INFO] [stdout] --> src/operator/collector.rs:944:17 [INFO] [stdout] | [INFO] [stdout] 944 | log.ex(&format!("executing sub test : with bundle [should pass]")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"executing sub test : with bundle [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/operator/collector.rs:957:9 [INFO] [stdout] | [INFO] [stdout] 957 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 957 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 957 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/operator/collector.rs:965:22 [INFO] [stdout] | [INFO] [stdout] 965 | catalog: String::from(url.replace("http://", "") + "/test/test-index-operator:v1.0"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `(url.replace("http://", "") + "/test/test-index-operator:v1.0")` [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: useless use of `format!` [INFO] [stdout] --> src/operator/collector.rs:972:17 [INFO] [stdout] | [INFO] [stdout] 972 | log.ex(&format!( [INFO] [stdout] | _________________^ [INFO] [stdout] 973 | | "executing sub test : dry-run no bundle [should pass]" [INFO] [stdout] 974 | | )); [INFO] [stdout] | |_________^ help: consider using `.to_string()`: `"executing sub test : dry-run no bundle [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/operator/collector.rs:987:9 [INFO] [stdout] | [INFO] [stdout] 987 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 987 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 987 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/operator/collector.rs:990:22 [INFO] [stdout] | [INFO] [stdout] 990 | catalog: String::from(url.replace("http://", "") + "/test/test-index-operator:v2.0"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `(url.replace("http://", "") + "/test/test-index-operator:v2.0")` [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: useless use of `format!` [INFO] [stdout] --> src/operator/collector.rs:1001:17 [INFO] [stdout] | [INFO] [stdout] 1001 | log.ex(&format!("executing sub test : file override [should pass]")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"executing sub test : file override [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/operator/collector.rs:1014:9 [INFO] [stdout] | [INFO] [stdout] 1014 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1014 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 1014 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/release/collector.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::usize; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `usize::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/release/collector.rs:359:28 [INFO] [stdout] | [INFO] [stdout] 359 | if !(mp.skip_manifest_check == "release" || mp.skip_manifest_check == "all") [INFO] [stdout] | ____________________________^ [INFO] [stdout] 360 | | && !mp.dry_run [INFO] [stdout] | |__________________________________________^ help: try: `!(mp.skip_manifest_check == "release" || mp.skip_manifest_check == "all" || mp.dry_run)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `changed` after checking its variant with `is_some` [INFO] [stdout] --> src/release/collector.rs:162:27 [INFO] [stdout] | [INFO] [stdout] 160 | if changed.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = changed` [INFO] [stdout] 161 | let rii = ReleaseImageInfo { [INFO] [stdout] 162 | file: changed.unwrap().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `changed` after checking its variant with `is_some` [INFO] [stdout] --> src/release/collector.rs:225:31 [INFO] [stdout] | [INFO] [stdout] 223 | if changed.is_some() { [INFO] [stdout] | -------------------- help: try: `if let Some() = changed` [INFO] [stdout] 224 | let rii = ReleaseImageInfo { [INFO] [stdout] 225 | file: changed.unwrap().clone(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `releases.graph` after checking its variant with `is_some` [INFO] [stdout] --> src/release/collector.rs:473:12 [INFO] [stdout] | [INFO] [stdout] 472 | if releases.graph.is_some() && !mp.dry_run { [INFO] [stdout] | ------------------------ the check is happening here [INFO] [stdout] 473 | if releases.graph.unwrap().contains("true") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/release/collector.rs:96:37 [INFO] [stdout] | [INFO] [stdout] 96 | "/manifests/ocp-release".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: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:194:21 [INFO] [stdout] | [INFO] [stdout] 194 | release.name.clone().split("-multi").nth(0).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `release.name.clone().split("-multi").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:206:21 [INFO] [stdout] | [INFO] [stdout] 206 | index_image_ref.clone().version.split("-").nth(0).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `index_image_ref.clone().version.split("-").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/release/collector.rs:233:12 [INFO] [stdout] | [INFO] [stdout] 233 | if vec_process_manifests.clone().len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `vec_process_manifests.clone().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: the borrowed expression implements the required traits [INFO] [stdout] --> src/release/collector.rs:309:31 [INFO] [stdout] | [INFO] [stdout] 309 | rm_rf::remove(&working_dir_cache) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `working_dir_cache` [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/release/collector.rs:315:25 [INFO] [stdout] | [INFO] [stdout] 315 | .create(&working_dir_cache) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `working_dir_cache` [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: using `clone` on type `FixedOffset` which implements the `Copy` trait [INFO] [stdout] --> src/release/collector.rs:338:22 [INFO] [stdout] | [INFO] [stdout] 338 | let offset = dt.offset().clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*dt.offset()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `to_string` [INFO] [stdout] --> src/release/collector.rs:343:31 [INFO] [stdout] | [INFO] [stdout] 343 | for e in WalkDir::new(base_dir.clone().to_string()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `&base_dir.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_to_owned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/release/collector.rs:472:5 [INFO] [stdout] | [INFO] [stdout] 472 | / if releases.graph.is_some() && !mp.dry_run { [INFO] [stdout] 473 | | if releases.graph.unwrap().contains("true") { [INFO] [stdout] 474 | | log.info("[release_mirror_to_disk] build graph data"); [INFO] [stdout] 475 | | let g_impl = ImplGraphDataInterface {}; [INFO] [stdout] ... | [INFO] [stdout] 489 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 472 ~ if releases.graph.is_some() && !mp.dry_run [INFO] [stdout] 473 ~ && releases.graph.unwrap().contains("true") { [INFO] [stdout] 474 | log.info("[release_mirror_to_disk] build graph data"); [INFO] [stdout] ... [INFO] [stdout] 487 | g_impl.build_image_cleanup().await; [INFO] [stdout] 488 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/release/collector.rs:494:9 [INFO] [stdout] | [INFO] [stdout] 494 | mp.dir.clone() + &"/mirror-metadata/release-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-metadata/release-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/release/collector.rs:494:26 [INFO] [stdout] | [INFO] [stdout] 494 | mp.dir.clone() + &"/mirror-metadata/release-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-metadata/release-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/release/collector.rs:503:13 [INFO] [stdout] | [INFO] [stdout] 503 | mp.dir.clone() + &"/mirror-metadata/release-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-metadata/release-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/release/collector.rs:503:30 [INFO] [stdout] | [INFO] [stdout] 503 | mp.dir.clone() + &"/mirror-metadata/release-image-reference.json", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-metadata/release-image-reference.json"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/release/collector.rs:520:13 [INFO] [stdout] | [INFO] [stdout] 520 | mp.dir.clone() + &"/mappings/", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mappings/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/release/collector.rs:520:30 [INFO] [stdout] | [INFO] [stdout] 520 | mp.dir.clone() + &"/mappings/", [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `"/mappings/"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `res_value` after checking its variant with `is_some` [INFO] [stdout] --> src/release/collector.rs:566:21 [INFO] [stdout] | [INFO] [stdout] 565 | if res_value.is_some() { [INFO] [stdout] | ---------------------- help: try: `if let Some() = res_value` [INFO] [stdout] 566 | let value = res_value.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:568:24 [INFO] [stdout] | [INFO] [stdout] 568 | let from = img.from.name.split("/").nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `img.from.name.split("/").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:593:15 [INFO] [stdout] | [INFO] [stdout] 593 | let reg = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:594:14 [INFO] [stdout] | [INFO] [stdout] 594 | let ns = hld.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:595:21 [INFO] [stdout] | [INFO] [stdout] 595 | let mut index = hld.nth(0).unwrap().split(":"); [INFO] [stdout] | ^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `hld.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:596:16 [INFO] [stdout] | [INFO] [stdout] 596 | let name = index.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `index.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/release/collector.rs:597:15 [INFO] [stdout] | [INFO] [stdout] 597 | let ver = index.nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `index.next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/release/collector.rs:624:9 [INFO] [stdout] | [INFO] [stdout] 624 | assert_eq!(res.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 624 - assert_eq!(res.is_err(), true); [INFO] [stdout] 624 + assert!(res.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/release/collector.rs:627:9 [INFO] [stdout] | [INFO] [stdout] 627 | assert_eq!(res_parse.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 627 - assert_eq!(res_parse.is_err(), true); [INFO] [stdout] 627 + assert!(res_parse.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/release/collector.rs:719:25 [INFO] [stdout] | [INFO] [stdout] 715 | / let content = fs::read_to_string( [INFO] [stdout] 716 | | "test-artifacts/test-release-image/v1.0/manifest.json", [INFO] [stdout] 717 | | ) [INFO] [stdout] 718 | | .expect("should read release-index manifest file"); [INFO] [stdout] | |___________________________________________________________________________- unnecessary `let` binding [INFO] [stdout] 719 | content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 715 ~ [INFO] [stdout] 716 ~ fs::read_to_string( [INFO] [stdout] 717 + "test-artifacts/test-release-image/v1.0/manifest.json", [INFO] [stdout] 718 + ) [INFO] [stdout] 719 + .expect("should read release-index manifest file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/release/collector.rs:726:25 [INFO] [stdout] | [INFO] [stdout] 722 | / let content = fs::read_to_string( [INFO] [stdout] 723 | | "test-artifacts/test-release-image/v2.0/manifest.json", [INFO] [stdout] 724 | | ) [INFO] [stdout] 725 | | .expect("should read release-index manifest file"); [INFO] [stdout] | |___________________________________________________________________________- unnecessary `let` binding [INFO] [stdout] 726 | content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 722 ~ [INFO] [stdout] 723 ~ fs::read_to_string( [INFO] [stdout] 724 + "test-artifacts/test-release-image/v2.0/manifest.json", [INFO] [stdout] 725 + ) [INFO] [stdout] 726 + .expect("should read release-index manifest file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/release/collector.rs:733:25 [INFO] [stdout] | [INFO] [stdout] 729 | / let content = fs::read_to_string( [INFO] [stdout] 730 | | "test-artifacts/test-release-image/multi/manifest-list.json", [INFO] [stdout] 731 | | ) [INFO] [stdout] 732 | | .expect("should read release-index manifest file"); [INFO] [stdout] | |___________________________________________________________________________- unnecessary `let` binding [INFO] [stdout] 733 | content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 729 ~ [INFO] [stdout] 730 ~ fs::read_to_string( [INFO] [stdout] 731 + "test-artifacts/test-release-image/multi/manifest-list.json", [INFO] [stdout] 732 + ) [INFO] [stdout] 733 + .expect("should read release-index manifest file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/release/collector.rs:738:25 [INFO] [stdout] | [INFO] [stdout] 736 | / ... let content = fs::read_to_string("test-artifacts/test-release-image/v1.0/release/test-simple-operator/manifest.json") [INFO] [stdout] 737 | | ... .expect("should read manifest file"); [INFO] [stdout] | |___________________________________________- unnecessary `let` binding [INFO] [stdout] 738 | ... content [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 736 ~ [INFO] [stdout] 737 ~ fs::read_to_string("test-artifacts/test-release-image/v1.0/release/test-simple-operator/manifest.json") [INFO] [stdout] 738 + .expect("should read manifest file") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/release/collector.rs:797:17 [INFO] [stdout] | [INFO] [stdout] 797 | log.ex(&format!("executing sub test : v2 manifest [should pass]")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"executing sub test : v2 manifest [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/release/collector.rs:810:9 [INFO] [stdout] | [INFO] [stdout] 810 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 810 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 810 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/release/collector.rs:811:9 [INFO] [stdout] | [INFO] [stdout] 811 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/release/collector.rs:815:17 [INFO] [stdout] | [INFO] [stdout] 815 | log.ex(&format!( [INFO] [stdout] | _________________^ [INFO] [stdout] 816 | | "executing v2 manifest (skip manifest check) [should pass]" [INFO] [stdout] 817 | | )); [INFO] [stdout] | |_________^ help: consider using `.to_string()`: `"executing v2 manifest (skip manifest check) [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/release/collector.rs:824:9 [INFO] [stdout] | [INFO] [stdout] 824 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 824 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 824 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/release/collector.rs:825:9 [INFO] [stdout] | [INFO] [stdout] 825 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/release/collector.rs:833:17 [INFO] [stdout] | [INFO] [stdout] 833 | log.ex(&format!( [INFO] [stdout] | _________________^ [INFO] [stdout] 834 | | "executing sub test : v2 manifest (use file override) [should pass]" [INFO] [stdout] 835 | | )); [INFO] [stdout] | |_________^ help: consider using `.to_string()`: `"executing sub test : v2 manifest (use file override) [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/release/collector.rs:848:9 [INFO] [stdout] | [INFO] [stdout] 848 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 848 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 848 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/release/collector.rs:849:9 [INFO] [stdout] | [INFO] [stdout] 849 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/release/collector.rs:865:17 [INFO] [stdout] | [INFO] [stdout] 865 | log.ex(&format!( [INFO] [stdout] | _________________^ [INFO] [stdout] 866 | | "executing sub test : v2 manifest (forced error) [should fail]" [INFO] [stdout] 867 | | )); [INFO] [stdout] | |_________^ help: consider using `.to_string()`: `"executing sub test : v2 manifest (forced error) [should fail]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/release/collector.rs:880:9 [INFO] [stdout] | [INFO] [stdout] 880 | assert_eq!(res.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 880 - assert_eq!(res.is_err(), true); [INFO] [stdout] 880 + assert!(res.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/release/collector.rs:881:9 [INFO] [stdout] | [INFO] [stdout] 881 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/release/collector.rs:899:17 [INFO] [stdout] | [INFO] [stdout] 899 | log.ex(&format!("executing sub test : v1 manifest [should pass]")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"executing sub test : v1 manifest [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/release/collector.rs:912:9 [INFO] [stdout] | [INFO] [stdout] 912 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 912 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 912 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/release/collector.rs:913:9 [INFO] [stdout] | [INFO] [stdout] 913 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/release/collector.rs:929:17 [INFO] [stdout] | [INFO] [stdout] 929 | log.ex(&format!("executing sub test : dry-run [should pass]")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"executing sub test : dry-run [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/release/collector.rs:936:9 [INFO] [stdout] | [INFO] [stdout] 936 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 936 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 936 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/release/collector.rs:937:9 [INFO] [stdout] | [INFO] [stdout] 937 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/release/collector.rs:954:17 [INFO] [stdout] | [INFO] [stdout] 954 | log.ex(&format!("executing sub test : multi image [should pass]")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"executing sub test : multi image [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/release/collector.rs:967:9 [INFO] [stdout] | [INFO] [stdout] 967 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 967 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 967 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/release/collector.rs:987:17 [INFO] [stdout] | [INFO] [stdout] 987 | log.ex(&format!( [INFO] [stdout] | _________________^ [INFO] [stdout] 988 | | "executing sub test : multi image (file override) [should pass]" [INFO] [stdout] 989 | | )); [INFO] [stdout] | |_________^ help: consider using `.to_string()`: `"executing sub test : multi image (file override) [should pass]".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/release/collector.rs:1002:9 [INFO] [stdout] | [INFO] [stdout] 1002 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1002 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 1002 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `registry_res` after checking its variant with `is_some` [INFO] [stdout] --> src/removable_media/collector.rs:45:30 [INFO] [stdout] | [INFO] [stdout] 44 | if registry_res.is_some() { [INFO] [stdout] | ------------------------- help: try: `if let Some() = registry_res` [INFO] [stdout] 45 | registry_namespace = registry_res.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `data` after checking its variant with `is_ok` [INFO] [stdout] --> src/removable_media/collector.rs:57:40 [INFO] [stdout] | [INFO] [stdout] 48 | if data.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = data` [INFO] [stdout] ... [INFO] [stdout] 57 | let mut archive = Archive::new(data.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `tars` after checking its variant with `is_ok` [INFO] [stdout] --> src/removable_media/collector.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 184 | if tars.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = tars` [INFO] [stdout] 185 | log.mid(&bar); [INFO] [stdout] 186 | for file in tars.unwrap().into_iter() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `data` after checking its variant with `is_ok` [INFO] [stdout] --> src/removable_media/collector.rs:193:64 [INFO] [stdout] | [INFO] [stdout] 192 | ... if data.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = data` [INFO] [stdout] 193 | ... let mut archive = Archive::new(data.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `data` after checking its variant with `is_ok` [INFO] [stdout] --> src/removable_media/collector.rs:309:44 [INFO] [stdout] | [INFO] [stdout] 304 | if data.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = data` [INFO] [stdout] ... [INFO] [stdout] 309 | let mut archive = Archive::new(data.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/removable_media/collector.rs:35:36 [INFO] [stdout] | [INFO] [stdout] 35 | let data = std::fs::File::open(from.clone() + &"/mirror-manifests.tar"); [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-manifests.tar"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/removable_media/collector.rs:35:51 [INFO] [stdout] | [INFO] [stdout] 35 | let data = std::fs::File::open(from.clone() + &"/mirror-manifests.tar"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-manifests.tar"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/removable_media/collector.rs:41:20 [INFO] [stdout] | [INFO] [stdout] 41 | let registry = url.split("/").nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `url.split("/").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/removable_media/collector.rs:59:53 [INFO] [stdout] | [INFO] [stdout] 59 | for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 59 - for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] 59 + for file in archive.entries().unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/removable_media/collector.rs:71:41 [INFO] [stdout] | [INFO] [stdout] 71 | let mut sha_clean = sha.split("-").nth(0).unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `sha.split("-").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/removable_media/collector.rs:73:37 [INFO] [stdout] | [INFO] [stdout] 73 | sha_clean = sha.split(".json").nth(0).unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `sha.split(".json").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `x` is only used to index `spinner` [INFO] [stdout] --> src/removable_media/collector.rs:95:42 [INFO] [stdout] | [INFO] [stdout] 95 | ... for x in 0..9 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 95 - for x in 0..9 { [INFO] [stdout] 95 + for in spinner.iter().take(9) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:144:60 [INFO] [stdout] | [INFO] [stdout] 144 | ... println!("\x1b[1A \x1b[38C{}", "\x1b[1;93m*\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 144 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;93m*\x1b[0m"); [INFO] [stdout] 144 + println!("\x1b[1A \x1b[38C\x1b[1;93m*\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:146:60 [INFO] [stdout] | [INFO] [stdout] 146 | ... println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 146 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] 146 + println!("\x1b[1A \x1b[38C\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/removable_media/collector.rs:174:8 [INFO] [stdout] | [INFO] [stdout] 174 | if vec_blobs.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!vec_blobs.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: useless use of `format!` [INFO] [stdout] --> src/removable_media/collector.rs:182:21 [INFO] [stdout] | [INFO] [stdout] 182 | log.hi(&format!("[removable_media_disk_to_mirror] uploading blobs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"[removable_media_disk_to_mirror] uploading blobs".to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::fs::ReadDir` [INFO] [stdout] --> src/removable_media/collector.rs:186:29 [INFO] [stdout] | [INFO] [stdout] 186 | for file in tars.unwrap().into_iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `tars.unwrap()` [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: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/removable_media/collector.rs:194:77 [INFO] [stdout] | [INFO] [stdout] 194 | ... for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 194 - for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] 194 + for file in archive.entries().unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `x` is only used to index `spinner` [INFO] [stdout] --> src/removable_media/collector.rs:214:62 [INFO] [stdout] | [INFO] [stdout] 214 | ... for x in 0..9 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 214 - for x in 0..9 { [INFO] [stdout] 214 + for in spinner.iter().take(9) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/removable_media/collector.rs:243:69 [INFO] [stdout] | [INFO] [stdout] 243 | ... updated_path.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: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:257:53 [INFO] [stdout] | [INFO] [stdout] 257 | ... "\x1b[1;91m✗\x1b[0m" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 256 - "\x1b[1A \x1b[38C{}", [INFO] [stdout] 257 - "\x1b[1;91m✗\x1b[0m" [INFO] [stdout] 256 + "\x1b[1A \x1b[38C\x1b[1;91m✗\x1b[0m" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:263:53 [INFO] [stdout] | [INFO] [stdout] 263 | ... "\x1b[1;92m✓\x1b[0m" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 262 - "\x1b[1A \x1b[38C{}", [INFO] [stdout] 263 - "\x1b[1;92m✓\x1b[0m" [INFO] [stdout] 262 + "\x1b[1A \x1b[38C\x1b[1;92m✓\x1b[0m" [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/removable_media/collector.rs:299:40 [INFO] [stdout] | [INFO] [stdout] 299 | let data = std::fs::File::open(from.clone() + &"/mirror-manifests.tar"); [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `"/mirror-manifests.tar"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/removable_media/collector.rs:299:55 [INFO] [stdout] | [INFO] [stdout] 299 | let data = std::fs::File::open(from.clone() + &"/mirror-manifests.tar"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `"/mirror-manifests.tar"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to use `.enumerate()` and immediately discard the index [INFO] [stdout] --> src/removable_media/collector.rs:311:57 [INFO] [stdout] | [INFO] [stdout] 311 | for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_enumerate_index [INFO] [stdout] help: remove the `.enumerate()` call [INFO] [stdout] | [INFO] [stdout] 311 - for (_i, file) in archive.entries().unwrap().enumerate() { [INFO] [stdout] 311 + for file in archive.entries().unwrap() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/removable_media/collector.rs:315:17 [INFO] [stdout] | [INFO] [stdout] 315 | / if name.is_some() { [INFO] [stdout] 316 | | if op_path.contains(".json") { [INFO] [stdout] 317 | | if vec_manifests.contains(&op_path) { [INFO] [stdout] 318 | | let manifest = &mut "".to_string(); [INFO] [stdout] ... | [INFO] [stdout] 371 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 315 ~ if name.is_some() [INFO] [stdout] 316 ~ && op_path.contains(".json") { [INFO] [stdout] 317 | if vec_manifests.contains(&op_path) { [INFO] [stdout] ... [INFO] [stdout] 369 | } [INFO] [stdout] 370 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/removable_media/collector.rs:316:21 [INFO] [stdout] | [INFO] [stdout] 316 | / if op_path.contains(".json") { [INFO] [stdout] 317 | | if vec_manifests.contains(&op_path) { [INFO] [stdout] 318 | | let manifest = &mut "".to_string(); [INFO] [stdout] 319 | | let mut ex = file.unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 370 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 316 ~ if op_path.contains(".json") [INFO] [stdout] 317 ~ && vec_manifests.contains(&op_path) { [INFO] [stdout] 318 | let manifest = &mut "".to_string(); [INFO] [stdout] ... [INFO] [stdout] 368 | } [INFO] [stdout] 369 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/removable_media/collector.rs:324:49 [INFO] [stdout] | [INFO] [stdout] 324 | ... let mut sha_clean = sha.split("-").nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `sha.split("-").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `.nth(0)` on a `std::iter::Iterator`, when `.next()` is equivalent [INFO] [stdout] --> src/removable_media/collector.rs:326:45 [INFO] [stdout] | [INFO] [stdout] 326 | ... sha_clean = sha.split(".json").nth(0).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try calling `.next()` instead of `.nth(0)`: `sha.split(".json").next()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/removable_media/collector.rs:339:72 [INFO] [stdout] | [INFO] [stdout] 339 | ... format!("{}/{}", registry_namespace, ns.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: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/removable_media/collector.rs:349:80 [INFO] [stdout] | [INFO] [stdout] 349 | ... format!("{}/{}", registry_namespace, ns.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: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:356:68 [INFO] [stdout] | [INFO] [stdout] 356 | ... println!("\x1b[1A \x1b[38C{}", "\x1b[1;91m✗\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 356 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;91m✗\x1b[0m"); [INFO] [stdout] 356 + println!("\x1b[1A \x1b[38C\x1b[1;91m✗\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:358:68 [INFO] [stdout] | [INFO] [stdout] 358 | ... println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 358 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] 358 + println!("\x1b[1A \x1b[38C\x1b[1;92m✓\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: literal with an empty format string [INFO] [stdout] --> src/removable_media/collector.rs:367:64 [INFO] [stdout] | [INFO] [stdout] 367 | ... println!("\x1b[1A \x1b[38C{}", "\x1b[1;91m✗\x1b[0m"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 367 - println!("\x1b[1A \x1b[38C{}", "\x1b[1;91m✗\x1b[0m"); [INFO] [stdout] 367 + println!("\x1b[1A \x1b[38C\x1b[1;91m✗\x1b[0m"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/removable_media/collector.rs:489:9 [INFO] [stdout] | [INFO] [stdout] 489 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 489 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 489 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/removable_media/collector.rs:502:9 [INFO] [stdout] | [INFO] [stdout] 502 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 502 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 502 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/removable_media/collector.rs:512:9 [INFO] [stdout] | [INFO] [stdout] 512 | assert_eq!(res.is_ok(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 512 - assert_eq!(res.is_ok(), true); [INFO] [stdout] 512 + assert!(res.is_ok()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/removable_media/collector.rs:526:9 [INFO] [stdout] | [INFO] [stdout] 526 | assert_eq!(res.is_err(), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 526 - assert_eq!(res.is_err(), true); [INFO] [stdout] 526 + assert!(res.is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `isc_config_final.mirror.release` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:167:17 [INFO] [stdout] | [INFO] [stdout] 163 | if isc_config_final.mirror.release.is_some() { [INFO] [stdout] | -------------------------------------------- help: try: `if let Some() = isc_config_final.mirror.release` [INFO] [stdout] ... [INFO] [stdout] 167 | isc_config_final.mirror.release.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `isc_config_final.mirror.operators` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:184:17 [INFO] [stdout] | [INFO] [stdout] 180 | if isc_config_final.mirror.operators.is_some() { [INFO] [stdout] | ---------------------------------------------- help: try: `if let Some() = isc_config_final.mirror.operators` [INFO] [stdout] ... [INFO] [stdout] 184 | isc_config_final.mirror.operators.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `isc_config_final.mirror.additional_images` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:202:17 [INFO] [stdout] | [INFO] [stdout] 198 | if isc_config_final.mirror.additional_images.is_some() { [INFO] [stdout] | ------------------------------------------------------ help: try: `if let Some() = isc_config_final.mirror.additional_images` [INFO] [stdout] ... [INFO] [stdout] 202 | isc_config_final.mirror.additional_images.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `isc_config_final.archive_size` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:219:28 [INFO] [stdout] | [INFO] [stdout] 218 | if isc_config_final.archive_size.is_some() { [INFO] [stdout] | ------------------------------------------ help: try: `if let Some() = isc_config_final.archive_size` [INFO] [stdout] 219 | let size = isc_config_final.archive_size.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/main.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | if args.destination == "" { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `args.destination.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: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:133:60 [INFO] [stdout] | [INFO] [stdout] 133 | format!("{}/{}", destination, "mirror-metadata".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: useless use of `format!` [INFO] [stdout] --> src/main.rs:139:24 [INFO] [stdout] | [INFO] [stdout] 139 | log.error(&format!("{}", res_mm.err().unwrap().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `res_mm.err().unwrap().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:139:59 [INFO] [stdout] | [INFO] [stdout] 139 | log.error(&format!("{}", res_mm.err().unwrap().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: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:142:53 [INFO] [stdout] | [INFO] [stdout] 142 | format!("{}/{}", destination, "mappings".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: useless use of `format!` [INFO] [stdout] --> src/main.rs:148:24 [INFO] [stdout] | [INFO] [stdout] 148 | log.error(&format!("{}", res_mp.err().unwrap().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `res_mp.err().unwrap().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:148:59 [INFO] [stdout] | [INFO] [stdout] 148 | log.error(&format!("{}", res_mp.err().unwrap().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: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:151:54 [INFO] [stdout] | [INFO] [stdout] 151 | format!("{}/{}", destination, "artifacts".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: useless use of `format!` [INFO] [stdout] --> src/main.rs:157:24 [INFO] [stdout] | [INFO] [stdout] 157 | log.error(&format!("{}", res_mp.err().unwrap().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `res_mp.err().unwrap().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:157:59 [INFO] [stdout] | [INFO] [stdout] 157 | log.error(&format!("{}", res_mp.err().unwrap().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/main.rs:237:12 [INFO] [stdout] | [INFO] [stdout] 237 | if args.from.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `args.from.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 `format!` args [INFO] [stdout] --> src/main.rs:249:55 [INFO] [stdout] | [INFO] [stdout] 249 | args.from.split("file://").nth(1).unwrap().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: useless use of `format!` [INFO] [stdout] --> src/main.rs:278:24 [INFO] [stdout] | [INFO] [stdout] 278 | log.error(&format!("{}", gen_res.err().unwrap().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `gen_res.err().unwrap().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:278:60 [INFO] [stdout] | [INFO] [stdout] 278 | log.error(&format!("{}", gen_res.err().unwrap().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: useless use of `format!` [INFO] [stdout] --> src/main.rs:285:24 [INFO] [stdout] | [INFO] [stdout] 285 | log.error(&format!("{}", gen_res.err().unwrap().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `gen_res.err().unwrap().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:285:60 [INFO] [stdout] | [INFO] [stdout] 285 | log.error(&format!("{}", gen_res.err().unwrap().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: useless use of `format!` [INFO] [stdout] --> src/main.rs:289:24 [INFO] [stdout] | [INFO] [stdout] 289 | log.error(&format!("{}", res_c.err().unwrap().to_string())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `res_c.err().unwrap().to_string()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/main.rs:289:58 [INFO] [stdout] | [INFO] [stdout] 289 | log.error(&format!("{}", res_c.err().unwrap().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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 39.91s [INFO] running `Command { std: "docker" "inspect" "93b2fda88625ceff6f5480d40627eeadaa29621fdfbc391b768cca4a92ae1bfc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "93b2fda88625ceff6f5480d40627eeadaa29621fdfbc391b768cca4a92ae1bfc", kill_on_drop: false }` [INFO] [stdout] 93b2fda88625ceff6f5480d40627eeadaa29621fdfbc391b768cca4a92ae1bfc