[INFO] cloning repository https://github.com/emmG17/todozer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/emmG17/todozer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FemmG17%2Ftodozer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FemmG17%2Ftodozer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 35eead3b46d9b1a48f18abcd8d6d3523340d8d8e [INFO] linting emmG17/todozer against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FemmG17%2Ftodozer" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/emmG17/todozer [INFO] finished tweaking git repo https://github.com/emmG17/todozer [INFO] tweaked toml for git repo https://github.com/emmG17/todozer written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/emmG17/todozer on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/emmG17/todozer already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded clap v4.5.37 [INFO] [stderr] Downloaded openssl-sys v0.9.107 [INFO] [stderr] Downloaded clap_builder v4.5.37 [INFO] [stderr] Downloaded git2 v0.20.1 [INFO] [stderr] Downloaded libgit2-sys v0.18.1+1.9.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 6046b429224ca48be41b374c2205d0fcd710bb25a9b4dca23a6d4dc96c3e2f71 [INFO] running `Command { std: "docker" "start" "-a" "6046b429224ca48be41b374c2205d0fcd710bb25a9b4dca23a6d4dc96c3e2f71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6046b429224ca48be41b374c2205d0fcd710bb25a9b4dca23a6d4dc96c3e2f71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6046b429224ca48be41b374c2205d0fcd710bb25a9b4dca23a6d4dc96c3e2f71", kill_on_drop: false }` [INFO] [stdout] 6046b429224ca48be41b374c2205d0fcd710bb25a9b4dca23a6d4dc96c3e2f71 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 2db470b5b09037ea661c195d772f098ba2f880010ae8a91defb1425f8b1edf1a [INFO] running `Command { std: "docker" "start" "-a" "2db470b5b09037ea661c195d772f098ba2f880010ae8a91defb1425f8b1edf1a", kill_on_drop: false }` [INFO] [stderr] Compiling icu_locid_transform_data v1.5.1 [INFO] [stderr] Compiling icu_properties_data v1.5.1 [INFO] [stderr] Compiling icu_normalizer_data v1.5.1 [INFO] [stderr] Checking smallvec v1.15.0 [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Checking anstyle-query v1.1.2 [INFO] [stderr] Checking colorchoice v1.0.3 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking anstyle v1.0.10 [INFO] [stderr] Checking anstyle-parse v0.2.6 [INFO] [stderr] Checking clap_lex v0.7.4 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Checking openssl-probe v0.1.6 [INFO] [stderr] Checking chrono v0.4.40 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking anstream v0.6.18 [INFO] [stderr] Checking clap_builder v4.5.37 [INFO] [stderr] Compiling jobserver v0.1.33 [INFO] [stderr] Compiling cc v1.2.19 [INFO] [stderr] Compiling openssl-sys v0.9.107 [INFO] [stderr] Compiling libz-sys v1.1.22 [INFO] [stderr] Compiling libssh2-sys v0.3.1 [INFO] [stderr] Compiling libgit2-sys v0.18.1+1.9.0 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling clap_derive v4.5.32 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Checking clap v4.5.37 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Checking serde_json v1.0.140 [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking git2 v0.20.1 [INFO] [stderr] Checking todozer v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/cli.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / #[command(about = "Scan source files and extract TODOs", long_about = None)] [INFO] [stdout] 8 | | [INFO] [stdout] | |_^ [INFO] [stdout] 9 | pub struct Cli { [INFO] [stdout] | -------------- the attribute applies to this struct [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_outer_attr)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/cli.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / #[command(about = "Scan source files and extract TODOs", long_about = None)] [INFO] [stdout] 8 | | [INFO] [stdout] | |_^ [INFO] [stdout] 9 | pub struct Cli { [INFO] [stdout] | -------------- the attribute applies to this struct [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_outer_attr)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/serialize.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/serialize.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | use serde_json; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/scanner.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | if !fs::metadata(&cli.path).is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `fs::metadata(&cli.path).is_err()` [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: unneeded `return` statement [INFO] [stdout] --> src/scanner.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | return todos; [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] 169 - return todos; [INFO] [stdout] 169 + todos [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scanner.rs:221:5 [INFO] [stdout] | [INFO] [stdout] 221 | return combinations; [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] 221 - return combinations; [INFO] [stdout] 221 + combinations [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/scanner.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | if !fs::metadata(&cli.path).is_ok() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `fs::metadata(&cli.path).is_err()` [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: unneeded `return` statement [INFO] [stdout] --> src/git.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | return full_todos; [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] 55 - return full_todos; [INFO] [stdout] 55 + full_todos [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/git.rs:15:62 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn find_blame(repo_dir: &PathBuf, file: &PathBuf, todos: &Vec) -> Vec { [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] 15 - pub fn find_blame(repo_dir: &PathBuf, file: &PathBuf, todos: &Vec) -> Vec { [INFO] [stdout] 15 + pub fn find_blame(repo_dir: &PathBuf, file: &PathBuf, todos: &[NaiveTodo]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/git.rs:27:39 [INFO] [stdout] | [INFO] [stdout] 27 | let file_relative = relative_path(&repo_dir, file); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `repo_dir` [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: unneeded `return` statement [INFO] [stdout] --> src/scanner.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | return todos; [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] 169 - return todos; [INFO] [stdout] 169 + todos [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/git.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 49 ~ eprintln!("Error getting blame for line {}", t.line_number); [INFO] [stdout] 50 | } [INFO] [stdout] 51 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/git.rs:74:39 [INFO] [stdout] | [INFO] [stdout] 74 | let blame = match repo.blame_file(&file, None) { [INFO] [stdout] | ^^^^^ help: change this to: `file` [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/git.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | return file_relative.to_path_buf(); [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 file_relative.to_path_buf(); [INFO] [stdout] 109 + file_relative.to_path_buf() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/scanner.rs:221:5 [INFO] [stdout] | [INFO] [stdout] 221 | return combinations; [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] 221 - return combinations; [INFO] [stdout] 221 + combinations [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/git.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | return fs::metadata(&git_path).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 139 - return fs::metadata(&git_path).is_ok(); [INFO] [stdout] 139 + fs::metadata(&git_path).is_ok() [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/git.rs:136:26 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn is_git_repo(path: &PathBuf) -> bool { [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] 136 - pub fn is_git_repo(path: &PathBuf) -> bool { [INFO] [stdout] 136 + pub fn is_git_repo(path: &Path) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/serialize.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 10 - .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e)) [INFO] [stdout] 10 + .map_err(|e| std::io::Error::other(e)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/git.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | return full_todos; [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] 55 - return full_todos; [INFO] [stdout] 55 + full_todos [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/git.rs:15:62 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn find_blame(repo_dir: &PathBuf, file: &PathBuf, todos: &Vec) -> Vec { [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] 15 - pub fn find_blame(repo_dir: &PathBuf, file: &PathBuf, todos: &Vec) -> Vec { [INFO] [stdout] 15 + pub fn find_blame(repo_dir: &PathBuf, file: &PathBuf, todos: &[NaiveTodo]) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/git.rs:27:39 [INFO] [stdout] | [INFO] [stdout] 27 | let file_relative = relative_path(&repo_dir, file); [INFO] [stdout] | ^^^^^^^^^ help: change this to: `repo_dir` [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: unneeded `return` statement [INFO] [stdout] --> src/git.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | return; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 49 ~ eprintln!("Error getting blame for line {}", t.line_number); [INFO] [stdout] 50 | } [INFO] [stdout] 51 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/git.rs:74:39 [INFO] [stdout] | [INFO] [stdout] 74 | let blame = match repo.blame_file(&file, None) { [INFO] [stdout] | ^^^^^ help: change this to: `file` [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/git.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | return file_relative.to_path_buf(); [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 file_relative.to_path_buf(); [INFO] [stdout] 109 + file_relative.to_path_buf() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/git.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | return fs::metadata(&git_path).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 139 - return fs::metadata(&git_path).is_ok(); [INFO] [stdout] 139 + fs::metadata(&git_path).is_ok() [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/git.rs:136:26 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn is_git_repo(path: &PathBuf) -> bool { [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] 136 - pub fn is_git_repo(path: &PathBuf) -> bool { [INFO] [stdout] 136 + pub fn is_git_repo(path: &Path) -> bool { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/serialize.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 10 - .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e)) [INFO] [stdout] 10 + .map_err(|e| std::io::Error::other(e)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.53s [INFO] running `Command { std: "docker" "inspect" "2db470b5b09037ea661c195d772f098ba2f880010ae8a91defb1425f8b1edf1a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2db470b5b09037ea661c195d772f098ba2f880010ae8a91defb1425f8b1edf1a", kill_on_drop: false }` [INFO] [stdout] 2db470b5b09037ea661c195d772f098ba2f880010ae8a91defb1425f8b1edf1a