[INFO] fetching crate depploy 0.2.3... [INFO] linting depploy-0.2.3 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate depploy 0.2.3 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate depploy 0.2.3 [INFO] finished tweaking crates.io crate depploy 0.2.3 [INFO] tweaked toml for crates.io crate depploy 0.2.3 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate depploy 0.2.3 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 crates.io crate depploy 0.2.3 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] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.80 [INFO] [stderr] Downloaded whoami v1.2.1 [INFO] [stderr] Downloaded quote v1.0.10 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.80 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.80 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.80 [INFO] [stderr] Downloaded proc-macro2 v1.0.32 [INFO] [stderr] Downloaded filetime v0.2.15 [INFO] [stderr] Downloaded num_cpus v1.13.0 [INFO] [stderr] Downloaded termtree v0.2.4 [INFO] [stderr] Downloaded predicates-core v1.0.3 [INFO] [stderr] Downloaded version_check v0.9.3 [INFO] [stderr] Downloaded hyperlocal v0.8.0 [INFO] [stderr] Downloaded predicates v2.1.1 [INFO] [stderr] Downloaded assert_cmd v2.0.4 [INFO] [stderr] Downloaded crc32fast v1.2.1 [INFO] [stderr] Downloaded pin-project v0.4.28 [INFO] [stderr] Downloaded structopt v0.3.25 [INFO] [stderr] Downloaded http v0.2.5 [INFO] [stderr] Downloaded futures-util v0.3.17 [INFO] [stderr] Downloaded unicode-segmentation v1.8.0 [INFO] [stderr] Downloaded serde_json v1.0.69 [INFO] [stderr] Downloaded reqwest v0.11.10 [INFO] [stderr] Downloaded openssl v0.10.38 [INFO] [stderr] Downloaded git2 v0.14.2 [INFO] [stderr] Downloaded hyper v0.14.14 [INFO] [stderr] Downloaded clap v2.33.3 [INFO] [stderr] Downloaded regex-syntax v0.6.26 [INFO] [stderr] Downloaded ntapi v0.3.6 [INFO] [stderr] Downloaded serde v1.0.130 [INFO] [stderr] Downloaded tracing v0.1.29 [INFO] [stderr] Downloaded mio v0.7.14 [INFO] [stderr] Downloaded js-sys v0.3.57 [INFO] [stderr] Downloaded syn v1.0.81 [INFO] [stderr] Downloaded tokio-util v0.7.2 [INFO] [stderr] Downloaded cc v1.0.71 [INFO] [stderr] Downloaded regex v1.5.6 [INFO] [stderr] Downloaded openssl-sys v0.9.70 [INFO] [stderr] Downloaded pin-project v1.0.8 [INFO] [stderr] Downloaded ryu v1.0.5 [INFO] [stderr] Downloaded libssh2-sys v0.2.23 [INFO] [stderr] Downloaded tokio v1.13.0 [INFO] [stderr] Downloaded shiplift v0.7.0 [INFO] [stderr] Downloaded time v0.3.9 [INFO] [stderr] Downloaded web-sys v0.3.57 [INFO] [stderr] Downloaded futures v0.3.17 [INFO] [stderr] Downloaded futures-channel v0.3.17 [INFO] [stderr] Downloaded socket2 v0.4.2 [INFO] [stderr] Downloaded tracing-core v0.1.21 [INFO] [stderr] Downloaded tar v0.4.37 [INFO] [stderr] Downloaded tinyvec v1.5.0 [INFO] [stderr] Downloaded ansi_term v0.11.0 [INFO] [stderr] Downloaded smallvec v1.7.0 [INFO] [stderr] Downloaded serde_derive v1.0.130 [INFO] [stderr] Downloaded wasm-bindgen v0.2.80 [INFO] [stderr] Downloaded env_logger v0.9.0 [INFO] [stderr] Downloaded futures-executor v0.3.17 [INFO] [stderr] Downloaded futures-macro v0.3.17 [INFO] [stderr] Downloaded tracing-attributes v0.1.21 [INFO] [stderr] Downloaded pin-project-internal v1.0.8 [INFO] [stderr] Downloaded text_io v0.1.10 [INFO] [stderr] Downloaded predicates-tree v1.0.5 [INFO] [stderr] Downloaded bytes v0.5.6 [INFO] [stderr] Downloaded pin-project-internal v0.4.28 [INFO] [stderr] Downloaded futures_codec v0.4.1 [INFO] [stderr] Downloaded hyper-openssl v0.9.1 [INFO] [stderr] Downloaded proc-macro-nested v0.1.7 [INFO] [stderr] Downloaded httparse v1.5.1 [INFO] [stderr] Downloaded simple_logger v2.1.0 [INFO] [stderr] Downloaded once_cell v1.8.0 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.30 [INFO] [stderr] Downloaded tokio-openssl v0.6.3 [INFO] [stderr] Downloaded futures-task v0.3.17 [INFO] [stderr] Downloaded httpdate v1.0.1 [INFO] [stderr] Downloaded colored v2.0.0 [INFO] [stderr] Downloaded linked_hash_set v0.1.4 [INFO] [stderr] Downloaded futures-io v0.3.17 [INFO] [stderr] Downloaded futures-core v0.3.17 [INFO] [stderr] Downloaded futures-sink v0.3.17 [INFO] [stderr] Downloaded pkg-config v0.3.22 [INFO] [stderr] Downloaded xattr v0.2.2 [INFO] [stderr] Downloaded pin-project-lite v0.2.7 [INFO] [stderr] Downloaded libgit2-sys v0.13.2+1.4.2 [INFO] [stderr] Downloaded libz-sys v1.1.6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 6ea2673aa2fc9a7fbfd2d065265133225093e49b0b0ec5a60ac4afde12e50743 [INFO] running `Command { std: "docker" "start" "-a" "6ea2673aa2fc9a7fbfd2d065265133225093e49b0b0ec5a60ac4afde12e50743", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6ea2673aa2fc9a7fbfd2d065265133225093e49b0b0ec5a60ac4afde12e50743", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6ea2673aa2fc9a7fbfd2d065265133225093e49b0b0ec5a60ac4afde12e50743", kill_on_drop: false }` [INFO] [stdout] 6ea2673aa2fc9a7fbfd2d065265133225093e49b0b0ec5a60ac4afde12e50743 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 3c43c17c7bf3206f9cc7f34657b1d6602a022c2702d8a997abd9a6d4366c9e36 [INFO] running `Command { std: "docker" "start" "-a" "3c43c17c7bf3206f9cc7f34657b1d6602a022c2702d8a997abd9a6d4366c9e36", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.32 [INFO] [stderr] Compiling syn v1.0.81 [INFO] [stderr] Compiling pkg-config v0.3.22 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Checking pin-project-lite v0.2.7 [INFO] [stderr] Compiling futures-core v0.3.17 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Compiling futures-channel v0.3.17 [INFO] [stderr] Compiling futures-task v0.3.17 [INFO] [stderr] Compiling libc v0.2.126 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Compiling futures-macro v0.3.17 [INFO] [stderr] Checking futures-sink v0.3.17 [INFO] [stderr] Compiling futures-util v0.3.17 [INFO] [stderr] Checking once_cell v1.8.0 [INFO] [stderr] Checking smallvec v1.7.0 [INFO] [stderr] Compiling tokio v1.13.0 [INFO] [stderr] Checking futures-io v0.3.17 [INFO] [stderr] Checking parking_lot_core v0.8.5 [INFO] [stderr] Checking signal-hook-registry v1.4.0 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking itoa v0.4.8 [INFO] [stderr] Compiling indexmap v1.8.1 [INFO] [stderr] Compiling jobserver v0.1.24 [INFO] [stderr] Checking tracing-core v0.1.21 [INFO] [stderr] Compiling openssl v0.10.38 [INFO] [stderr] Checking mio v0.7.14 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Checking http v0.2.5 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Compiling httparse v1.5.1 [INFO] [stderr] Compiling serde v1.0.130 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Compiling cc v1.0.71 [INFO] [stderr] Checking tinyvec v1.5.0 [INFO] [stderr] Checking socket2 v0.4.2 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Checking tower-service v0.3.1 [INFO] [stderr] Checking httpdate v1.0.1 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Checking unicode-bidi v0.3.7 [INFO] [stderr] Compiling pin-project-internal v0.4.28 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling quote v1.0.10 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling tokio-openssl v0.6.3 [INFO] [stderr] Compiling serde_json v1.0.69 [INFO] [stderr] Compiling crc32fast v1.2.1 [INFO] [stderr] Checking unicode-width v0.1.9 [INFO] [stderr] Compiling unicode-segmentation v1.8.0 [INFO] [stderr] Compiling hyper-openssl v0.9.1 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking linked_hash_set v0.1.4 [INFO] [stderr] Compiling encoding_rs v0.8.31 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking xattr v0.2.2 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking filetime v0.2.15 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Checking num_threads v0.1.6 [INFO] [stderr] Compiling doc-comment v0.3.3 [INFO] [stderr] Checking bytes v0.5.6 [INFO] [stderr] Checking regex-syntax v0.6.26 [INFO] [stderr] Checking mime v0.3.16 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking base64 v0.13.0 [INFO] [stderr] Checking predicates-core v1.0.3 [INFO] [stderr] Checking tower-layer v0.3.1 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Compiling time-macros v0.2.4 [INFO] [stderr] Checking itertools v0.10.3 [INFO] [stderr] Checking flate2 v1.0.22 [INFO] [stderr] Checking tar v0.4.37 [INFO] [stderr] Checking colored v2.0.0 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Compiling openssl-sys v0.9.70 [INFO] [stderr] Compiling libz-sys v1.1.6 [INFO] [stderr] Checking unicode-normalization v0.1.19 [INFO] [stderr] Compiling libssh2-sys v0.2.23 [INFO] [stderr] Compiling libgit2-sys v0.13.2+1.4.2 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking ipnet v2.5.0 [INFO] [stderr] Checking difflib v0.4.0 [INFO] [stderr] Checking termcolor v1.1.3 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking termtree v0.2.4 [INFO] [stderr] Checking regex v1.5.6 [INFO] [stderr] Checking bstr v0.2.17 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Checking text_io v0.1.10 [INFO] [stderr] Checking predicates-tree v1.0.5 [INFO] [stderr] Checking whoami v1.2.1 [INFO] [stderr] Compiling native-tls v0.2.10 [INFO] [stderr] Checking http-body v0.4.4 [INFO] [stderr] Checking env_logger v0.9.0 [INFO] [stderr] Checking time v0.3.9 [INFO] [stderr] Checking predicates v2.1.1 [INFO] [stderr] Checking assert_cmd v2.0.4 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Checking simple_logger v2.1.0 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Compiling tokio-macros v1.7.0 [INFO] [stderr] Compiling tracing-attributes v0.1.21 [INFO] [stderr] Compiling pin-project-internal v1.0.8 [INFO] [stderr] Compiling structopt-derive v0.4.18 [INFO] [stderr] Checking git2 v0.14.2 [INFO] [stderr] Checking tracing v0.1.29 [INFO] [stderr] Checking pin-project v1.0.8 [INFO] [stderr] Checking structopt v0.3.25 [INFO] [stderr] Checking pin-project v0.4.28 [INFO] [stderr] Checking futures-executor v0.3.17 [INFO] [stderr] Checking futures v0.3.17 [INFO] [stderr] Checking futures_codec v0.4.1 [INFO] [stderr] Checking tokio-util v0.7.2 [INFO] [stderr] Checking tokio-native-tls v0.3.0 [INFO] [stderr] Checking h2 v0.3.13 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking toml v0.5.8 [INFO] [stderr] Checking hyper v0.14.14 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking hyperlocal v0.8.0 [INFO] [stderr] Checking shiplift v0.7.0 [INFO] [stderr] Checking reqwest v0.11.10 [INFO] [stderr] Checking depploy v0.2.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `trace` and `warn` [INFO] [stdout] --> src/build.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use log::{debug, info, trace, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/conf.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{path::{Path, PathBuf}, fs::File, io}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/conf.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | use toml; [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: unused imports: `error`, `info`, `trace`, and `warn` [INFO] [stdout] --> src/conf.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use log::{debug, error, info, trace, warn}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info`, `trace`, and `warn` [INFO] [stdout] --> src/generate/lang.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use log::{debug, error, info, trace, warn}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Path`, `ascii::AsciiExt`, and `str::FromStr` [INFO] [stdout] --> src/generate/lang.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | path::{Path, PathBuf}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | str::FromStr, ascii::AsciiExt, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Repository` and `build::CheckoutBuilder` [INFO] [stdout] --> src/generate/lang.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | use git2::{Repository, build::CheckoutBuilder}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `process::Command` and `str::FromStr` [INFO] [stdout] --> src/generate/files.rs:1:40 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{path::PathBuf, error::Error, str::FromStr, io::{self, Write}, process::Command}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FetchOptions` [INFO] [stdout] --> src/generate/files.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use git2::{Repository, FetchOptions}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LevelFilter`, `error`, `info`, and `trace` [INFO] [stdout] --> src/generate/files.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | use log::{error, info, trace, warn, debug, LevelFilter}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/io.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | match (env::consts::OS){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 18 - match (env::consts::OS){ [INFO] [stdout] 18 + match env::consts::OS { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `trace` [INFO] [stdout] --> src/main.rs:11:24 [INFO] [stdout] | [INFO] [stdout] 11 | use log::{error, info, trace, warn, LevelFilter}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Permissions` [INFO] [stdout] --> src/main.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | use std::fs::{self, Permissions}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::unix::prelude::PermissionsExt` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::os::unix::prelude::PermissionsExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/main.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | 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] [INFO] [stdout] [INFO] [stdout] warning: unused import: `text_io::scan` [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use text_io::scan; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/main.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | match (env::consts::OS) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 40 - match (env::consts::OS) { [INFO] [stdout] 40 + match env::consts::OS { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `trace` and `warn` [INFO] [stdout] --> src/build.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use log::{debug, info, trace, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/conf.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{path::{Path, PathBuf}, fs::File, io}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/conf.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | use toml; [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: unused imports: `error`, `info`, `trace`, and `warn` [INFO] [stdout] --> src/conf.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use log::{debug, error, info, trace, warn}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info`, `trace`, and `warn` [INFO] [stdout] --> src/generate/lang.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use log::{debug, error, info, trace, warn}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Path`, `ascii::AsciiExt`, and `str::FromStr` [INFO] [stdout] --> src/generate/lang.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | path::{Path, PathBuf}, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | str::FromStr, ascii::AsciiExt, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Repository` and `build::CheckoutBuilder` [INFO] [stdout] --> src/generate/lang.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | use git2::{Repository, build::CheckoutBuilder}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `process::Command` [INFO] [stdout] --> src/generate/files.rs:1:73 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{path::PathBuf, error::Error, str::FromStr, io::{self, Write}, process::Command}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FetchOptions` [INFO] [stdout] --> src/generate/files.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use git2::{Repository, FetchOptions}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `LevelFilter`, `error`, `info`, and `trace` [INFO] [stdout] --> src/generate/files.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | use log::{error, info, trace, warn, debug, LevelFilter}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/io.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | match (env::consts::OS){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 18 - match (env::consts::OS){ [INFO] [stdout] 18 + match env::consts::OS { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead [INFO] [stdout] --> src/generate/lang.rs:9:26 [INFO] [stdout] | [INFO] [stdout] 9 | str::FromStr, ascii::AsciiExt, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `trace` [INFO] [stdout] --> src/main.rs:11:24 [INFO] [stdout] | [INFO] [stdout] 11 | use log::{error, info, trace, warn, LevelFilter}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Permissions` [INFO] [stdout] --> src/main.rs:13:21 [INFO] [stdout] | [INFO] [stdout] 13 | use std::fs::{self, Permissions}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::os::unix::prelude::PermissionsExt` [INFO] [stdout] --> src/main.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use std::os::unix::prelude::PermissionsExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/main.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | 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] [INFO] [stdout] [INFO] [stdout] warning: unused import: `text_io::scan` [INFO] [stdout] --> src/main.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use text_io::scan; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/main.rs:40:11 [INFO] [stdout] | [INFO] [stdout] 40 | match (env::consts::OS) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 40 - match (env::consts::OS) { [INFO] [stdout] 40 + match env::consts::OS { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead [INFO] [stdout] --> src/generate/lang.rs:9:26 [INFO] [stdout] | [INFO] [stdout] 9 | str::FromStr, ascii::AsciiExt, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `image_tag` [INFO] [stdout] --> src/build.rs:21:44 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn set_latest_tag(image_name: &String, image_tag: &String) -> String { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_image_tag` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/build.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | let mut output; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `image_tag` [INFO] [stdout] --> src/build.rs:21:44 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn set_latest_tag(image_name: &String, image_tag: &String) -> String { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_image_tag` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/build.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | let mut output; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/generate/lang.rs:34:17 [INFO] [stdout] | [INFO] [stdout] 34 | let mut result = get_filesnames(&y.path(), exclude_dirs)?; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/generate/lang.rs:34:17 [INFO] [stdout] | [INFO] [stdout] 34 | let mut result = get_filesnames(&y.path(), exclude_dirs)?; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/io.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | other => return String::new() [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/main.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | other => return String::new(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> src/generate/files.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | let result = get_predefined_dockerfiles(&path); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/io.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | other => return String::new() [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/main.rs:161:25 [INFO] [stdout] | [INFO] [stdout] 161 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/conf.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl DepployConfig{ [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 15 | pub fn new(docker_registry: &str, docker_hub_username: Option) -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_depploy_path` is never used [INFO] [stdout] --> src/io.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn build_depploy_path() -> String{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/build.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | return vec![name, tag]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 18 - return vec![name, tag]; [INFO] [stdout] 18 + vec![name, tag] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/main.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | other => return String::new(), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/build.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | return latest_tag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return latest_tag; [INFO] [stdout] 23 + latest_tag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/build.rs:21:55 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn set_latest_tag(image_name: &String, image_tag: &String) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 21 - pub fn set_latest_tag(image_name: &String, image_tag: &String) -> String { [INFO] [stdout] 21 + pub fn set_latest_tag(image_name: &String, image_tag: &str) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/build.rs:26:68 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn build_image(image_tag: &String, dir: &str, dockerfile_name: &String, no_latest: &bool, latest_img_tag: &String) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 26 - pub fn build_image(image_tag: &String, dir: &str, dockerfile_name: &String, no_latest: &bool, latest_img_tag: &String) { [INFO] [stdout] 26 + pub fn build_image(image_tag: &String, dir: &str, dockerfile_name: &str, no_latest: &bool, latest_img_tag: &String) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/build.rs:26:111 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn build_image(image_tag: &String, dir: &str, dockerfile_name: &String, no_latest: &bool, latest_img_tag: &String) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 26 - pub fn build_image(image_tag: &String, dir: &str, dockerfile_name: &String, no_latest: &bool, latest_img_tag: &String) { [INFO] [stdout] 26 + pub fn build_image(image_tag: &String, dir: &str, dockerfile_name: &String, no_latest: &bool, latest_img_tag: &str) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/build.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | if output.stderr.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!output.stderr.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: length comparison to zero [INFO] [stdout] --> src/build.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | if output.stderr.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!output.stderr.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: unused variable: `err` [INFO] [stdout] --> src/main.rs:161:25 [INFO] [stdout] | [INFO] [stdout] 161 | Err(err) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/conf.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl DepployConfig{ [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 15 | pub fn new(docker_registry: &str, docker_hub_username: Option) -> Self{ [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_depploy_path` is never used [INFO] [stdout] --> src/io.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn build_depploy_path() -> String{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/build.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | return vec![name, tag]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 18 - return vec![name, tag]; [INFO] [stdout] 18 + vec![name, tag] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/build.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | return latest_tag; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 23 - return latest_tag; [INFO] [stdout] 23 + latest_tag [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/build.rs:21:55 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn set_latest_tag(image_name: &String, image_tag: &String) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 21 - pub fn set_latest_tag(image_name: &String, image_tag: &String) -> String { [INFO] [stdout] 21 + pub fn set_latest_tag(image_name: &String, image_tag: &str) -> String { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/build.rs:26:68 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn build_image(image_tag: &String, dir: &str, dockerfile_name: &String, no_latest: &bool, latest_img_tag: &String) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 26 - pub fn build_image(image_tag: &String, dir: &str, dockerfile_name: &String, no_latest: &bool, latest_img_tag: &String) { [INFO] [stdout] 26 + pub fn build_image(image_tag: &String, dir: &str, dockerfile_name: &str, no_latest: &bool, latest_img_tag: &String) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> src/build.rs:26:111 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn build_image(image_tag: &String, dir: &str, dockerfile_name: &String, no_latest: &bool, latest_img_tag: &String) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 26 - pub fn build_image(image_tag: &String, dir: &str, dockerfile_name: &String, no_latest: &bool, latest_img_tag: &String) { [INFO] [stdout] 26 + pub fn build_image(image_tag: &String, dir: &str, dockerfile_name: &String, no_latest: &bool, latest_img_tag: &str) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/build.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | if output.stderr.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!output.stderr.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: length comparison to zero [INFO] [stdout] --> src/build.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | if output.stderr.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!output.stderr.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 `unwrap` on `result` after checking its variant with `is_some` [INFO] [stdout] --> src/generate/lang.rs:36:34 [INFO] [stdout] | [INFO] [stdout] 35 | if result.is_some() { [INFO] [stdout] | ------------------- help: try: `if let Some() = result` [INFO] [stdout] 36 | list.append(&mut result.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] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate/lang.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | return Ok(Some(list)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return Ok(Some(list)); [INFO] [stdout] 42 + Ok(Some(list)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `key_with_max_value` after checking its variant with `is_some` [INFO] [stdout] --> src/generate/lang.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 58 | if key_with_max_value.is_some() { [INFO] [stdout] | ------------------------------- help: try: `if let Some() = key_with_max_value` [INFO] [stdout] 59 | return Some(key_with_max_value.unwrap().0.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: unneeded `return` statement [INFO] [stdout] --> src/generate/lang.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 61 - return None; [INFO] [stdout] 61 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/generate/lang.rs:64:48 [INFO] [stdout] | [INFO] [stdout] 64 | pub async fn get_project_language(depploy_dir: &PathBuf) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 64 ~ pub async fn get_project_language(depploy_dir: &Path) -> Result, Box> { [INFO] [stdout] 65 ~ let mut path = depploy_dir.to_path_buf(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate/lang.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | return Ok(languages); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 78 - return Ok(languages); [INFO] [stdout] 78 + Ok(languages) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate/lang.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | return Ok(Some(to_ignore)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - return Ok(Some(to_ignore)); [INFO] [stdout] 101 + Ok(Some(to_ignore)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/generate/lang.rs:83:26 [INFO] [stdout] | [INFO] [stdout] 83 | fn read_git_ignore(path: &PathBuf) -> Result>, Box> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 83 ~ fn read_git_ignore(path: &Path) -> Result>, Box> { [INFO] [stdout] 84 | let mut to_ignore = vec!["git".to_string()]; [INFO] [stdout] 85 | [INFO] [stdout] 86 ~ let mut complete_path = path.to_path_buf(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/generate/lang.rs:94:18 [INFO] [stdout] | [INFO] [stdout] 94 | .map(|c| prepare_ignore(c)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `prepare_ignore` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate/lang.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | return s.to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 109 - return s.to_string(); [INFO] [stdout] 109 + s.to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/generate/lang.rs:113:36 [INFO] [stdout] | [INFO] [stdout] 113 | let excluded = read_git_ignore(&path)?.unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^ help: change this to: `path` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/generate/lang.rs:114:32 [INFO] [stdout] | [INFO] [stdout] 114 | let files = get_filesnames(&path, &excluded)?.unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^ help: change this to: `path` [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: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/generate/files.rs:8:48 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn get_predefined_dockerfiles(depploy_dir: &PathBuf) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 8 ~ pub fn get_predefined_dockerfiles(depploy_dir: &Path) -> Result, Box> { [INFO] [stdout] 9 ~ let mut path = depploy_dir.to_path_buf(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/generate/files.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | do_merge(&repo, &remote_branch, fetch_commit)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `remote_branch` [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: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/generate/files.rs:26:47 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn load_predefined_languages(depploy_dir: &PathBuf, language: &String, mut current_dir: PathBuf) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 26 ~ pub fn load_predefined_languages(depploy_dir: &Path, language: &String, mut current_dir: PathBuf) -> Result<(), Box> { [INFO] [stdout] 27 ~ let mut path = depploy_dir.to_path_buf(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `result` after checking its variant with `is_some` [INFO] [stdout] --> src/generate/lang.rs:36:34 [INFO] [stdout] | [INFO] [stdout] 35 | if result.is_some() { [INFO] [stdout] | ------------------- help: try: `if let Some() = result` [INFO] [stdout] 36 | list.append(&mut result.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] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/generate/files.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | / if !filename.starts_with("."){ [INFO] [stdout] 33 | | if filename.starts_with(language){ [INFO] [stdout] 34 | | path.push(filename); [INFO] [stdout] 35 | | current_dir.push("dockerfile"); [INFO] [stdout] ... | [INFO] [stdout] 39 | | } [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] 32 ~ if !filename.starts_with(".") [INFO] [stdout] 33 ~ && filename.starts_with(language){ [INFO] [stdout] 34 | path.push(filename); [INFO] [stdout] ... [INFO] [stdout] 37 | return Ok(()); [INFO] [stdout] 38 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate/lang.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | return Ok(Some(list)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - return Ok(Some(list)); [INFO] [stdout] 42 + Ok(Some(list)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/generate/files.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | Ok(repo.reference_to_annotated_commit(&fetch_head)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 103 - Ok(repo.reference_to_annotated_commit(&fetch_head)?) [INFO] [stdout] 103 + repo.reference_to_annotated_commit(&fetch_head) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `key_with_max_value` after checking its variant with `is_some` [INFO] [stdout] --> src/generate/lang.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 58 | if key_with_max_value.is_some() { [INFO] [stdout] | ------------------------------- help: try: `if let Some() = key_with_max_value` [INFO] [stdout] 59 | return Some(key_with_max_value.unwrap().0.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: unneeded `return` statement [INFO] [stdout] --> src/generate/lang.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 61 - return None; [INFO] [stdout] 61 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/generate/lang.rs:64:48 [INFO] [stdout] | [INFO] [stdout] 64 | pub async fn get_project_language(depploy_dir: &PathBuf) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 64 ~ pub async fn get_project_language(depploy_dir: &Path) -> Result, Box> { [INFO] [stdout] 65 ~ let mut path = depploy_dir.to_path_buf(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate/lang.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | return Ok(languages); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 78 - return Ok(languages); [INFO] [stdout] 78 + Ok(languages) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate/lang.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | return Ok(Some(to_ignore)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 101 - return Ok(Some(to_ignore)); [INFO] [stdout] 101 + Ok(Some(to_ignore)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/generate/lang.rs:83:26 [INFO] [stdout] | [INFO] [stdout] 83 | fn read_git_ignore(path: &PathBuf) -> Result>, Box> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 83 ~ fn read_git_ignore(path: &Path) -> Result>, Box> { [INFO] [stdout] 84 | let mut to_ignore = vec!["git".to_string()]; [INFO] [stdout] 85 | [INFO] [stdout] 86 ~ let mut complete_path = path.to_path_buf(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/generate/lang.rs:94:18 [INFO] [stdout] | [INFO] [stdout] 94 | .map(|c| prepare_ignore(c)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `prepare_ignore` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/generate/lang.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | return s.to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 109 - return s.to_string(); [INFO] [stdout] 109 + s.to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/generate/lang.rs:113:36 [INFO] [stdout] | [INFO] [stdout] 113 | let excluded = read_git_ignore(&path)?.unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^ help: change this to: `path` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/generate/lang.rs:114:32 [INFO] [stdout] | [INFO] [stdout] 114 | let files = get_filesnames(&path, &excluded)?.unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^ help: change this to: `path` [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/generate/files.rs:205:22 [INFO] [stdout] | [INFO] [stdout] 205 | normal_merge(&repo, &head_commit, &fetch_commit)?; [INFO] [stdout] | ^^^^^ help: change this to: `repo` [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 `return` statement [INFO] [stdout] --> src/io.rs:19:20 [INFO] [stdout] | [INFO] [stdout] 19 | "macos" => return format!("/Users/{}/.depploy", username), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 19 - "macos" => return format!("/Users/{}/.depploy", username), [INFO] [stdout] 19 + "macos" => format!("/Users/{}/.depploy", username), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/io.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | "linux" => return format!("/home/{}/.depploy", username), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 20 - "linux" => return format!("/home/{}/.depploy", username), [INFO] [stdout] 20 + "linux" => format!("/home/{}/.depploy", username), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/generate/files.rs:8:48 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn get_predefined_dockerfiles(depploy_dir: &PathBuf) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 8 ~ pub fn get_predefined_dockerfiles(depploy_dir: &Path) -> Result, Box> { [INFO] [stdout] 9 ~ let mut path = depploy_dir.to_path_buf(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/io.rs:21:22 [INFO] [stdout] | [INFO] [stdout] 21 | "windows" => return format!("/home/{}/.depploy", username), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 21 - "windows" => return format!("/home/{}/.depploy", username), [INFO] [stdout] 21 + "windows" => format!("/home/{}/.depploy", username), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/io.rs:22:18 [INFO] [stdout] | [INFO] [stdout] 22 | other => return String::new() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 22 - other => return String::new() [INFO] [stdout] 22 + other => String::new() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/generate/files.rs:21:21 [INFO] [stdout] | [INFO] [stdout] 21 | do_merge(&repo, &remote_branch, fetch_commit)?; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `remote_branch` [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 `return` statement [INFO] [stdout] --> src/io.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | return result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - return result; [INFO] [stdout] 44 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/io.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | if result.eq(""){ [INFO] [stdout] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `result.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: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/generate/files.rs:26:47 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn load_predefined_languages(depploy_dir: &PathBuf, language: &String, mut current_dir: PathBuf) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 26 ~ pub fn load_predefined_languages(depploy_dir: &Path, language: &String, mut current_dir: PathBuf) -> Result<(), Box> { [INFO] [stdout] 27 ~ let mut path = depploy_dir.to_path_buf(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/io.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | if result.eq(""){ [INFO] [stdout] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `result.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/io.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | return String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 60 - return String::new(); [INFO] [stdout] 60 + String::new() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/generate/files.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | / if !filename.starts_with("."){ [INFO] [stdout] 33 | | if filename.starts_with(language){ [INFO] [stdout] 34 | | path.push(filename); [INFO] [stdout] 35 | | current_dir.push("dockerfile"); [INFO] [stdout] ... | [INFO] [stdout] 39 | | } [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] 32 ~ if !filename.starts_with(".") [INFO] [stdout] 33 ~ && filename.starts_with(language){ [INFO] [stdout] 34 | path.push(filename); [INFO] [stdout] ... [INFO] [stdout] 37 | return Ok(()); [INFO] [stdout] 38 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/io.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn load_project_file(path: &PathBuf, filename: &String) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 63 - pub fn load_project_file(path: &PathBuf, filename: &String) -> std::io::Result { [INFO] [stdout] 63 + pub fn load_project_file(path: &Path, filename: &String) -> std::io::Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/generate/files.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | Ok(repo.reference_to_annotated_commit(&fetch_head)?) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 103 - Ok(repo.reference_to_annotated_commit(&fetch_head)?) [INFO] [stdout] 103 + repo.reference_to_annotated_commit(&fetch_head) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/io.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | return vec[1].replace("\"", "").to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 85 - return vec[1].replace("\"", "").to_string(); [INFO] [stdout] 85 + vec[1].replace("\"", "").to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:41:20 [INFO] [stdout] | [INFO] [stdout] 41 | "macos" => return format!("/Users/{}/.depploy", username), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 - "macos" => return format!("/Users/{}/.depploy", username), [INFO] [stdout] 41 + "macos" => format!("/Users/{}/.depploy", username), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:42:20 [INFO] [stdout] | [INFO] [stdout] 42 | "linux" => return format!("/home/{}/.depploy", username), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - "linux" => return format!("/home/{}/.depploy", username), [INFO] [stdout] 42 + "linux" => format!("/home/{}/.depploy", username), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:43:22 [INFO] [stdout] | [INFO] [stdout] 43 | "windows" => return format!("/home/{}/.depploy", username), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 43 - "windows" => return format!("/home/{}/.depploy", username), [INFO] [stdout] 43 + "windows" => format!("/home/{}/.depploy", username), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:44:18 [INFO] [stdout] | [INFO] [stdout] 44 | other => return String::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - other => return String::new(), [INFO] [stdout] 44 + other => String::new(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:95:20 [INFO] [stdout] | [INFO] [stdout] 95 | if !depploy.is_err() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `depploy.is_ok()` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/generate/files.rs:205:22 [INFO] [stdout] | [INFO] [stdout] 205 | normal_merge(&repo, &head_commit, &fetch_commit)?; [INFO] [stdout] | ^^^^^ help: change this to: `repo` [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 `depploy` after checking its variant with `is_err` [INFO] [stdout] --> src/main.rs:96:32 [INFO] [stdout] | [INFO] [stdout] 95 | if !depploy.is_err() { [INFO] [stdout] | ---------------- the check is happening here [INFO] [stdout] 96 | let conf = depploy.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 `conf.docker_hub_username` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:98:36 [INFO] [stdout] | [INFO] [stdout] 97 | if conf.docker_hub_username.is_some() { [INFO] [stdout] | ------------------------------------- help: try: `if let Some() = conf.docker_hub_username` [INFO] [stdout] 98 | registry = conf.docker_hub_username.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 `depploy` after checking its variant with `is_err` [INFO] [stdout] --> src/main.rs:104:28 [INFO] [stdout] | [INFO] [stdout] 94 | if depploy.is_err() || public_repo == &true { [INFO] [stdout] | ---------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 104 | registry = depploy.unwrap().docker_registry; [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 `detected` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:167:32 [INFO] [stdout] | [INFO] [stdout] 166 | if detected.is_some() { [INFO] [stdout] | --------------------- help: try: `if let Some() = detected` [INFO] [stdout] 167 | let lang = detected.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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:54:41 [INFO] [stdout] | [INFO] [stdout] 54 | let depploy_dir = PathBuf::from_str(&path.as_str()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `path.as_str()` [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 `return` statement [INFO] [stdout] --> src/io.rs:19:20 [INFO] [stdout] | [INFO] [stdout] 19 | "macos" => return format!("/Users/{}/.depploy", username), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 19 - "macos" => return format!("/Users/{}/.depploy", username), [INFO] [stdout] 19 + "macos" => format!("/Users/{}/.depploy", username), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/io.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | "linux" => return format!("/home/{}/.depploy", username), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 20 - "linux" => return format!("/home/{}/.depploy", username), [INFO] [stdout] 20 + "linux" => format!("/home/{}/.depploy", username), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/io.rs:21:22 [INFO] [stdout] | [INFO] [stdout] 21 | "windows" => return format!("/home/{}/.depploy", username), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 21 - "windows" => return format!("/home/{}/.depploy", username), [INFO] [stdout] 21 + "windows" => format!("/home/{}/.depploy", username), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/io.rs:22:18 [INFO] [stdout] | [INFO] [stdout] 22 | other => return String::new() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 22 - other => return String::new() [INFO] [stdout] 22 + other => String::new() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/io.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | return result; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - return result; [INFO] [stdout] 44 + result [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/io.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | if result.eq(""){ [INFO] [stdout] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `result.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] = note: `#[warn(clippy::comparison_to_empty)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison to empty slice [INFO] [stdout] --> src/io.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | if result.eq(""){ [INFO] [stdout] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `result.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#comparison_to_empty [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/io.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | return String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 60 - return String::new(); [INFO] [stdout] 60 + String::new() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:121:51 [INFO] [stdout] | [INFO] [stdout] 121 | let latest_tag = set_latest_tag(name, &tag); [INFO] [stdout] | ^^^^ help: change this to: `tag` [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/main.rs:123:25 [INFO] [stdout] | [INFO] [stdout] 123 | build_image(&tag, build_dir.as_str(), dockerfile_name, &no_latest, &latest_tag); [INFO] [stdout] | ^^^^ help: change this to: `tag` [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/main.rs:123:68 [INFO] [stdout] | [INFO] [stdout] 123 | build_image(&tag, build_dir.as_str(), dockerfile_name, &no_latest, &latest_tag); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `no_latest` [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/main.rs:125:24 [INFO] [stdout] | [INFO] [stdout] 125 | push_image(&tag); [INFO] [stdout] | ^^^^ help: change this to: `tag` [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: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/io.rs:63:32 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn load_project_file(path: &PathBuf, filename: &String) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 63 - pub fn load_project_file(path: &PathBuf, filename: &String) -> std::io::Result { [INFO] [stdout] 63 + pub fn load_project_file(path: &Path, filename: &String) -> std::io::Result { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/io.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 85 | return vec[1].replace("\"", "").to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 85 - return vec[1].replace("\"", "").to_string(); [INFO] [stdout] 85 + vec[1].replace("\"", "").to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | get_project_language(&depploy_dir).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 65 | let _ = get_project_language(&depploy_dir).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | get_predefined_dockerfiles(&depploy_dir); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 66 | let _ = get_predefined_dockerfiles(&depploy_dir); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:41:20 [INFO] [stdout] | [INFO] [stdout] 41 | "macos" => return format!("/Users/{}/.depploy", username), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 41 - "macos" => return format!("/Users/{}/.depploy", username), [INFO] [stdout] 41 + "macos" => format!("/Users/{}/.depploy", username), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:42:20 [INFO] [stdout] | [INFO] [stdout] 42 | "linux" => return format!("/home/{}/.depploy", username), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 42 - "linux" => return format!("/home/{}/.depploy", username), [INFO] [stdout] 42 + "linux" => format!("/home/{}/.depploy", username), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:43:22 [INFO] [stdout] | [INFO] [stdout] 43 | "windows" => return format!("/home/{}/.depploy", username), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 43 - "windows" => return format!("/home/{}/.depploy", username), [INFO] [stdout] 43 + "windows" => format!("/home/{}/.depploy", username), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:44:18 [INFO] [stdout] | [INFO] [stdout] 44 | other => return String::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 44 - other => return String::new(), [INFO] [stdout] 44 + other => String::new(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:95:20 [INFO] [stdout] | [INFO] [stdout] 95 | if !depploy.is_err() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `depploy.is_ok()` [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 `depploy` after checking its variant with `is_err` [INFO] [stdout] --> src/main.rs:96:32 [INFO] [stdout] | [INFO] [stdout] 95 | if !depploy.is_err() { [INFO] [stdout] | ---------------- the check is happening here [INFO] [stdout] 96 | let conf = depploy.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 `conf.docker_hub_username` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:98:36 [INFO] [stdout] | [INFO] [stdout] 97 | if conf.docker_hub_username.is_some() { [INFO] [stdout] | ------------------------------------- help: try: `if let Some() = conf.docker_hub_username` [INFO] [stdout] 98 | registry = conf.docker_hub_username.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 `depploy` after checking its variant with `is_err` [INFO] [stdout] --> src/main.rs:104:28 [INFO] [stdout] | [INFO] [stdout] 94 | if depploy.is_err() || public_repo == &true { [INFO] [stdout] | ---------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 104 | registry = depploy.unwrap().docker_registry; [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 `detected` after checking its variant with `is_some` [INFO] [stdout] --> src/main.rs:167:32 [INFO] [stdout] | [INFO] [stdout] 166 | if detected.is_some() { [INFO] [stdout] | --------------------- help: try: `if let Some() = detected` [INFO] [stdout] 167 | let lang = detected.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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:54:41 [INFO] [stdout] | [INFO] [stdout] 54 | let depploy_dir = PathBuf::from_str(&path.as_str()).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `path.as_str()` [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/main.rs:121:51 [INFO] [stdout] | [INFO] [stdout] 121 | let latest_tag = set_latest_tag(name, &tag); [INFO] [stdout] | ^^^^ help: change this to: `tag` [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/main.rs:123:25 [INFO] [stdout] | [INFO] [stdout] 123 | build_image(&tag, build_dir.as_str(), dockerfile_name, &no_latest, &latest_tag); [INFO] [stdout] | ^^^^ help: change this to: `tag` [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/main.rs:123:68 [INFO] [stdout] | [INFO] [stdout] 123 | build_image(&tag, build_dir.as_str(), dockerfile_name, &no_latest, &latest_tag); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `no_latest` [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/main.rs:125:24 [INFO] [stdout] | [INFO] [stdout] 125 | push_image(&tag); [INFO] [stdout] | ^^^^ help: change this to: `tag` [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: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | get_project_language(&depploy_dir).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 65 | let _ = get_project_language(&depploy_dir).await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | get_predefined_dockerfiles(&depploy_dir); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 66 | let _ = get_predefined_dockerfiles(&depploy_dir); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s [INFO] running `Command { std: "docker" "inspect" "3c43c17c7bf3206f9cc7f34657b1d6602a022c2702d8a997abd9a6d4366c9e36", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3c43c17c7bf3206f9cc7f34657b1d6602a022c2702d8a997abd9a6d4366c9e36", kill_on_drop: false }` [INFO] [stdout] 3c43c17c7bf3206f9cc7f34657b1d6602a022c2702d8a997abd9a6d4366c9e36