[INFO] cloning repository https://github.com/yifaaan/git-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yifaaan/git-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyifaaan%2Fgit-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyifaaan%2Fgit-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 236e1fe010cba261979af7116606824b9eb706e9
[INFO] checking yifaaan/git-rs against master#cb40c25f6aebb637163d26bf76a680ed6e5d1eda for pr-156157-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyifaaan%2Fgit-rs" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/yifaaan/git-rs
[INFO] finished tweaking git repo https://github.com/yifaaan/git-rs
[INFO] tweaked toml for git repo https://github.com/yifaaan/git-rs written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/yifaaan/git-rs on toolchain cb40c25f6aebb637163d26bf76a680ed6e5d1eda
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cb40c25f6aebb637163d26bf76a680ed6e5d1eda" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/yifaaan/git-rs 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" "+cb40c25f6aebb637163d26bf76a680ed6e5d1eda" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rust-ini v0.21.1
[INFO] [stderr]   Downloaded trim-in-place v0.1.7
[INFO] [stderr]   Downloaded clap v4.5.28
[INFO] [stderr]   Downloaded clap_derive v4.5.28
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+cb40c25f6aebb637163d26bf76a680ed6e5d1eda" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f83fd57005035f7e7af0f699be5faa1bf4591b03121ee8e983c0444788d039fb
[INFO] running `Command { std: "docker" "start" "-a" "f83fd57005035f7e7af0f699be5faa1bf4591b03121ee8e983c0444788d039fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f83fd57005035f7e7af0f699be5faa1bf4591b03121ee8e983c0444788d039fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f83fd57005035f7e7af0f699be5faa1bf4591b03121ee8e983c0444788d039fb", kill_on_drop: false }`
[INFO] [stdout] f83fd57005035f7e7af0f699be5faa1bf4591b03121ee8e983c0444788d039fb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+cb40c25f6aebb637163d26bf76a680ed6e5d1eda" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ca475e5575d6d16e2c3c17fb1255d099540ef92605f0fbd99f24b40cb2082104
[INFO] running `Command { std: "docker" "start" "-a" "ca475e5575d6d16e2c3c17fb1255d099540ef92605f0fbd99f24b40cb2082104", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling crunchy v0.2.3
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.16
[INFO] [stderr]    Compiling once_cell v1.20.3
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling anyhow v1.0.95
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking miniz_oxide v0.8.3
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking trim-in-place v0.1.7
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking clap_builder v4.5.27
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking flate2 v1.0.35
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking rust-ini v0.21.1
[INFO] [stderr]    Compiling clap_derive v4.5.28
[INFO] [stderr]     Checking clap v4.5.28
[INFO] [stderr]     Checking git-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Path`, `env`, `fs`, `io::Write`, and `str::FromStr`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     env, fs,
[INFO] [stdout]   |     ^^^  ^^
[INFO] [stdout] 3 |     io::Write,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 4 |     path::{Path, PathBuf},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 5 |     str::FromStr,
[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 imports: `Context` and `bail`
[INFO] [stdout]  --> src/main.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::{bail, Context, Result};
[INFO] [stdout]   |              ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValueEnum`
[INFO] [stdout]  --> src/main.rs:9:46
[INFO] [stdout]   |
[INFO] [stdout] 9 | use clap::{value_parser, Parser, Subcommand, ValueEnum};
[INFO] [stdout]   |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ini::Ini`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ini::Ini;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `repository::repo_create`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use repository::repo_create;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Path`, `env`, `fs`, `io::Write`, and `str::FromStr`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     env, fs,
[INFO] [stdout]   |     ^^^  ^^
[INFO] [stdout] 3 |     io::Write,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 4 |     path::{Path, PathBuf},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 5 |     str::FromStr,
[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 imports: `Context` and `bail`
[INFO] [stdout]  --> src/main.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::{bail, Context, Result};
[INFO] [stdout]   |              ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValueEnum`
[INFO] [stdout]  --> src/main.rs:9:46
[INFO] [stdout]   |
[INFO] [stdout] 9 | use clap::{value_parser, Parser, Subcommand, ValueEnum};
[INFO] [stdout]   |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ini::Ini`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ini::Ini;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `repository::repo_create`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use repository::repo_create;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]   --> src/commands/commit_tree.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let hash = write_commit(&message, &tree_hash, parent_tree_hash.as_deref())?;
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[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/commands/commit_tree.rs:36:45
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn kvlm_parse(mut raw: &[u8], start: usize, mut map: HashMap<Vec<u8>, Vec<Vec<u8>>>) -> Result<()> {
[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: `map`
[INFO] [stdout]   --> src/commands/commit_tree.rs:36:45
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn kvlm_parse(mut raw: &[u8], start: usize, mut map: HashMap<Vec<u8>, Vec<Vec<u8>>>) -> Result<()> {
[INFO] [stdout]    |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/commands/commit_tree.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let key = raw[start..next_space].to_vec();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/commands/commit_tree.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let value = raw[next_space + 1..next_new_line].to_vec();
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]    --> src/objects.rs:208:32
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn build<R: std::io::Read>(reader: R) -> Result<Self> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]    --> src/objects.rs:235:32
[INFO] [stdout]     |
[INFO] [stdout] 235 |     fn build<R: std::io::Read>(reader: R) -> Result<Self> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/objects.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let mut d = GzDecoder::new(f);
[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/objects.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |     let mut obj_size_len = reader.read_until(b'0', &mut obj_size)?;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj_type_len`
[INFO] [stdout]    --> src/objects.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |     let obj_type_len = reader.read_until(b' ', &mut obj_type)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_obj_type_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj_size_len`
[INFO] [stdout]    --> src/objects.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |     let mut obj_size_len = reader.read_until(b'0', &mut obj_size)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_obj_size_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `git_repo`
[INFO] [stdout]    --> src/objects.rs:328:27
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub(crate) fn object_find(git_repo: &GitRepository, sha: String, tp: ObjectType) -> Result<String> {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_git_repo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tp`
[INFO] [stdout]    --> src/objects.rs:328:66
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub(crate) fn object_find(git_repo: &GitRepository, sha: String, tp: ObjectType) -> Result<String> {
[INFO] [stdout]     |                                                                  ^^ help: if this is intentional, prefix it with an underscore: `_tp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/repository.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let mut config;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `config` is assigned to, but never used
[INFO] [stdout]   --> src/repository.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let mut config;
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_config` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `config` is never read
[INFO] [stdout]   --> src/repository.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             config = Ini::load_from_str(config_path.to_str().context("Invalid config path")?)?;
[INFO] [stdout]    |             ------ `config` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 38 |             config = Ini::new();
[INFO] [stdout]    |             ^^^^^^ this value is reassigned later and never used
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `config` is never read
[INFO] [stdout]   --> src/repository.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             config = Ini::load_from_str(config_path.to_str().context("Invalid config path")?)?;
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]   --> src/commands/commit_tree.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let hash = write_commit(&message, &tree_hash, parent_tree_hash.as_deref())?;
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[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/commands/commit_tree.rs:36:45
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn kvlm_parse(mut raw: &[u8], start: usize, mut map: HashMap<Vec<u8>, Vec<Vec<u8>>>) -> Result<()> {
[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: `map`
[INFO] [stdout]   --> src/commands/commit_tree.rs:36:45
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn kvlm_parse(mut raw: &[u8], start: usize, mut map: HashMap<Vec<u8>, Vec<Vec<u8>>>) -> Result<()> {
[INFO] [stdout]    |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/commands/commit_tree.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let key = raw[start..next_space].to_vec();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/commands/commit_tree.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let value = raw[next_space + 1..next_new_line].to_vec();
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_commit` is never used
[INFO] [stdout]  --> src/commands/commit_tree.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) fn write_commit(
[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 `invoke` is never used
[INFO] [stdout]   --> src/commands/commit_tree.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn invoke(message: String, tree_hash: String, parent_tree_hash: Option<String>) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kvlm_parse` is never used
[INFO] [stdout]   --> src/commands/commit_tree.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn kvlm_parse(mut raw: &[u8], start: usize, mut map: HashMap<Vec<u8>, Vec<Vec<u8>>>) -> Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HashWriter` is never constructed
[INFO] [stdout]   --> src/commands/hash_object.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct HashWriter<W> {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invoke` is never used
[INFO] [stdout]   --> src/commands/hash_object.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) fn invoke(write: bool, file: &Path) -> Result<()> {
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invoke` is never used
[INFO] [stdout]  --> src/commands/ls_tree.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn invoke(name_only: bool, tree_hash: String) -> Result<()> {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_tree_for` is never used
[INFO] [stdout]  --> src/commands/write_tree.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) fn write_tree_for(path: &Path) -> Result<Option<[u8; 20]>> {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invoke` is never used
[INFO] [stdout]    --> src/commands/write_tree.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub(crate) fn invoke() -> Result<()> {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Kind` is never used
[INFO] [stdout]   --> src/objects.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) enum Kind {
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Object` is never constructed
[INFO] [stdout]   --> src/objects.rs:40:19
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub(crate) struct Object<R> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `blob_from_file` and `read` are never used
[INFO] [stdout]   --> src/objects.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl Object<()> {
[INFO] [stdout]    | --------------- associated functions in this implementation
[INFO] [stdout] 47 |     pub fn blob_from_file(file: impl AsRef<Path>) -> Result<Object<impl Read>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn read(object_hash: &str) -> Result<Object<impl BufRead>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write` and `write_to_objects` are never used
[INFO] [stdout]    --> src/objects.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl<R: Read> Object<R> {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 100 |     pub(crate) fn write(mut self, writer: impl Write) -> Result<[u8; 20]> {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub(crate) fn write_to_objects(self) -> Result<[u8; 20]> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `build` is never used
[INFO] [stdout]    --> src/objects.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl GitTag {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 208 |     fn build<R: std::io::Read>(reader: R) -> Result<Self> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `build` is never used
[INFO] [stdout]    --> src/objects.rs:235:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | impl GitBlob {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 235 |     fn build<R: std::io::Read>(reader: R) -> Result<Self> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]    --> src/objects.rs:208:32
[INFO] [stdout]     |
[INFO] [stdout] 208 |     fn build<R: std::io::Read>(reader: R) -> Result<Self> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]    --> src/objects.rs:235:32
[INFO] [stdout]     |
[INFO] [stdout] 235 |     fn build<R: std::io::Read>(reader: R) -> Result<Self> {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/objects.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let mut d = GzDecoder::new(f);
[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/objects.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |     let mut obj_size_len = reader.read_until(b'0', &mut obj_size)?;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj_type_len`
[INFO] [stdout]    --> src/objects.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |     let obj_type_len = reader.read_until(b' ', &mut obj_type)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_obj_type_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj_size_len`
[INFO] [stdout]    --> src/objects.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |     let mut obj_size_len = reader.read_until(b'0', &mut obj_size)?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_obj_size_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `git_repo`
[INFO] [stdout]    --> src/objects.rs:328:27
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub(crate) fn object_find(git_repo: &GitRepository, sha: String, tp: ObjectType) -> Result<String> {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_git_repo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tp`
[INFO] [stdout]    --> src/objects.rs:328:66
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub(crate) fn object_find(git_repo: &GitRepository, sha: String, tp: ObjectType) -> Result<String> {
[INFO] [stdout]     |                                                                  ^^ help: if this is intentional, prefix it with an underscore: `_tp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/repository.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let mut config;
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `config` is assigned to, but never used
[INFO] [stdout]   --> src/repository.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let mut config;
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_config` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `config` is never read
[INFO] [stdout]   --> src/repository.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             config = Ini::load_from_str(config_path.to_str().context("Invalid config path")?)?;
[INFO] [stdout]    |             ------ `config` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 38 |             config = Ini::new();
[INFO] [stdout]    |             ^^^^^^ this value is reassigned later and never used
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `config` is never read
[INFO] [stdout]   --> src/repository.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             config = Ini::load_from_str(config_path.to_str().context("Invalid config path")?)?;
[INFO] [stdout]    |             ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_commit` is never used
[INFO] [stdout]  --> src/commands/commit_tree.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) fn write_commit(
[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 `invoke` is never used
[INFO] [stdout]   --> src/commands/commit_tree.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn invoke(message: String, tree_hash: String, parent_tree_hash: Option<String>) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kvlm_parse` is never used
[INFO] [stdout]   --> src/commands/commit_tree.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn kvlm_parse(mut raw: &[u8], start: usize, mut map: HashMap<Vec<u8>, Vec<Vec<u8>>>) -> Result<()> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HashWriter` is never constructed
[INFO] [stdout]   --> src/commands/hash_object.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) struct HashWriter<W> {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invoke` is never used
[INFO] [stdout]   --> src/commands/hash_object.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) fn invoke(write: bool, file: &Path) -> Result<()> {
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invoke` is never used
[INFO] [stdout]  --> src/commands/ls_tree.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn invoke(name_only: bool, tree_hash: String) -> Result<()> {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_tree_for` is never used
[INFO] [stdout]  --> src/commands/write_tree.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) fn write_tree_for(path: &Path) -> Result<Option<[u8; 20]>> {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invoke` is never used
[INFO] [stdout]    --> src/commands/write_tree.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub(crate) fn invoke() -> Result<()> {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Kind` is never used
[INFO] [stdout]   --> src/objects.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) enum Kind {
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Object` is never constructed
[INFO] [stdout]   --> src/objects.rs:40:19
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub(crate) struct Object<R> {
[INFO] [stdout]    |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `blob_from_file` and `read` are never used
[INFO] [stdout]   --> src/objects.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl Object<()> {
[INFO] [stdout]    | --------------- associated functions in this implementation
[INFO] [stdout] 47 |     pub fn blob_from_file(file: impl AsRef<Path>) -> Result<Object<impl Read>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn read(object_hash: &str) -> Result<Object<impl BufRead>> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `write` and `write_to_objects` are never used
[INFO] [stdout]    --> src/objects.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl<R: Read> Object<R> {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 100 |     pub(crate) fn write(mut self, writer: impl Write) -> Result<[u8; 20]> {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub(crate) fn write_to_objects(self) -> Result<[u8; 20]> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `build` is never used
[INFO] [stdout]    --> src/objects.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl GitTag {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 208 |     fn build<R: std::io::Read>(reader: R) -> Result<Self> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `build` is never used
[INFO] [stdout]    --> src/objects.rs:235:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | impl GitBlob {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 235 |     fn build<R: std::io::Read>(reader: R) -> Result<Self> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.25s
[INFO] running `Command { std: "docker" "inspect" "ca475e5575d6d16e2c3c17fb1255d099540ef92605f0fbd99f24b40cb2082104", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca475e5575d6d16e2c3c17fb1255d099540ef92605f0fbd99f24b40cb2082104", kill_on_drop: false }`
[INFO] [stdout] ca475e5575d6d16e2c3c17fb1255d099540ef92605f0fbd99f24b40cb2082104
