[INFO] cloning repository https://github.com/231220075/rit [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/231220075/rit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F231220075%2Frit", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F231220075%2Frit'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dacd998d726b3d5df55b1f3c066e65852073182f [INFO] testing 231220075/rit against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F231220075%2Frit" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/231220075/rit [INFO] finished tweaking git repo https://github.com/231220075/rit [INFO] tweaked toml for git repo https://github.com/231220075/rit written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/231220075/rit on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/231220075/rit 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" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rtoolbox v0.0.3 [INFO] [stderr] Downloaded h2 v0.3.27 [INFO] [stderr] Downloaded similar v2.7.0 [INFO] [stderr] Downloaded nom v8.0.0 [INFO] [stderr] Downloaded rpassword v7.4.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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ad23486188381ba0ee4833aec4411ccf55b602c3afbcb1427382f44d29c711bb [INFO] running `Command { std: "docker" "start" "-a" "ad23486188381ba0ee4833aec4411ccf55b602c3afbcb1427382f44d29c711bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ad23486188381ba0ee4833aec4411ccf55b602c3afbcb1427382f44d29c711bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ad23486188381ba0ee4833aec4411ccf55b602c3afbcb1427382f44d29c711bb", kill_on_drop: false }` [INFO] [stdout] ad23486188381ba0ee4833aec4411ccf55b602c3afbcb1427382f44d29c711bb [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0c7cc25fa48df458d38b882e222f92adc794e599a6bd72d19ac86b45e79a8783 [INFO] running `Command { std: "docker" "start" "-a" "0c7cc25fa48df458d38b882e222f92adc794e599a6bd72d19ac86b45e79a8783", kill_on_drop: false }` [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling cc v1.2.30 [INFO] [stderr] Compiling bitflags v2.9.0 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling slab v0.4.10 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling serde_json v1.0.142 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling getrandom v0.3.2 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling clap_builder v4.5.35 [INFO] [stderr] Compiling miniz_oxide v0.8.8 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling rtoolbox v0.0.3 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling nu-ansi-term v0.50.1 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling flate2 v1.1.1 [INFO] [stderr] Compiling rpassword v7.4.0 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling diffy v0.4.2 [INFO] [stderr] Compiling nom v8.0.0 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling tempfile v3.19.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling clap_derive v4.5.32 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling tokio v1.47.0 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.0 [INFO] [stderr] Compiling zerovec v0.11.2 [INFO] [stderr] Compiling zerotrie v0.2.2 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.2 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling clap v4.5.35 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling tokio-util v0.7.15 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling h2 v0.3.27 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling git v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `itertools::Update` [INFO] [stdout] --> src/cli/args.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Update; [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: `CommandFactory` and `Subcommand` [INFO] [stdout] --> src/cli/args.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use clap::{Parser, Subcommand, CommandFactory, ValueHint}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `to_pathbuf` [INFO] [stdout] --> src/cli/args.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NoSubCommand` [INFO] [stdout] --> src/utils/error.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | use GitError::{InvalidCommand, FileNotFound, NoSubCommand}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Index` [INFO] [stdout] --> src/utils/fs.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | Index, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf`, `fmt`, and `fs::File` [INFO] [stdout] --> src/utils/hash.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | fmt, [INFO] [stdout] | ^^^ [INFO] [stdout] 3 | io::Read, [INFO] [stdout] 4 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | path::{PathBuf, Path} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/utils/hash.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/utils/zlib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/utils/zlib.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Read, Write, BufReader}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/utils/zlib.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/utils/index.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/utils/index.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::{File, OpenOptions}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Read` [INFO] [stdout] --> src/utils/index.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{Write, BufWriter, Read, BufReader, BufRead}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian` and `ReadBytesExt` [INFO] [stdout] --> src/utils/index.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use byteorder::{ReadBytesExt, BigEndian}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha1` [INFO] [stdout] --> src/utils/index.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `take_until` [INFO] [stdout] --> src/utils/index.rs:7:34 [INFO] [stdout] | [INFO] [stdout] 7 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat_n` [INFO] [stdout] --> src/utils/index.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::iter::repeat_n; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Seek` [INFO] [stdout] --> src/utils/index.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | use std::io::Seek; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/objtype.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | path::PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/utils/objtype.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Result [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `space1`, `take_until`, `take`, `u32`, and `value` [INFO] [stdout] --> src/utils/objtype.rs:22:28 [INFO] [stdout] | [INFO] [stdout] 22 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^ [INFO] [stdout] 23 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | character::complete::{digit1, space1, u32, alpha1}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | preceded, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | map, map_res, eof, value [INFO] [stdout] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/blob.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | path::PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `digit1`, `many1`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `separated_pair`, `space1`, `u32`, and `value` [INFO] [stdout] --> src/utils/tree.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | character::complete::{alpha1, digit1, space1, u32}, [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^^^ ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | preceded, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | separated_pair, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | many1, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | map, map_res, eof, value, [INFO] [stdout] | ^^^ ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_object` [INFO] [stdout] --> src/utils/tree.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | read_object, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/commit.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | path::PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `branch::alt`, `digit1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `separated_pair`, `space1`, `take`, `u32`, and `value` [INFO] [stdout] --> src/utils/commit.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | tag, take, take_until, take_while, [INFO] [stdout] | ^^^^ [INFO] [stdout] 26 | }, [INFO] [stdout] 27 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | character::complete::{digit1, space1, u32, alpha1, }, [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | separated_pair, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 33 | }, [INFO] [stdout] 34 | branch::alt, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | combinator::{ [INFO] [stdout] 36 | map, map_res, eof, value, opt [INFO] [stdout] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `copy`, `fs`, `mem`, `read_dir`, and `self` [INFO] [stdout] --> src/utils/test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | mem, [INFO] [stdout] | ^^^ [INFO] [stdout] 4 | io::{ [INFO] [stdout] 5 | self, [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | }, [INFO] [stdout] 8 | fs, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | fs::{ [INFO] [stdout] 10 | read_dir, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | copy, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/utils/test.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `commit::Commit`, `fs::read_file_as_bytes`, and `objtype::Obj` [INFO] [stdout] --> src/utils/refs.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 6 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | objtype::Obj, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/utils/protocol.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/utils/packfile.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Cursor, Read, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Path` and `iter::once` [INFO] [stdout] --> src/command/add.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | Path, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | iter::once, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/add.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Either` [INFO] [stdout] --> src/command/add.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use itertools::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GitError`, `IndexEntry`, `objtype::ObjType`, `read_file_as_bytes`, `tree::FileMode`, and `write_object` [INFO] [stdout] --> src/command/add.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | objtype::ObjType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | IndexEntry, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | write_object, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 24 | read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | tree::FileMode, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/branch.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `write_ref_commit` [INFO] [stdout] --> src/command/branch.rs:8:51 [INFO] [stdout] | [INFO] [stdout] 8 | utils::refs::{read_head_ref, read_ref_commit, write_ref_commit}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/checkout.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `read_head_commit` and `write_ref_commit` [INFO] [stdout] --> src/command/checkout.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | write_ref_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | write_head_commit, [INFO] [stdout] 17 | read_head_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `write_object` [INFO] [stdout] --> src/command/checkout.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | write_object, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command` and `Subcommand` [INFO] [stdout] --> src/command/commit.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand, Command}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `Write`, and `self` [INFO] [stdout] --> src/command/commit.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Write, Cursor}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Command as ProcessCommand` [INFO] [stdout] --> src/command/commit.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::process::Command as ProcessCommand; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommitTree`, `hash::hash_object`, `index::Index`, and `tree::Tree` [INFO] [stdout] --> src/command/commit.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | WriteTree, CommitTree, UpdateRef [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 15 | index::Index, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::refs::*` [INFO] [stdout] --> src/command/fetch.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{GitError, Result, utils::refs::*}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::Into` [INFO] [stdout] --> src/command/init.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandFactory` and `Subcommand` [INFO] [stdout] --> src/command/init.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `Obj`, `blob::Blob`, `commit::Commit`, `decompress_file_as_bytes`, `decompress_file`, `fs::obj_to_pathbuf`, `parse_meta`, and `tree::Tree` [INFO] [stdout] --> src/command/init.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | decompress_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | }, [INFO] [stdout] 12 | fs::obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | objtype::{ [INFO] [stdout] 14 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | parse_meta, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 16 | Obj, [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | }, [INFO] [stdout] 18 | blob::Blob, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 19 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 20 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stdout] --> src/command/init.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] 31 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | IResult, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::write` [INFO] [stdout] --> src/command/merge.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/command/merge.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/merge.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChangeTag` and `TextDiff` [INFO] [stdout] --> src/command/merge.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use similar::{ChangeTag, TextDiff}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileMode`, `ObjType`, `compress_object`, `decompress_file`, `hash::hash_object`, `obj_to_pathbuf`, `read_file_as_bytes`, `test::shell_spawn`, and `write_branch_commit` [INFO] [stdout] --> src/command/merge.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | compress_object [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 23 | read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | objtype::{ [INFO] [stdout] 30 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | write_branch_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | FileMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | test::shell_spawn, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `commit` [INFO] [stdout] --> src/command/merge.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | commit, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `head_to_hash` [INFO] [stdout] --> src/command/pull.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::refs::{read_head_ref, head_to_hash}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Checkout` and `ReadTree` [INFO] [stdout] --> src/command/pull.rs:5:39 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{SubCommand, Fetch, Merge, Checkout, ReadTree}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/rm.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/rm.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | Path [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::Into` [INFO] [stdout] --> src/command/cat_file.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/cat_file.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `blob::Blob`, `commit::Commit`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stdout] --> src/command/cat_file.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | fs::{obj_to_pathbuf_legacy, obj_to_pathbuf}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 11 | objtype::{ [INFO] [stdout] 12 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | blob::Blob, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 17 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 18 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stdout] --> src/command/cat_file.rs:28:23 [INFO] [stdout] | [INFO] [stdout] 28 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] 29 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | IResult, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::write` [INFO] [stdout] --> src/command/hash_object.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/hash_object.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | Path, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/hash_object.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `Obj`, `commit::Commit`, `compress_object`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stdout] --> src/command/hash_object.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | compress_object [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | Obj, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 25 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/command/hash_object.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/update_index.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/update_index.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_git_dir` and `hash::hash_object` [INFO] [stdout] --> src/command/update_index.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | get_git_dir, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::TempDir` [INFO] [stdout] --> src/command/update_index.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use tempfile::TempDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/read_tree.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::index` [INFO] [stdout] --> src/command/read_tree.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `compress_object` [INFO] [stdout] --> src/command/read_tree.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fs::read_file_as_bytes` and `hash::hash_object` [INFO] [stdout] --> src/command/read_tree.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/write_tree.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs::read_file_as_bytes` [INFO] [stdout] --> src/command/write_tree.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/commit_tree.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `hash::hash_object` and `zlib::compress_object` [INFO] [stdout] --> src/command/commit_tree.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | zlib::compress_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/command/commit_tree.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/update_ref.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/update_ref.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::index` [INFO] [stdout] --> src/command/update_ref.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `compress_object` and `decompress_file_bytes` [INFO] [stdout] --> src/command/update_ref.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileMode`, `IndexEntry`, `Index`, `Tree`, `fs::read_file_as_bytes`, and `hash::hash_object` [INFO] [stdout] --> src/command/update_ref.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | index::{Index, IndexEntry}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] 13 | tree::{ [INFO] [stdout] 14 | Tree, [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | FileMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Read` [INFO] [stdout] --> src/utils/hash.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | io::Read, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/utils/index.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::Display` [INFO] [stdout] --> src/utils/objtype.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | fmt::Display, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidHash`, `InvalidBlob`, `InvalidTree`, `FailedToRmoveFile`, `BrokenCommitHistory`, and `NoSameAncestor` are never constructed [INFO] [stdout] --> src/utils/error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum GitError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 10 | InvalidCommand(String), [INFO] [stdout] 11 | InvalidHash(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 12 | InvalidBlob(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | InvalidTree(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | FailedToRmoveFile(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | BrokenCommitHistory(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | MergeConflict(String), [INFO] [stdout] 31 | NoSameAncestor(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GitError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `invalid_blob`, `invalid_hash`, and `invaild_path_encoding` are never used [INFO] [stdout] --> src/utils/error.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl GitError { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn invalid_blob(path: &str) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn invalid_hash(hash: &str) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn invaild_path_encoding(path: &str) -> Box{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_pathbuf` is never used [INFO] [stdout] --> src/utils/fs.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn to_pathbuf(slice: &str) -> std::result::Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_file_as_reader` is never used [INFO] [stdout] --> src/utils/fs.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn read_file_as_reader(file_path: &T) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_file` is never used [INFO] [stdout] --> src/utils/hash.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn hash_file(path: &T) -> Result [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decompress_file` is never used [INFO] [stdout] --> src/utils/zlib.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn decompress_file

(input_path: &P) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compress_file` is never used [INFO] [stdout] --> src/utils/zlib.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn compress_file

(path: &P) -> Result> [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `time_it` is never used [INFO] [stdout] --> src/utils/test.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn time_it(func: F) -> crate::Result [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shell_spawn` is never used [INFO] [stdout] --> src/utils/test.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn shell_spawn(command_list: &[&str]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `setup_test_git_dir` is never used [INFO] [stdout] --> src/utils/test.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn setup_test_git_dir() -> tempfile::TempDir { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mktemp_in` is never used [INFO] [stdout] --> src/utils/test.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn mktemp_in(dir: T) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `touch_file_in` is never used [INFO] [stdout] --> src/utils/test.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn touch_file_in(dir: T) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cp_dir` is never used [INFO] [stdout] --> src/utils/test.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn cp_dir(from: T, to: T) -> Result [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Args` is never used [INFO] [stdout] --> src/utils/test.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 112 | pub type Args<'a> = &'a[&'a str]; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ArgsList` is never used [INFO] [stdout] --> src/utils/test.rs:113:10 [INFO] [stdout] | [INFO] [stdout] 113 | pub type ArgsList<'a> = &'a[(Args<'a>, bool)]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cmd_seq` is never used [INFO] [stdout] --> src/utils/test.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn cmd_seq<'a, 'b>(args_list: ArgsList<'a>) -> impl FnMut(Args<'b>) -> Result, String> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_both` is never used [INFO] [stdout] --> src/utils/test.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn run_both<'a>(cmds: ArgsList<'a>, git: Args, cargo: Args) -> Result<(Vec, Vec), String> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_head_commit` is never used [INFO] [stdout] --> src/utils/refs.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn read_head_commit(gitdir: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_branch_commit` is never used [INFO] [stdout] --> src/utils/refs.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn write_branch_commit(gitdir: &Path, branch: &str, hash: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `hash`, `obj_type`, and `data` are never read [INFO] [stdout] --> src/utils/packfile.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 157 | struct PackfileObject { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 158 | hash: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 159 | obj_type: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 160 | data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PackfileObject` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_staged_file` is never used [INFO] [stdout] --> src/command/checkout.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 60 | impl Checkout { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 168 | fn get_staged_file(gitdir: &Path, path: &Path) -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `deleted_refs` is never read [INFO] [stdout] --> src/command/fetch.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct FetchResult { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | pub deleted_refs: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FetchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `copy_missing_objects` is never used [INFO] [stdout] --> src/command/fetch.rs:276:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl Fetch { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 276 | fn copy_missing_objects(&self, gitdir: &PathBuf, remote_gitdir: &PathBuf, commit_hash: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `fetch_specs` are never read [INFO] [stdout] --> src/command/fetch.rs:390:5 [INFO] [stdout] | [INFO] [stdout] 389 | struct RemoteConfig { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 390 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 391 | url: String, [INFO] [stdout] 392 | fetch_specs: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoteConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `new_commit` is never read [INFO] [stdout] --> src/command/push.rs:930:5 [INFO] [stdout] | [INFO] [stdout] 926 | struct PushInfo { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 930 | new_commit: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PushInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `build_tree_content` is never used [INFO] [stdout] --> src/command/write_tree.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl WriteTree { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | fn build_tree_content(&self, index: &Index) -> Result>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `asshole` is never used [INFO] [stdout] --> src/command/commit_tree.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl CommitTree { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn asshole(self, gitdir: PathBuf) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_args` is never used [INFO] [stdout] --> src/command/update_ref.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl UpdateRef { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 30 | pub fn from_args(args: impl Iterator) -> Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/tree.rs:155:32 [INFO] [stdout] | [INFO] [stdout] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype> { [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 54.67s [INFO] running `Command { std: "docker" "inspect" "0c7cc25fa48df458d38b882e222f92adc794e599a6bd72d19ac86b45e79a8783", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0c7cc25fa48df458d38b882e222f92adc794e599a6bd72d19ac86b45e79a8783", kill_on_drop: false }` [INFO] [stdout] 0c7cc25fa48df458d38b882e222f92adc794e599a6bd72d19ac86b45e79a8783 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c653477c3c6324b4e8f3d58271761fcc85e60b7dd41854e0a25589f5d85d0a65 [INFO] running `Command { std: "docker" "start" "-a" "c653477c3c6324b4e8f3d58271761fcc85e60b7dd41854e0a25589f5d85d0a65", kill_on_drop: false }` [INFO] [stderr] Compiling git v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `itertools::Update` [INFO] [stdout] --> src/cli/args.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Update; [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: `CommandFactory` and `Subcommand` [INFO] [stdout] --> src/cli/args.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use clap::{Parser, Subcommand, CommandFactory, ValueHint}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `to_pathbuf` [INFO] [stdout] --> src/cli/args.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NoSubCommand` [INFO] [stdout] --> src/utils/error.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | use GitError::{InvalidCommand, FileNotFound, NoSubCommand}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Index` [INFO] [stdout] --> src/utils/fs.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | Index, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf`, `fmt`, and `fs::File` [INFO] [stdout] --> src/utils/hash.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | fmt, [INFO] [stdout] | ^^^ [INFO] [stdout] 3 | io::Read, [INFO] [stdout] 4 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | path::{PathBuf, Path} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/utils/hash.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/utils/zlib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/utils/zlib.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Read, Write, BufReader}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/utils/zlib.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/utils/index.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/utils/index.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::{File, OpenOptions}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Read` [INFO] [stdout] --> src/utils/index.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{Write, BufWriter, Read, BufReader, BufRead}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian` and `ReadBytesExt` [INFO] [stdout] --> src/utils/index.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use byteorder::{ReadBytesExt, BigEndian}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha1` [INFO] [stdout] --> src/utils/index.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `take_until` [INFO] [stdout] --> src/utils/index.rs:7:34 [INFO] [stdout] | [INFO] [stdout] 7 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat_n` [INFO] [stdout] --> src/utils/index.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::iter::repeat_n; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Seek` [INFO] [stdout] --> src/utils/index.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | use std::io::Seek; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/objtype.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | path::PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/utils/objtype.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Result [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `space1`, `take_until`, `take`, `u32`, and `value` [INFO] [stdout] --> src/utils/objtype.rs:22:28 [INFO] [stdout] | [INFO] [stdout] 22 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^ [INFO] [stdout] 23 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | character::complete::{digit1, space1, u32, alpha1}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | preceded, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | map, map_res, eof, value [INFO] [stdout] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/blob.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | path::PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `digit1`, `many1`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `separated_pair`, `space1`, `u32`, and `value` [INFO] [stdout] --> src/utils/tree.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | character::complete::{alpha1, digit1, space1, u32}, [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^^^ ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | preceded, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | separated_pair, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | many1, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | map, map_res, eof, value, [INFO] [stdout] | ^^^ ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_object` [INFO] [stdout] --> src/utils/tree.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | read_object, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/commit.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | path::PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `branch::alt`, `digit1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `separated_pair`, `space1`, `take`, `u32`, and `value` [INFO] [stdout] --> src/utils/commit.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | tag, take, take_until, take_while, [INFO] [stdout] | ^^^^ [INFO] [stdout] 26 | }, [INFO] [stdout] 27 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | character::complete::{digit1, space1, u32, alpha1, }, [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | separated_pair, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 33 | }, [INFO] [stdout] 34 | branch::alt, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | combinator::{ [INFO] [stdout] 36 | map, map_res, eof, value, opt [INFO] [stdout] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `copy`, `fs`, `mem`, `read_dir`, and `self` [INFO] [stdout] --> src/utils/test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | mem, [INFO] [stdout] | ^^^ [INFO] [stdout] 4 | io::{ [INFO] [stdout] 5 | self, [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | }, [INFO] [stdout] 8 | fs, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | fs::{ [INFO] [stdout] 10 | read_dir, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | copy, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/utils/test.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `commit::Commit`, `fs::read_file_as_bytes`, and `objtype::Obj` [INFO] [stdout] --> src/utils/refs.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 6 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | objtype::Obj, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/utils/protocol.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/utils/packfile.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Cursor, Read, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Path` and `iter::once` [INFO] [stdout] --> src/command/add.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | Path, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | iter::once, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/add.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Either` [INFO] [stdout] --> src/command/add.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use itertools::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GitError`, `IndexEntry`, `objtype::ObjType`, `read_file_as_bytes`, `tree::FileMode`, and `write_object` [INFO] [stdout] --> src/command/add.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | objtype::ObjType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | IndexEntry, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | write_object, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 24 | read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | tree::FileMode, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmd_seq` [INFO] [stdout] --> src/command/add.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | cmd_seq, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/branch.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `write_ref_commit` [INFO] [stdout] --> src/command/branch.rs:8:51 [INFO] [stdout] | [INFO] [stdout] 8 | utils::refs::{read_head_ref, read_ref_commit, write_ref_commit}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/checkout.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `read_head_commit` and `write_ref_commit` [INFO] [stdout] --> src/command/checkout.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | write_ref_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | write_head_commit, [INFO] [stdout] 17 | read_head_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `write_object` [INFO] [stdout] --> src/command/checkout.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | write_object, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command` and `Subcommand` [INFO] [stdout] --> src/command/commit.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand, Command}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `Write`, and `self` [INFO] [stdout] --> src/command/commit.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Write, Cursor}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Command as ProcessCommand` [INFO] [stdout] --> src/command/commit.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::process::Command as ProcessCommand; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommitTree`, `hash::hash_object`, `index::Index`, and `tree::Tree` [INFO] [stdout] --> src/command/commit.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | WriteTree, CommitTree, UpdateRef [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 15 | index::Index, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmd_seq` and `touch_file_in` [INFO] [stdout] --> src/command/commit.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | touch_file_in, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 87 | cmd_seq, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::refs::*` [INFO] [stdout] --> src/command/fetch.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{GitError, Result, utils::refs::*}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::Into` [INFO] [stdout] --> src/command/init.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandFactory` and `Subcommand` [INFO] [stdout] --> src/command/init.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `Obj`, `blob::Blob`, `commit::Commit`, `decompress_file_as_bytes`, `decompress_file`, `fs::obj_to_pathbuf`, `parse_meta`, and `tree::Tree` [INFO] [stdout] --> src/command/init.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | decompress_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | }, [INFO] [stdout] 12 | fs::obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | objtype::{ [INFO] [stdout] 14 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | parse_meta, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 16 | Obj, [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | }, [INFO] [stdout] 18 | blob::Blob, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 19 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 20 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stdout] --> src/command/init.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] 31 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | IResult, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mktemp_in` [INFO] [stdout] --> src/command/init.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | mktemp_in, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::write` [INFO] [stdout] --> src/command/merge.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/command/merge.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/merge.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChangeTag` and `TextDiff` [INFO] [stdout] --> src/command/merge.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use similar::{ChangeTag, TextDiff}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileMode`, `ObjType`, `compress_object`, `decompress_file`, `hash::hash_object`, `obj_to_pathbuf`, `read_file_as_bytes`, `test::shell_spawn`, and `write_branch_commit` [INFO] [stdout] --> src/command/merge.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | compress_object [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 23 | read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | objtype::{ [INFO] [stdout] 30 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | write_branch_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | FileMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | test::shell_spawn, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `commit` [INFO] [stdout] --> src/command/merge.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | commit, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mktemp_in` [INFO] [stdout] --> src/command/merge.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 434 | mktemp_in, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `head_to_hash` [INFO] [stdout] --> src/command/pull.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::refs::{read_head_ref, head_to_hash}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Checkout` and `ReadTree` [INFO] [stdout] --> src/command/pull.rs:5:39 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{SubCommand, Fetch, Merge, Checkout, ReadTree}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempdir` [INFO] [stdout] --> src/command/remote.rs:280:50 [INFO] [stdout] | [INFO] [stdout] 280 | use crate::utils::test::{setup_test_git_dir, tempdir}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/rm.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/rm.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | Path [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cmd_seq` and `touch_file_in` [INFO] [stdout] --> src/command/rm.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | touch_file_in, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 179 | cmd_seq, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::Into` [INFO] [stdout] --> src/command/cat_file.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/cat_file.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `blob::Blob`, `commit::Commit`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stdout] --> src/command/cat_file.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | fs::{obj_to_pathbuf_legacy, obj_to_pathbuf}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 11 | objtype::{ [INFO] [stdout] 12 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | blob::Blob, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 17 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 18 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stdout] --> src/command/cat_file.rs:28:23 [INFO] [stdout] | [INFO] [stdout] 28 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] 29 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | IResult, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/command/cat_file.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::write` [INFO] [stdout] --> src/command/hash_object.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/hash_object.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | Path, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/hash_object.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `Obj`, `commit::Commit`, `compress_object`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stdout] --> src/command/hash_object.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | compress_object [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | Obj, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 25 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/command/hash_object.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/command/hash_object.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/update_index.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/update_index.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hash::hash_object` [INFO] [stdout] --> src/command/update_index.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::TempDir` [INFO] [stdout] --> src/command/update_index.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use tempfile::TempDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::tempdir` [INFO] [stdout] --> src/command/update_index.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | use tempfile::tempdir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/read_tree.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::index` [INFO] [stdout] --> src/command/read_tree.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `compress_object` [INFO] [stdout] --> src/command/read_tree.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fs::read_file_as_bytes` and `hash::hash_object` [INFO] [stdout] --> src/command/read_tree.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/write_tree.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs::read_file_as_bytes` [INFO] [stdout] --> src/command/write_tree.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cmd_seq` [INFO] [stdout] --> src/command/write_tree.rs:173:9 [INFO] [stdout] | [INFO] [stdout] 173 | cmd_seq, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/commit_tree.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `hash::hash_object` and `zlib::compress_object` [INFO] [stdout] --> src/command/commit_tree.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | zlib::compress_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/command/commit_tree.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::CatFile` [INFO] [stdout] --> src/command/commit_tree.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | use super::super::CatFile; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/update_ref.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/update_ref.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::index` [INFO] [stdout] --> src/command/update_ref.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `compress_object` and `decompress_file_bytes` [INFO] [stdout] --> src/command/update_ref.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileMode`, `IndexEntry`, `Index`, `Tree`, `fs::read_file_as_bytes`, and `hash::hash_object` [INFO] [stdout] --> src/command/update_ref.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | index::{Index, IndexEntry}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] 13 | tree::{ [INFO] [stdout] 14 | Tree, [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | FileMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Read` [INFO] [stdout] --> src/utils/hash.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | io::Read, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/utils/index.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::Display` [INFO] [stdout] --> src/utils/objtype.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | fmt::Display, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidHash`, `InvalidBlob`, `InvalidTree`, `FailedToRmoveFile`, `BrokenCommitHistory`, and `NoSameAncestor` are never constructed [INFO] [stdout] --> src/utils/error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum GitError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 10 | InvalidCommand(String), [INFO] [stdout] 11 | InvalidHash(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 12 | InvalidBlob(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | InvalidTree(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | FailedToRmoveFile(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | BrokenCommitHistory(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | MergeConflict(String), [INFO] [stdout] 31 | NoSameAncestor(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GitError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `invalid_blob`, `invalid_hash`, and `invaild_path_encoding` are never used [INFO] [stdout] --> src/utils/error.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl GitError { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn invalid_blob(path: &str) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn invalid_hash(hash: &str) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn invaild_path_encoding(path: &str) -> Box{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_pathbuf` is never used [INFO] [stdout] --> src/utils/fs.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn to_pathbuf(slice: &str) -> std::result::Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_file_as_reader` is never used [INFO] [stdout] --> src/utils/fs.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn read_file_as_reader(file_path: &T) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_file` is never used [INFO] [stdout] --> src/utils/hash.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn hash_file(path: &T) -> Result [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decompress_file` is never used [INFO] [stdout] --> src/utils/zlib.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn decompress_file

(input_path: &P) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compress_file` is never used [INFO] [stdout] --> src/utils/zlib.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn compress_file

(path: &P) -> Result> [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `time_it` is never used [INFO] [stdout] --> src/utils/test.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn time_it(func: F) -> crate::Result [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_head_commit` is never used [INFO] [stdout] --> src/utils/refs.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn read_head_commit(gitdir: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_branch_commit` is never used [INFO] [stdout] --> src/utils/refs.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn write_branch_commit(gitdir: &Path, branch: &str, hash: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `hash`, `obj_type`, and `data` are never read [INFO] [stdout] --> src/utils/packfile.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 157 | struct PackfileObject { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 158 | hash: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 159 | obj_type: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 160 | data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PackfileObject` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_staged_file` is never used [INFO] [stdout] --> src/command/checkout.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 60 | impl Checkout { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 168 | fn get_staged_file(gitdir: &Path, path: &Path) -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `deleted_refs` is never read [INFO] [stdout] --> src/command/fetch.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct FetchResult { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | pub deleted_refs: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FetchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `copy_missing_objects` is never used [INFO] [stdout] --> src/command/fetch.rs:276:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl Fetch { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 276 | fn copy_missing_objects(&self, gitdir: &PathBuf, remote_gitdir: &PathBuf, commit_hash: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `fetch_specs` are never read [INFO] [stdout] --> src/command/fetch.rs:390:5 [INFO] [stdout] | [INFO] [stdout] 389 | struct RemoteConfig { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 390 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 391 | url: String, [INFO] [stdout] 392 | fetch_specs: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoteConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `new_commit` is never read [INFO] [stdout] --> src/command/push.rs:930:5 [INFO] [stdout] | [INFO] [stdout] 926 | struct PushInfo { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 930 | new_commit: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PushInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `build_tree_content` is never used [INFO] [stdout] --> src/command/write_tree.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl WriteTree { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | fn build_tree_content(&self, index: &Index) -> Result>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `asshole` is never used [INFO] [stdout] --> src/command/commit_tree.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl CommitTree { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn asshole(self, gitdir: PathBuf) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_args` is never used [INFO] [stdout] --> src/command/update_ref.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl UpdateRef { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 30 | pub fn from_args(args: impl Iterator) -> Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/tree.rs:155:32 [INFO] [stdout] | [INFO] [stdout] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype> { [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 6.74s [INFO] running `Command { std: "docker" "inspect" "c653477c3c6324b4e8f3d58271761fcc85e60b7dd41854e0a25589f5d85d0a65", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c653477c3c6324b4e8f3d58271761fcc85e60b7dd41854e0a25589f5d85d0a65", kill_on_drop: false }` [INFO] [stdout] c653477c3c6324b4e8f3d58271761fcc85e60b7dd41854e0a25589f5d85d0a65 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b19a56680885ee4685faa23a3e2272bfed63c425247286689b92b0732c028176 [INFO] running `Command { std: "docker" "start" "-a" "b19a56680885ee4685faa23a3e2272bfed63c425247286689b92b0732c028176", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `itertools::Update` [INFO] [stderr] --> src/cli/args.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use itertools::Update; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CommandFactory` and `Subcommand` [INFO] [stderr] --> src/cli/args.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | use clap::{Parser, Subcommand, CommandFactory, ValueHint}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `to_pathbuf` [INFO] [stderr] --> src/cli/args.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | to_pathbuf, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `NoSubCommand` [INFO] [stderr] --> src/utils/error.rs:4:46 [INFO] [stderr] | [INFO] [stderr] 4 | use GitError::{InvalidCommand, FileNotFound, NoSubCommand}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Index` [INFO] [stderr] --> src/utils/fs.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | Index, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PathBuf`, `fmt`, and `fs::File` [INFO] [stderr] --> src/utils/hash.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | fmt, [INFO] [stderr] | ^^^ [INFO] [stderr] 3 | io::Read, [INFO] [stderr] 4 | fs::File, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 5 | path::{PathBuf, Path} [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `GitError` [INFO] [stderr] --> src/utils/hash.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | GitError, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/utils/zlib.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Write` and `self` [INFO] [stderr] --> src/utils/zlib.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{self, Read, Write, BufReader}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `GitError` [INFO] [stderr] --> src/utils/zlib.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | GitError, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PathBuf` [INFO] [stderr] --> src/utils/index.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | use std::path::{PathBuf,Path}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `File` [INFO] [stderr] --> src/utils/index.rs:2:15 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fs::{File, OpenOptions}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, and `Read` [INFO] [stderr] --> src/utils/index.rs:3:33 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{Write, BufWriter, Read, BufReader, BufRead}; [INFO] [stderr] | ^^^^ ^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BigEndian` and `ReadBytesExt` [INFO] [stderr] --> src/utils/index.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | use byteorder::{ReadBytesExt, BigEndian}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Sha1` [INFO] [stderr] --> src/utils/index.rs:5:12 [INFO] [stderr] | [INFO] [stderr] 5 | use sha1::{Sha1, Digest}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `take_until` [INFO] [stderr] --> src/utils/index.rs:7:34 [INFO] [stderr] | [INFO] [stderr] 7 | bytes::complete::{tag, take, take_until}, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::repeat_n` [INFO] [stderr] --> src/utils/index.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::iter::repeat_n; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Seek` [INFO] [stderr] --> src/utils/index.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | use std::io::Seek; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `path::PathBuf` [INFO] [stderr] --> src/utils/objtype.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | path::PathBuf, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Result` [INFO] [stderr] --> src/utils/objtype.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | Result [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `alpha1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `space1`, `take_until`, `take`, `u32`, and `value` [INFO] [stderr] --> src/utils/objtype.rs:22:28 [INFO] [stderr] | [INFO] [stderr] 22 | bytes::complete::{tag, take, take_until}, [INFO] [stderr] | ^^^^ ^^^^^^^^^^ [INFO] [stderr] 23 | number::complete::be_u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 24 | character::complete::{digit1, space1, u32, alpha1}, [INFO] [stderr] | ^^^^^^ ^^^ ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 27 | preceded, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 32 | map, map_res, eof, value [INFO] [stderr] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `path::PathBuf` [INFO] [stderr] --> src/utils/blob.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | path::PathBuf [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `alpha1`, `digit1`, `many1`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `separated_pair`, `space1`, `u32`, and `value` [INFO] [stderr] --> src/utils/tree.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | number::complete::be_u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 28 | character::complete::{alpha1, digit1, space1, u32}, [INFO] [stderr] | ^^^^^^ ^^^^^^ ^^^^^^ ^^^ [INFO] [stderr] ... [INFO] [stderr] 31 | preceded, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 32 | separated_pair, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 36 | many1, [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 39 | map, map_res, eof, value, [INFO] [stderr] | ^^^ ^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `read_object` [INFO] [stderr] --> src/utils/tree.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | read_object, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `path::PathBuf` [INFO] [stderr] --> src/utils/commit.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | path::PathBuf [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `alpha1`, `branch::alt`, `digit1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `separated_pair`, `space1`, `take`, `u32`, and `value` [INFO] [stderr] --> src/utils/commit.rs:25:14 [INFO] [stderr] | [INFO] [stderr] 25 | tag, take, take_until, take_while, [INFO] [stderr] | ^^^^ [INFO] [stderr] 26 | }, [INFO] [stderr] 27 | number::complete::be_u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 28 | character::complete::{digit1, space1, u32, alpha1, }, [INFO] [stderr] | ^^^^^^ ^^^^^^ ^^^ ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 32 | separated_pair, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 33 | }, [INFO] [stderr] 34 | branch::alt, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 35 | combinator::{ [INFO] [stderr] 36 | map, map_res, eof, value, opt [INFO] [stderr] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Write`, `copy`, `fs`, `mem`, `read_dir`, and `self` [INFO] [stderr] --> src/utils/test.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | mem, [INFO] [stderr] | ^^^ [INFO] [stderr] 4 | io::{ [INFO] [stderr] 5 | self, [INFO] [stderr] | ^^^^ [INFO] [stderr] 6 | Write, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 7 | }, [INFO] [stderr] 8 | fs, [INFO] [stderr] | ^^ [INFO] [stderr] 9 | fs::{ [INFO] [stderr] 10 | read_dir, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 11 | copy, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `error` [INFO] [stderr] --> src/utils/test.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | error, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `commit::Commit`, `fs::read_file_as_bytes`, and `objtype::Obj` [INFO] [stderr] --> src/utils/refs.rs:5:9 [INFO] [stderr] | [INFO] [stderr] 5 | commit::Commit, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 6 | fs::read_file_as_bytes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | objtype::Obj, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/utils/protocol.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Write` and `self` [INFO] [stderr] --> src/utils/packfile.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use std::io::{self, Cursor, Read, Write}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Path` and `iter::once` [INFO] [stderr] --> src/command/add.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 4 | Path, [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 7 | iter::once, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Subcommand` [INFO] [stderr] --> src/command/add.rs:9:20 [INFO] [stderr] | [INFO] [stderr] 9 | use clap::{Parser, Subcommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `itertools::Either` [INFO] [stderr] --> src/command/add.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use itertools::Either; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `GitError`, `IndexEntry`, `objtype::ObjType`, `read_file_as_bytes`, `tree::FileMode`, and `write_object` [INFO] [stderr] --> src/command/add.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | GitError, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 16 | objtype::ObjType, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 19 | IndexEntry, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 23 | write_object, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 24 | read_file_as_bytes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 28 | tree::FileMode, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cmd_seq` [INFO] [stderr] --> src/command/add.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | cmd_seq, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Subcommand` [INFO] [stderr] --> src/command/branch.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | use clap::{Parser, Subcommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `write_ref_commit` [INFO] [stderr] --> src/command/branch.rs:8:51 [INFO] [stderr] | [INFO] [stderr] 8 | utils::refs::{read_head_ref, read_ref_commit, write_ref_commit}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Subcommand` [INFO] [stderr] --> src/command/checkout.rs:6:20 [INFO] [stderr] | [INFO] [stderr] 6 | use clap::{Parser, Subcommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `read_head_commit` and `write_ref_commit` [INFO] [stderr] --> src/command/checkout.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | write_ref_commit, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 16 | write_head_commit, [INFO] [stderr] 17 | read_head_commit, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `write_object` [INFO] [stderr] --> src/command/checkout.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | write_object, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Command` and `Subcommand` [INFO] [stderr] --> src/command/commit.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | use clap::{Parser, Subcommand, Command}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Cursor`, `Write`, and `self` [INFO] [stderr] --> src/command/commit.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{self, Write, Cursor}; [INFO] [stderr] | ^^^^ ^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::process::Command as ProcessCommand` [INFO] [stderr] --> src/command/commit.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::process::Command as ProcessCommand; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CommitTree`, `hash::hash_object`, `index::Index`, and `tree::Tree` [INFO] [stderr] --> src/command/commit.rs:10:20 [INFO] [stderr] | [INFO] [stderr] 10 | WriteTree, CommitTree, UpdateRef [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 14 | tree::Tree, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 15 | index::Index, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 20 | hash::hash_object, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `cmd_seq` and `touch_file_in` [INFO] [stderr] --> src/command/commit.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | touch_file_in, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 87 | cmd_seq, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `utils::refs::*` [INFO] [stderr] --> src/command/fetch.rs:4:31 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::{GitError, Result, utils::refs::*}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::convert::Into` [INFO] [stderr] --> src/command/init.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::convert::Into; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CommandFactory` and `Subcommand` [INFO] [stderr] --> src/command/init.rs:5:20 [INFO] [stderr] | [INFO] [stderr] 5 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ObjType`, `Obj`, `blob::Blob`, `commit::Commit`, `decompress_file_as_bytes`, `decompress_file`, `fs::obj_to_pathbuf`, `parse_meta`, and `tree::Tree` [INFO] [stderr] --> src/command/init.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | decompress_file, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 10 | decompress_file_as_bytes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 11 | }, [INFO] [stderr] 12 | fs::obj_to_pathbuf, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 13 | objtype::{ [INFO] [stderr] 14 | ObjType, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 15 | parse_meta, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 16 | Obj, [INFO] [stderr] | ^^^ [INFO] [stderr] 17 | }, [INFO] [stderr] 18 | blob::Blob, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 19 | tree::Tree, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 20 | commit::Commit, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stderr] --> src/command/init.rs:30:23 [INFO] [stderr] | [INFO] [stderr] 30 | bytes::complete::{tag, take, take_until}, [INFO] [stderr] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stderr] 31 | number::complete::be_u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 32 | IResult, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `mktemp_in` [INFO] [stderr] --> src/command/init.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | mktemp_in, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::write` [INFO] [stderr] --> src/command/merge.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fs::write; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/command/merge.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Subcommand` [INFO] [stderr] --> src/command/merge.rs:9:20 [INFO] [stderr] | [INFO] [stderr] 9 | use clap::{Parser, Subcommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ChangeTag` and `TextDiff` [INFO] [stderr] --> src/command/merge.rs:11:15 [INFO] [stderr] | [INFO] [stderr] 11 | use similar::{ChangeTag, TextDiff}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FileMode`, `ObjType`, `compress_object`, `decompress_file`, `hash::hash_object`, `obj_to_pathbuf`, `read_file_as_bytes`, `test::shell_spawn`, and `write_branch_commit` [INFO] [stderr] --> src/command/merge.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | decompress_file, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 19 | compress_object [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 22 | obj_to_pathbuf, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 23 | read_file_as_bytes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 28 | hash::hash_object, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 29 | objtype::{ [INFO] [stderr] 30 | ObjType, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 37 | write_branch_commit, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 49 | FileMode, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 53 | test::shell_spawn, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `commit` [INFO] [stderr] --> src/command/merge.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | commit, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `mktemp_in` [INFO] [stderr] --> src/command/merge.rs:434:9 [INFO] [stderr] | [INFO] [stderr] 434 | mktemp_in, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `head_to_hash` [INFO] [stderr] --> src/command/pull.rs:4:41 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::utils::refs::{read_head_ref, head_to_hash}; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Checkout` and `ReadTree` [INFO] [stderr] --> src/command/pull.rs:5:39 [INFO] [stderr] | [INFO] [stderr] 5 | use super::{SubCommand, Fetch, Merge, Checkout, ReadTree}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tempdir` [INFO] [stderr] --> src/command/remote.rs:280:50 [INFO] [stderr] | [INFO] [stderr] 280 | use crate::utils::test::{setup_test_git_dir, tempdir}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Subcommand` [INFO] [stderr] --> src/command/rm.rs:1:20 [INFO] [stderr] | [INFO] [stderr] 1 | use clap::{Parser, Subcommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/command/rm.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 6 | Path [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `cmd_seq` and `touch_file_in` [INFO] [stderr] --> src/command/rm.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | touch_file_in, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 179 | cmd_seq, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::convert::Into` [INFO] [stderr] --> src/command/cat_file.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::convert::Into; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Subcommand` [INFO] [stderr] --> src/command/cat_file.rs:3:20 [INFO] [stderr] | [INFO] [stderr] 3 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ObjType`, `blob::Blob`, `commit::Commit`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stderr] --> src/command/cat_file.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | decompress_file, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 10 | fs::{obj_to_pathbuf_legacy, obj_to_pathbuf}, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 11 | objtype::{ [INFO] [stderr] 12 | ObjType, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 16 | blob::Blob, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 17 | tree::Tree, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 18 | commit::Commit, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stderr] --> src/command/cat_file.rs:28:23 [INFO] [stderr] | [INFO] [stderr] 28 | bytes::complete::{tag, take, take_until}, [INFO] [stderr] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stderr] 29 | number::complete::be_u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 30 | IResult, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/command/cat_file.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::write` [INFO] [stderr] --> src/command/hash_object.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::fs::write; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/command/hash_object.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | Path, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Subcommand` [INFO] [stderr] --> src/command/hash_object.rs:6:20 [INFO] [stderr] | [INFO] [stderr] 6 | use clap::{Parser, Subcommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ObjType`, `Obj`, `commit::Commit`, `compress_object`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stderr] --> src/command/hash_object.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | decompress_file, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 11 | compress_object [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 14 | obj_to_pathbuf, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 20 | ObjType, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 21 | Obj, [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 24 | tree::Tree, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 25 | commit::Commit, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `GitError` [INFO] [stderr] --> src/command/hash_object.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | GitError, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/command/hash_object.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/command/update_index.rs:1:25 [INFO] [stderr] | [INFO] [stderr] 1 | use std::path::{PathBuf,Path}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Subcommand` [INFO] [stderr] --> src/command/update_index.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | use clap::{Parser, Subcommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `hash::hash_object` [INFO] [stderr] --> src/command/update_index.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | hash::hash_object, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tempfile::TempDir` [INFO] [stderr] --> src/command/update_index.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | use tempfile::TempDir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tempfile::tempdir` [INFO] [stderr] --> src/command/update_index.rs:118:9 [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] running 42 tests [INFO] [stderr] 118 | use tempfile::tempdir; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Subcommand` [INFO] [stderr] --> src/command/read_tree.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | use clap::{Parser, Subcommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::utils::index` [INFO] [stderr] --> src/command/read_tree.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::utils::index; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `compress_object` [INFO] [stderr] --> src/command/read_tree.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `fs::read_file_as_bytes` and `hash::hash_object` [INFO] [stderr] --> src/command/read_tree.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | fs::read_file_as_bytes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 11 | hash::hash_object, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Subcommand` [INFO] [stderr] --> src/command/write_tree.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | use clap::{Parser, Subcommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `fs::read_file_as_bytes` [INFO] [stderr] --> src/command/write_tree.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | fs::read_file_as_bytes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cmd_seq` [INFO] [stderr] --> src/command/write_tree.rs:173:9 [INFO] [stderr] | [INFO] [stderr] 173 | cmd_seq, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Subcommand` [INFO] [stderr] --> src/command/commit_tree.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | use clap::{Parser, Subcommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `hash::hash_object` and `zlib::compress_object` [INFO] [stderr] --> src/command/commit_tree.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | zlib::compress_object, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | hash::hash_object, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `GitError` [INFO] [stderr] --> src/command/commit_tree.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | GitError, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::super::CatFile` [INFO] [stderr] --> src/command/commit_tree.rs:158:13 [INFO] [stderr] | [INFO] [stderr] 158 | use super::super::CatFile; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/command/update_ref.rs:1:25 [INFO] [stderr] | [INFO] [stderr] 1 | use std::path::{PathBuf,Path}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Subcommand` [INFO] [stderr] --> src/command/update_ref.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | use clap::{Parser, Subcommand}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::utils::index` [INFO] [stderr] --> src/command/update_ref.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::utils::index; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `compress_object` and `decompress_file_bytes` [INFO] [stderr] --> src/command/update_ref.rs:4:26 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FileMode`, `IndexEntry`, `Index`, `Tree`, `fs::read_file_as_bytes`, and `hash::hash_object` [INFO] [stderr] --> src/command/update_ref.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | fs::read_file_as_bytes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 11 | hash::hash_object, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 12 | index::{Index, IndexEntry}, [INFO] [stderr] | ^^^^^ ^^^^^^^^^^ [INFO] [stderr] 13 | tree::{ [INFO] [stderr] 14 | Tree, [INFO] [stderr] | ^^^^ [INFO] [stderr] 15 | FileMode, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `io::Read` [INFO] [stderr] --> src/utils/hash.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | io::Read, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Digest` [INFO] [stderr] --> src/utils/index.rs:5:18 [INFO] [stderr] | [INFO] [stderr] 5 | use sha1::{Sha1, Digest}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `fmt::Display` [INFO] [stderr] --> src/utils/objtype.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | fmt::Display, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `InvalidHash`, `InvalidBlob`, `InvalidTree`, `FailedToRmoveFile`, `BrokenCommitHistory`, and `NoSameAncestor` are never constructed [INFO] [stderr] --> src/utils/error.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 9 | pub enum GitError { [INFO] [stderr] | -------- variants in this enum [INFO] [stderr] 10 | InvalidCommand(String), [INFO] [stderr] 11 | InvalidHash(String), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 12 | InvalidBlob(String), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 15 | InvalidTree(String), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 28 | FailedToRmoveFile(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 29 | BrokenCommitHistory(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 30 | MergeConflict(String), [INFO] [stderr] 31 | NoSameAncestor(String), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `GitError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: associated functions `invalid_blob`, `invalid_hash`, and `invaild_path_encoding` are never used [INFO] [stderr] --> src/utils/error.rs:135:12 [INFO] [stderr] | [INFO] [stderr] 36 | impl GitError { [INFO] [stderr] | ------------- associated functions in this implementation [INFO] [stderr] ... [INFO] [stderr] 135 | pub fn invalid_blob(path: &str) -> Box { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 141 | pub fn invalid_hash(hash: &str) -> Box { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 147 | pub fn invaild_path_encoding(path: &str) -> Box{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `to_pathbuf` is never used [INFO] [stderr] --> src/utils/fs.rs:64:8 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn to_pathbuf(slice: &str) -> std::result::Result { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `read_file_as_reader` is never used [INFO] [stderr] --> src/utils/fs.rs:75:8 [INFO] [stderr] | [INFO] [stderr] 75 | pub fn read_file_as_reader(file_path: &T) -> Result [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `hash_file` is never used [INFO] [stderr] --> src/utils/hash.rs:32:4 [INFO] [stderr] | [INFO] [stderr] 32 | fn hash_file(path: &T) -> Result [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `decompress_file` is never used [INFO] [stderr] --> src/utils/zlib.rs:36:8 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn decompress_file

(input_path: &P) -> Result [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `compress_file` is never used [INFO] [stderr] --> src/utils/zlib.rs:64:8 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn compress_file

(path: &P) -> Result> [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `time_it` is never used [INFO] [stderr] --> src/utils/test.rs:29:8 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn time_it(func: F) -> crate::Result [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `read_head_commit` is never used [INFO] [stderr] --> src/utils/refs.rs:40:8 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn read_head_commit(gitdir: &Path) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `write_branch_commit` is never used [INFO] [stderr] --> src/utils/refs.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn write_branch_commit(gitdir: &Path, branch: &str, hash: &str) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `hash`, `obj_type`, and `data` are never read [INFO] [stderr] --> src/utils/packfile.rs:158:5 [INFO] [stderr] | [INFO] [stderr] 157 | struct PackfileObject { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 158 | hash: String, [INFO] [stderr] | ^^^^ [INFO] [stderr] 159 | obj_type: u8, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 160 | data: Vec, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PackfileObject` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `get_staged_file` is never used [INFO] [stderr] --> src/command/checkout.rs:168:8 [INFO] [stderr] | [INFO] [stderr] 60 | impl Checkout { [INFO] [stderr] | ------------- associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 168 | fn get_staged_file(gitdir: &Path, path: &Path) -> Result>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `deleted_refs` is never read [INFO] [stderr] --> src/command/fetch.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 25 | pub struct FetchResult { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 28 | pub deleted_refs: Vec, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `FetchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `copy_missing_objects` is never used [INFO] [stderr] --> src/command/fetch.rs:276:8 [INFO] [stderr] | [INFO] [stderr] 31 | impl Fetch { [INFO] [stderr] | ---------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 276 | fn copy_missing_objects(&self, gitdir: &PathBuf, remote_gitdir: &PathBuf, commit_hash: &str) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `name` and `fetch_specs` are never read [INFO] [stderr] --> src/command/fetch.rs:390:5 [INFO] [stderr] | [INFO] [stderr] 389 | struct RemoteConfig { [INFO] [stderr] | ------------ fields in this struct [INFO] [stderr] 390 | name: String, [INFO] [stderr] | ^^^^ [INFO] [stderr] 391 | url: String, [INFO] [stderr] 392 | fetch_specs: Vec, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RemoteConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `new_commit` is never read [INFO] [stderr] --> src/command/push.rs:930:5 [INFO] [stderr] | [INFO] [stderr] 926 | struct PushInfo { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 930 | new_commit: String, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PushInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `build_tree_content` is never used [INFO] [stderr] --> src/command/write_tree.rs:30:8 [INFO] [stderr] | [INFO] [stderr] 23 | impl WriteTree { [INFO] [stderr] | -------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 30 | fn build_tree_content(&self, index: &Index) -> Result>{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `asshole` is never used [INFO] [stderr] --> src/command/commit_tree.rs:70:12 [INFO] [stderr] | [INFO] [stderr] 30 | impl CommitTree { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 70 | pub fn asshole(self, gitdir: PathBuf) -> Result { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `from_args` is never used [INFO] [stderr] --> src/command/update_ref.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 29 | impl UpdateRef { [INFO] [stderr] | -------------- associated function in this implementation [INFO] [stderr] 30 | pub fn from_args(args: impl Iterator) -> Result> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/utils/tree.rs:155:32 [INFO] [stderr] | [INFO] [stderr] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype> { [INFO] [stderr] | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | | [INFO] [stderr] | | the same lifetime is elided here [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype<'_>> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `git` (bin "git" test) generated 120 warnings (run `cargo fix --bin "git" --tests` to apply 98 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/git-3cd8ac81cfb14f07) [INFO] [stdout] test cli::args::test::test_init ... ok [INFO] [stdout] test command::checkout::test::test_ppt_checkout ... FAILED [INFO] [stdout] test command::commit::test::test_ppt_add_commit ... FAILED [INFO] [stdout] test command::commit_tree::tests::test_build_commit_content ... ok [INFO] [stdout] test cli::args::test::test_commit ... ok [INFO] [stdout] test cli::args::test::test_rm ... FAILED [INFO] [stdout] test cli::args::test::test_add ... FAILED [INFO] [stdout] test command::commit_tree::tests::test_write_commit_object ... ok [INFO] [stdout] test command::commit_tree::tests::test_with_git ... ok [INFO] [stdout] test command::checkout::test::test_checkout_entire_directory ... ok [INFO] [stdout] test command::checkout::test::test_checkout_single_file ... ok [INFO] [stdout] test command::checkout::test::test_checkout_file_from_commit ... ok [INFO] [stdout] test command::merge::test::test_ppt_merge ... FAILED [INFO] [stdout] test command::checkout::test::test_checkout_directory_from_commit ... ok [INFO] [stdout] test command::init::test::test_basic ... ok [INFO] [stdout] test command::cat_file::test::test_blob ... FAILED [INFO] [stdout] test command::remote::tests::test_show_remotes ... ok [INFO] [stdout] test command::cat_file::test::test_tree ... FAILED [INFO] [stdout] test command::rm::test::test_ppt_rm ... FAILED [INFO] [stdout] test command::remote::tests::test_add_remote ... ok [INFO] [stdout] test command::add::test::test_add_directory ... ok [INFO] [stdout] test command::merge::test::test_fast_forward ... FAILED [INFO] [stdout] test command::update_index::tests::test_update_index_with_cacheinfo ... ok [INFO] [stdout] test command::update_index::tests::test_with_multi_add ... FAILED [INFO] [stdout] test command::update_index::tests::test_with_tree_add ... ok [INFO] [stdout] test command::hash_object::test::test_blob ... FAILED [INFO] [stdout] test command::add::test::test_basic ... ok [INFO] [stdout] test command::cat_file::test::test_commit ... FAILED [INFO] [stdout] test command::update_index::tests::test_empty ... ok [INFO] [stdout] test command::merge::test::test_conflict ... FAILED [INFO] [stdout] test command::merge::test::test_simple_merge ... FAILED [INFO] [stdout] test command::init::test::test_init_anthoer_repo ... ok [INFO] [stdout] test command::read_tree::test::test_read_tree_without_prefix ... ok [INFO] [stdout] test command::read_tree::test::test_simple ... ok [INFO] [stdout] test command::update_index::tests::test_with_two_add ... ok [INFO] [stdout] test command::add::test::test_add_twice ... ok [INFO] [stdout] test command::commit::test::test_simple ... ok [INFO] [stdout] test command::update_index::tests::test_with_simple_add ... ok [INFO] [stdout] test command::write_tree::test::test_basic ... ok [INFO] [stdout] test command::rm::test::test_rm_dir ... ok [INFO] [stdout] test command::rm::test::test_basic ... ok [INFO] [stdout] test command::add::test::test_add_same_file_multi ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- command::checkout::test::test_ppt_checkout stdout ---- [INFO] [stdout] [INFO] [stdout] Command 'cp /opt/rustwide/workdir/target/debug/git /tmp/.tmpCj2MMT/tests/rust-git' failed with exit code: Some(1), output: cp: cannot stat '/opt/rustwide/workdir/target/debug/git': No such file or directory [INFO] [stdout] [INFO] [stdout] Error: "" [INFO] [stdout] [INFO] [stdout] ---- command::commit::test::test_ppt_add_commit stdout ---- [INFO] [stdout] [INFO] [stdout] Command 'cp /opt/rustwide/workdir/target/debug/git /tmp/.tmp4JrVQG/tests/rust-git' failed with exit code: Some(1), output: cp: cannot stat '/opt/rustwide/workdir/target/debug/git': No such file or directory [INFO] [stdout] [INFO] [stdout] Error: "" [INFO] [stdout] [INFO] [stdout] ---- cli::args::test::test_rm stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'cli::args::test::test_rm' (28) panicked at src/cli/args.rs:172:33: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5b2c33f33252 - std::backtrace_rs::backtrace::libunwind::trace::h52580dd202462214 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5b2c33f33252 - std::backtrace_rs::backtrace::trace_unsynchronized::hc969519abce0f52b [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5b2c33f33252 - std::sys::backtrace::_print_fmt::hfd5825900b6e0030 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5b2c33f33252 - ::fmt::h427144ad75cfb218 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5b2c33f44c7f - core::fmt::rt::Argument::fmt::hd5ccc9cf97cea7f7 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5b2c33f44c7f - core::fmt::write::h593aaf5adf0f5dae [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5b2c33efbd51 - std::io::default_write_fmt::h305b5a0727055346 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5b2c33efbd51 - std::io::Write::write_fmt::h76f14a8a88733dc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5b2c33f0a482 - std::sys::backtrace::BacktraceLock::print::h3953113552dca3ca [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5b2c33f0fc3f - std::panicking::default_hook::{{closure}}::h486b96ad75eafbb8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5b2c33f0fad1 - std::panicking::default_hook::h99456317c5a1a20c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5b2c3392fdce - as core::ops::function::Fn>::call::h441e4551014e4cf8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x5b2c3392fdce - test::test_main_with_exit_callback::{{closure}}::hdbca54e17f1a00e4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5b2c33f103af - as core::ops::function::Fn>::call::h1e57b72c4e1d3045 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x5b2c33f103af - std::panicking::panic_with_hook::h67ab0df20212e4ea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5b2c33f1015a - std::panicking::panic_handler::{{closure}}::hc9e4a933ae92e208 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5b2c33f0a5c9 - std::sys::backtrace::__rust_end_short_backtrace::hbfa72df9b68c2d19 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5b2c33eee53d - __rustc[8cce077e14951490]::rust_begin_unwind [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5b2c33f4ddf0 - core::panicking::panic_fmt::h49931053d20abf41 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5b2c33f4d2f6 - core::result::unwrap_failed::h7f5a2d4cf85d933f [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/result.rs:1854:5 [INFO] [stdout] 20: 0x5b2c337eb73a - core::result::Result::unwrap::h45198516e3d05b28 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/result.rs:1225:23 [INFO] [stdout] 21: 0x5b2c337eb73a - git::cli::args::test::test_rm::hf695f5a1ddfb6e78 [INFO] [stdout] at /opt/rustwide/workdir/src/cli/args.rs:172:33 [INFO] [stdout] 22: 0x5b2c337ebd77 - git::cli::args::test::test_rm::{{closure}}::hfe6c0951704c6f84 [INFO] [stdout] at /opt/rustwide/workdir/src/cli/args.rs:158:17 [INFO] [stdout] 23: 0x5b2c3384ec66 - core::ops::function::FnOnce::call_once::h8951d3355cbbfc92 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5b2c3392fb8b - core::ops::function::FnOnce::call_once::h5d9016d521f5aee4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x5b2c3392fb8b - test::__rust_begin_short_backtrace::h123fcee610330442 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5b2c33945675 - test::run_test_in_process::{{closure}}::h0442efda2e6359b2 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5b2c33945675 - as core::ops::function::FnOnce<()>>::call_once::hfe3528c8dd09682c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x5b2c33945675 - std::panicking::catch_unwind::do_call::hb1659f7844fe8531 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x5b2c33945675 - std::panicking::catch_unwind::hdc1f4be0019e72ad [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x5b2c33945675 - std::panic::catch_unwind::hd6d7ccfa4513e770 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5b2c33945675 - test::run_test_in_process::h6bbb839ed0802366 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5b2c33945675 - test::run_test::{{closure}}::he4fad7398c8acc11 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5b2c3391bfe4 - test::run_test::{{closure}}::h41975797e198d26c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5b2c3391bfe4 - std::sys::backtrace::__rust_begin_short_backtrace::hfb46c397857336f1 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hddf826a64f532bea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x5b2c3391f98a - as core::ops::function::FnOnce<()>>::call_once::hc3518c3eab91aeb3 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x5b2c3391f98a - std::panicking::catch_unwind::do_call::h7bf3ad6dc012415a [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x5b2c3391f98a - std::panicking::catch_unwind::h8b88f0375c767e36 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x5b2c3391f98a - std::panic::catch_unwind::h66cb5d61a90f7bc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::h65bc9d15fb966bbd [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x5b2c3391f98a - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8d2c9a8796342e5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x5b2c33f0438f - as core::ops::function::FnOnce>::call_once::hef12b47e5c033835 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 43: 0x5b2c33f0438f - std::sys::pal::unix::thread::Thread::new::thread_start::h135087e7c97657bc [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 44: 0x7295d7de9aa4 - [INFO] [stdout] 45: 0x7295d7e76a34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- cli::args::test::test_add stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'cli::args::test::test_add' (25) panicked at src/cli/args.rs:145:34: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5b2c33f33252 - std::backtrace_rs::backtrace::libunwind::trace::h52580dd202462214 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5b2c33f33252 - std::backtrace_rs::backtrace::trace_unsynchronized::hc969519abce0f52b [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5b2c33f33252 - std::sys::backtrace::_print_fmt::hfd5825900b6e0030 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5b2c33f33252 - ::fmt::h427144ad75cfb218 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5b2c33f44c7f - core::fmt::rt::Argument::fmt::hd5ccc9cf97cea7f7 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5b2c33f44c7f - core::fmt::write::h593aaf5adf0f5dae [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5b2c33efbd51 - std::io::default_write_fmt::h305b5a0727055346 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5b2c33efbd51 - std::io::Write::write_fmt::h76f14a8a88733dc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5b2c33f0a482 - std::sys::backtrace::BacktraceLock::print::h3953113552dca3ca [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5b2c33f0fc3f - std::panicking::default_hook::{{closure}}::h486b96ad75eafbb8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5b2c33f0fad1 - std::panicking::default_hook::h99456317c5a1a20c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5b2c3392fdce - as core::ops::function::Fn>::call::h441e4551014e4cf8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x5b2c3392fdce - test::test_main_with_exit_callback::{{closure}}::hdbca54e17f1a00e4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5b2c33f103af - as core::ops::function::Fn>::call::h1e57b72c4e1d3045 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x5b2c33f103af - std::panicking::panic_with_hook::h67ab0df20212e4ea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5b2c33f1015a - std::panicking::panic_handler::{{closure}}::hc9e4a933ae92e208 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5b2c33f0a5c9 - std::sys::backtrace::__rust_end_short_backtrace::hbfa72df9b68c2d19 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5b2c33eee53d - __rustc[8cce077e14951490]::rust_begin_unwind [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5b2c33f4ddf0 - core::panicking::panic_fmt::h49931053d20abf41 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5b2c33f4d2f6 - core::result::unwrap_failed::h7f5a2d4cf85d933f [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/result.rs:1854:5 [INFO] [stdout] 20: 0x5b2c337ec24c - core::result::Result::unwrap::h45198516e3d05b28 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/result.rs:1225:23 [INFO] [stdout] 21: 0x5b2c337ec24c - git::cli::args::test::test_add::h52d0565683149615 [INFO] [stdout] at /opt/rustwide/workdir/src/cli/args.rs:145:34 [INFO] [stdout] 22: 0x5b2c337ec887 - git::cli::args::test::test_add::{{closure}}::hc85b33f22103c613 [INFO] [stdout] at /opt/rustwide/workdir/src/cli/args.rs:131:18 [INFO] [stdout] 23: 0x5b2c3384e426 - core::ops::function::FnOnce::call_once::h2158d35055496f45 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5b2c3392fb8b - core::ops::function::FnOnce::call_once::h5d9016d521f5aee4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x5b2c3392fb8b - test::__rust_begin_short_backtrace::h123fcee610330442 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5b2c33945675 - test::run_test_in_process::{{closure}}::h0442efda2e6359b2 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5b2c33945675 - as core::ops::function::FnOnce<()>>::call_once::hfe3528c8dd09682c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x5b2c33945675 - std::panicking::catch_unwind::do_call::hb1659f7844fe8531 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x5b2c33945675 - std::panicking::catch_unwind::hdc1f4be0019e72ad [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x5b2c33945675 - std::panic::catch_unwind::hd6d7ccfa4513e770 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5b2c33945675 - test::run_test_in_process::h6bbb839ed0802366 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5b2c33945675 - test::run_test::{{closure}}::he4fad7398c8acc11 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5b2c3391bfe4 - test::run_test::{{closure}}::h41975797e198d26c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5b2c3391bfe4 - std::sys::backtrace::__rust_begin_short_backtrace::hfb46c397857336f1 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hddf826a64f532bea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x5b2c3391f98a - as core::ops::function::FnOnce<()>>::call_once::hc3518c3eab91aeb3 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x5b2c3391f98a - std::panicking::catch_unwind::do_call::h7bf3ad6dc012415a [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x5b2c3391f98a - std::panicking::catch_unwind::h8b88f0375c767e36 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x5b2c3391f98a - std::panic::catch_unwind::h66cb5d61a90f7bc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::h65bc9d15fb966bbd [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x5b2c3391f98a - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8d2c9a8796342e5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x5b2c33f0438f - as core::ops::function::FnOnce>::call_once::hef12b47e5c033835 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 43: 0x5b2c33f0438f - std::sys::pal::unix::thread::Thread::new::thread_start::h135087e7c97657bc [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 44: 0x7295d7de9aa4 - [INFO] [stdout] 45: 0x7295d7e76a34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- command::merge::test::test_ppt_merge stdout ---- [INFO] [stdout] Command 'cp /opt/rustwide/workdir/target/debug/git /tmp/.tmpMTJjdA/tests/rust-git' failed with exit code: Some(1), output: cp: cannot stat '/opt/rustwide/workdir/target/debug/git': No such file or directory [INFO] [stdout] [INFO] [stdout] Error: "" [INFO] [stdout] [INFO] [stdout] ---- command::cat_file::test::test_blob stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'command::cat_file::test::test_blob' (33) panicked at src/command/cat_file.rs:128:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: "" [INFO] [stdout] right: "warning: unused import: `itertools::Update`\n --> src/cli/args.rs:1:5\n |\n1 | use itertools::Update;\n | ^^^^^^^^^^^^^^^^^\n |\n = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default\n\nwarning: unused imports: `CommandFactory` and `Subcommand`\n --> src/cli/args.rs:4:20\n |\n4 | use clap::{Parser, Subcommand, CommandFactory, ValueHint};\n | ^^^^^^^^^^ ^^^^^^^^^^^^^^\n\nwarning: unused import: `to_pathbuf`\n --> src/cli/args.rs:10:9\n |\n10 | to_pathbuf,\n | ^^^^^^^^^^\n\nwarning: unused import: `NoSubCommand`\n --> src/utils/error.rs:4:46\n |\n4 | use GitError::{InvalidCommand, FileNotFound, NoSubCommand};\n | ^^^^^^^^^^^^\n\nwarning: unused import: `Index`\n --> src/utils/fs.rs:26:9\n |\n26 | Index,\n | ^^^^^\n\nwarning: unused imports: `PathBuf`, `fmt`, and `fs::File`\n --> src/utils/hash.rs:2:5\n |\n2 | fmt,\n | ^^^\n3 | io::Read,\n4 | fs::File,\n | ^^^^^^^^\n5 | path::{PathBuf, Path}\n | ^^^^^^^\n\nwarning: unused import: `GitError`\n --> src/utils/hash.rs:15:5\n |\n15 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `std::fs::File`\n --> src/utils/zlib.rs:1:5\n |\n1 | use std::fs::File;\n | ^^^^^^^^^^^^^\n\nwarning: unused imports: `Write` and `self`\n --> src/utils/zlib.rs:3:15\n |\n3 | use std::io::{self, Read, Write, BufReader};\n | ^^^^ ^^^^^\n\nwarning: unused import: `GitError`\n --> src/utils/zlib.rs:14:5\n |\n14 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `PathBuf`\n --> src/utils/index.rs:1:17\n |\n1 | use std::path::{PathBuf,Path};\n | ^^^^^^^\n\nwarning: unused import: `File`\n --> src/utils/index.rs:2:15\n |\n2 | use std::fs::{File, OpenOptions};\n | ^^^^\n\nwarning: unused imports: `BufRead`, `BufReader`, and `Read`\n --> src/utils/index.rs:3:33\n |\n3 | use std::io::{Write, BufWriter, Read, BufReader, BufRead};\n | ^^^^ ^^^^^^^^^ ^^^^^^^\n\nwarning: unused imports: `BigEndian` and `ReadBytesExt`\n --> src/utils/index.rs:4:17\n |\n4 | use byteorder::{ReadBytesExt, BigEndian};\n | ^^^^^^^^^^^^ ^^^^^^^^^\n\nwarning: unused import: `Sha1`\n --> src/utils/index.rs:5:12\n |\n5 | use sha1::{Sha1, Digest};\n | ^^^^\n\nwarning: unused import: `take_until`\n --> src/utils/index.rs:7:34\n |\n7 | bytes::complete::{tag, take, take_until},\n | ^^^^^^^^^^\n\nwarning: unused import: `std::iter::repeat_n`\n --> src/utils/index.rs:11:5\n |\n11 | use std::iter::repeat_n;\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `std::io::Seek`\n --> src/utils/index.rs:64:13\n |\n64 | use std::io::Seek;\n | ^^^^^^^^^^^^^\n\nwarning: unused import: `path::PathBuf`\n --> src/utils/objtype.rs:6:5\n |\n6 | path::PathBuf,\n | ^^^^^^^^^^^^^\n\nwarning: unused import: `Result`\n --> src/utils/objtype.rs:16:9\n |\n16 | Result\n | ^^^^^^\n\nwarning: unused imports: `alpha1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `space1`, `take_until`, `take`, `u32`, and `value`\n --> src/utils/objtype.rs:22:28\n |\n22 | bytes::complete::{tag, take, take_until},\n | ^^^^ ^^^^^^^^^^\n23 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n24 | character::complete::{digit1, space1, u32, alpha1},\n | ^^^^^^ ^^^ ^^^^^^\n...\n27 | preceded,\n | ^^^^^^^^\n...\n32 | map, map_res, eof, value\n | ^^^ ^^^^^^^ ^^^ ^^^^^\n\nwarning: unused import: `path::PathBuf`\n --> src/utils/blob.rs:10:5\n |\n10 | path::PathBuf\n | ^^^^^^^^^^^^^\n\nwarning: unused imports: `alpha1`, `digit1`, `many1`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `separated_pair`, `space1`, `u32`, and `value`\n --> src/utils/tree.rs:27:5\n |\n27 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n28 | character::complete::{alpha1, digit1, space1, u32},\n | ^^^^^^ ^^^^^^ ^^^^^^ ^^^\n...\n31 | preceded,\n | ^^^^^^^^\n32 | separated_pair,\n | ^^^^^^^^^^^^^^\n...\n36 | many1,\n | ^^^^^\n...\n39 | map, map_res, eof, value,\n | ^^^ ^^^^^^^ ^^^^^\n\nwarning: unused import: `read_object`\n --> src/utils/tree.rs:53:9\n |\n53 | read_object,\n | ^^^^^^^^^^^\n\nwarning: unused import: `path::PathBuf`\n --> src/utils/commit.rs:6:5\n |\n6 | path::PathBuf\n | ^^^^^^^^^^^^^\n\nwarning: unused imports: `alpha1`, `branch::alt`, `digit1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `separated_pair`, `space1`, `take`, `u32`, and `value`\n --> src/utils/commit.rs:25:14\n |\n25 | tag, take, take_until, take_while,\n | ^^^^\n26 | },\n27 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n28 | character::complete::{digit1, space1, u32, alpha1, },\n | ^^^^^^ ^^^^^^ ^^^ ^^^^^^\n...\n32 | separated_pair,\n | ^^^^^^^^^^^^^^\n33 | },\n34 | branch::alt,\n | ^^^^^^^^^^^\n35 | combinator::{\n36 | map, map_res, eof, value, opt\n | ^^^ ^^^^^^^ ^^^ ^^^^^\n\nwarning: unused imports: `Write`, `copy`, `fs`, `mem`, `read_dir`, and `self`\n --> src/utils/test.rs:3:5\n |\n 3 | mem,\n | ^^^\n 4 | io::{\n 5 | self,\n | ^^^^\n 6 | Write,\n | ^^^^^\n 7 | },\n 8 | fs,\n | ^^\n 9 | fs::{\n10 | read_dir,\n | ^^^^^^^^\n11 | copy,\n | ^^^^\n\nwarning: unused import: `error`\n --> src/utils/test.rs:26:5\n |\n26 | error,\n | ^^^^^\n\nwarning: unused imports: `commit::Commit`, `fs::read_file_as_bytes`, and `objtype::Obj`\n --> src/utils/refs.rs:5:9\n |\n5 | commit::Commit,\n | ^^^^^^^^^^^^^^\n6 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n7 | objtype::Obj,\n | ^^^^^^^^^^^^\n\nwarning: unused import: `std::collections::HashMap`\n --> src/utils/protocol.rs:1:5\n |\n1 | use std::collections::HashMap;\n | ^^^^^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `Write` and `self`\n --> src/utils/packfile.rs:5:15\n |\n5 | use std::io::{self, Cursor, Read, Write};\n | ^^^^ ^^^^^\n\nwarning: unused imports: `Path` and `iter::once`\n --> src/command/add.rs:4:9\n |\n4 | Path,\n | ^^^^\n...\n7 | iter::once,\n | ^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/add.rs:9:20\n |\n9 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `itertools::Either`\n --> src/command/add.rs:10:5\n |\n10 | use itertools::Either;\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `GitError`, `IndexEntry`, `objtype::ObjType`, `read_file_as_bytes`, `tree::FileMode`, and `write_object`\n --> src/command/add.rs:13:5\n |\n13 | GitError,\n | ^^^^^^^^\n...\n16 | objtype::ObjType,\n | ^^^^^^^^^^^^^^^^\n...\n19 | IndexEntry,\n | ^^^^^^^^^^\n...\n23 | write_object,\n | ^^^^^^^^^^^^\n24 | read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^\n...\n28 | tree::FileMode,\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/branch.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `write_ref_commit`\n --> src/command/branch.rs:8:51\n |\n8 | utils::refs::{read_head_ref, read_ref_commit, write_ref_commit},\n | ^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/checkout.rs:6:20\n |\n6 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `read_head_commit` and `write_ref_commit`\n --> src/command/checkout.rs:15:9\n |\n15 | write_ref_commit,\n | ^^^^^^^^^^^^^^^^\n16 | write_head_commit,\n17 | read_head_commit,\n | ^^^^^^^^^^^^^^^^\n\nwarning: unused import: `write_object`\n --> src/command/checkout.rs:41:9\n |\n41 | write_object,\n | ^^^^^^^^^^^^\n\nwarning: unused imports: `Command` and `Subcommand`\n --> src/command/commit.rs:2:20\n |\n2 | use clap::{Parser, Subcommand, Command};\n | ^^^^^^^^^^ ^^^^^^^\n\nwarning: unused imports: `Cursor`, `Write`, and `self`\n --> src/command/commit.rs:3:15\n |\n3 | use std::io::{self, Write, Cursor};\n | ^^^^ ^^^^^ ^^^^^^\n\nwarning: unused import: `std::process::Command as ProcessCommand`\n --> src/command/commit.rs:4:5\n |\n4 | use std::process::Command as ProcessCommand;\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `CommitTree`, `hash::hash_object`, `index::Index`, and `tree::Tree`\n --> src/command/commit.rs:10:20\n |\n10 | WriteTree, CommitTree, UpdateRef\n | ^^^^^^^^^^\n...\n14 | tree::Tree,\n | ^^^^^^^^^^\n15 | index::Index,\n | ^^^^^^^^^^^^\n...\n20 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `utils::refs::*`\n --> src/command/fetch.rs:4:31\n |\n4 | use crate::{GitError, Result, utils::refs::*};\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `std::convert::Into`\n --> src/command/init.rs:3:5\n |\n3 | use std::convert::Into;\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `CommandFactory` and `Subcommand`\n --> src/command/init.rs:5:20\n |\n5 | use clap::{Parser, Subcommand, CommandFactory};\n | ^^^^^^^^^^ ^^^^^^^^^^^^^^\n\nwarning: unused imports: `ObjType`, `Obj`, `blob::Blob`, `commit::Commit`, `decompress_file_as_bytes`, `decompress_file`, `fs::obj_to_pathbuf`, `parse_meta`, and `tree::Tree`\n --> src/command/init.rs:9:9\n |\n 9 | decompress_file,\n | ^^^^^^^^^^^^^^^\n10 | decompress_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n11 | },\n12 | fs::obj_to_pathbuf,\n | ^^^^^^^^^^^^^^^^^^\n13 | objtype::{\n14 | ObjType,\n | ^^^^^^^\n15 | parse_meta,\n | ^^^^^^^^^^\n16 | Obj,\n | ^^^\n17 | },\n18 | blob::Blob,\n | ^^^^^^^^^^\n19 | tree::Tree,\n | ^^^^^^^^^^\n20 | commit::Commit,\n | ^^^^^^^^^^^^^^\n\nwarning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take`\n --> src/command/init.rs:30:23\n |\n30 | bytes::complete::{tag, take, take_until},\n | ^^^ ^^^^ ^^^^^^^^^^\n31 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n32 | IResult,\n | ^^^^^^^\n\nwarning: unused import: `std::fs::write`\n --> src/command/merge.rs:1:5\n |\n1 | use std::fs::write;\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `std::io`\n --> src/command/merge.rs:3:5\n |\n3 | use std::io;\n | ^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/merge.rs:9:20\n |\n9 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `ChangeTag` and `TextDiff`\n --> src/command/merge.rs:11:15\n |\n11 | use similar::{ChangeTag, TextDiff};\n | ^^^^^^^^^ ^^^^^^^^\n\nwarning: unused imports: `FileMode`, `ObjType`, `compress_object`, `decompress_file`, `hash::hash_object`, `obj_to_pathbuf`, `read_file_as_bytes`, `test::shell_spawn`, and `write_branch_commit`\n --> src/command/merge.rs:18:9\n |\n18 | decompress_file,\n | ^^^^^^^^^^^^^^^\n19 | compress_object\n | ^^^^^^^^^^^^^^^\n...\n22 | obj_to_pathbuf,\n | ^^^^^^^^^^^^^^\n23 | read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^\n...\n28 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n29 | objtype::{\n30 | ObjType,\n | ^^^^^^^\n...\n37 | write_branch_commit,\n | ^^^^^^^^^^^^^^^^^^^\n...\n49 | FileMode,\n | ^^^^^^^^\n...\n53 | test::shell_spawn,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `commit`\n --> src/command/merge.rs:57:5\n |\n57 | commit,\n | ^^^^^^\n\nwarning: unused import: `head_to_hash`\n --> src/command/pull.rs:4:41\n |\n4 | use crate::utils::refs::{read_head_ref, head_to_hash};\n | ^^^^^^^^^^^^\n\nwarning: unused imports: `Checkout` and `ReadTree`\n --> src/command/pull.rs:5:39\n |\n5 | use super::{SubCommand, Fetch, Merge, Checkout, ReadTree};\n | ^^^^^^^^ ^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/rm.rs:1:20\n |\n1 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/rm.rs:6:9\n |\n6 | Path\n | ^^^^\n\nwarning: unused import: `std::convert::Into`\n --> src/command/cat_file.rs:2:5\n |\n2 | use std::convert::Into;\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/cat_file.rs:3:20\n |\n3 | use clap::{Parser, Subcommand, CommandFactory};\n | ^^^^^^^^^^\n\nwarning: unused imports: `ObjType`, `blob::Blob`, `commit::Commit`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree`\n --> src/command/cat_file.rs:7:9\n |\n 7 | decompress_file,\n | ^^^^^^^^^^^^^^^\n...\n10 | fs::{obj_to_pathbuf_legacy, obj_to_pathbuf},\n | ^^^^^^^^^^^^^^\n11 | objtype::{\n12 | ObjType,\n | ^^^^^^^\n...\n16 | blob::Blob,\n | ^^^^^^^^^^\n17 | tree::Tree,\n | ^^^^^^^^^^\n18 | commit::Commit,\n | ^^^^^^^^^^^^^^\n\nwarning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take`\n --> src/command/cat_file.rs:28:23\n |\n28 | bytes::complete::{tag, take, take_until},\n | ^^^ ^^^^ ^^^^^^^^^^\n29 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n30 | IResult,\n | ^^^^^^^\n\nwarning: unused import: `std::fs::write`\n --> src/command/hash_object.rs:1:5\n |\n1 | use std::fs::write;\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/hash_object.rs:3:5\n |\n3 | Path,\n | ^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/hash_object.rs:6:20\n |\n6 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `ObjType`, `Obj`, `commit::Commit`, `compress_object`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree`\n --> src/command/hash_object.rs:10:9\n |\n10 | decompress_file,\n | ^^^^^^^^^^^^^^^\n11 | compress_object\n | ^^^^^^^^^^^^^^^\n...\n14 | obj_to_pathbuf,\n | ^^^^^^^^^^^^^^\n...\n20 | ObjType,\n | ^^^^^^^\n21 | Obj,\n | ^^^\n...\n24 | tree::Tree,\n | ^^^^^^^^^^\n25 | commit::Commit,\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `GitError`\n --> src/command/hash_object.rs:29:5\n |\n29 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/update_index.rs:1:25\n |\n1 | use std::path::{PathBuf,Path};\n | ^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/update_index.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `get_git_dir` and `hash::hash_object`\n --> src/command/update_index.rs:10:9\n |\n10 | get_git_dir,\n | ^^^^^^^^^^^\n...\n14 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `tempfile::TempDir`\n --> src/command/update_index.rs:19:5\n |\n19 | use tempfile::TempDir;\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/read_tree.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `crate::utils::index`\n --> src/command/read_tree.rs:3:5\n |\n3 | use crate::utils::index;\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `compress_object`\n --> src/command/read_tree.rs:4:26\n |\n4 | use crate::utils::zlib::{compress_object, decompress_file_bytes};\n | ^^^^^^^^^^^^^^^\n\nwarning: unused imports: `fs::read_file_as_bytes` and `hash::hash_object`\n --> src/command/read_tree.rs:10:5\n |\n10 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n11 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/write_tree.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `fs::read_file_as_bytes`\n --> src/command/write_tree.rs:8:5\n |\n8 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/commit_tree.rs:4:20\n |\n4 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `hash::hash_object` and `zlib::compress_object`\n --> src/command/commit_tree.rs:6:5\n |\n6 | zlib::compress_object,\n | ^^^^^^^^^^^^^^^^^^^^^\n7 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `GitError`\n --> src/command/commit_tree.rs:12:5\n |\n12 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/update_ref.rs:1:25\n |\n1 | use std::path::{PathBuf,Path};\n | ^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/update_ref.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `crate::utils::index`\n --> src/command/update_ref.rs:3:5\n |\n3 | use crate::utils::index;\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `compress_object` and `decompress_file_bytes`\n --> src/command/update_ref.rs:4:26\n |\n4 | use crate::utils::zlib::{compress_object, decompress_file_bytes};\n | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `FileMode`, `IndexEntry`, `Index`, `Tree`, `fs::read_file_as_bytes`, and `hash::hash_object`\n --> src/command/update_ref.rs:10:5\n |\n10 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n11 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n12 | index::{Index, IndexEntry},\n | ^^^^^ ^^^^^^^^^^\n13 | tree::{\n14 | Tree,\n | ^^^^\n15 | FileMode,\n | ^^^^^^^^\n\nwarning: unused import: `io::Read`\n --> src/utils/hash.rs:3:5\n |\n3 | io::Read,\n | ^^^^^^^^\n\nwarning: unused import: `Digest`\n --> src/utils/index.rs:5:18\n |\n5 | use sha1::{Sha1, Digest};\n | ^^^^^^\n\nwarning: unused import: `fmt::Display`\n --> src/utils/objtype.rs:7:5\n |\n7 | fmt::Display,\n | ^^^^^^^^^^^^\n\nwarning: variants `InvalidHash`, `InvalidBlob`, `InvalidTree`, `FailedToRmoveFile`, `BrokenCommitHistory`, and `NoSameAncestor` are never constructed\n --> src/utils/error.rs:11:5\n |\n 9 | pub enum GitError {\n | -------- variants in this enum\n10 | InvalidCommand(String),\n11 | InvalidHash(String),\n | ^^^^^^^^^^^\n12 | InvalidBlob(String),\n | ^^^^^^^^^^^\n...\n15 | InvalidTree(String),\n | ^^^^^^^^^^^\n...\n28 | FailedToRmoveFile(String),\n | ^^^^^^^^^^^^^^^^^\n29 | BrokenCommitHistory(String),\n | ^^^^^^^^^^^^^^^^^^^\n30 | MergeConflict(String),\n31 | NoSameAncestor(String),\n | ^^^^^^^^^^^^^^\n |\n = note: `GitError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis\n = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default\n\nwarning: associated functions `invalid_blob`, `invalid_hash`, and `invaild_path_encoding` are never used\n --> src/utils/error.rs:135:12\n |\n 36 | impl GitError {\n | ------------- associated functions in this implementation\n...\n135 | pub fn invalid_blob(path: &str) -> Box {\n | ^^^^^^^^^^^^\n...\n141 | pub fn invalid_hash(hash: &str) -> Box {\n | ^^^^^^^^^^^^\n...\n147 | pub fn invaild_path_encoding(path: &str) -> Box{\n | ^^^^^^^^^^^^^^^^^^^^^\n\nwarning: function `to_pathbuf` is never used\n --> src/utils/fs.rs:64:8\n |\n64 | pub fn to_pathbuf(slice: &str) -> std::result::Result {\n | ^^^^^^^^^^\n\nwarning: function `read_file_as_reader` is never used\n --> src/utils/fs.rs:75:8\n |\n75 | pub fn read_file_as_reader(file_path: &T) -> Result\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: function `hash_file` is never used\n --> src/utils/hash.rs:32:4\n |\n32 | fn hash_file(path: &T) -> Result\n | ^^^^^^^^^\n\nwarning: function `decompress_file` is never used\n --> src/utils/zlib.rs:36:8\n |\n36 | pub fn decompress_file

(input_path: &P) -> Result\n | ^^^^^^^^^^^^^^^\n\nwarning: function `compress_file` is never used\n --> src/utils/zlib.rs:64:8\n |\n64 | pub fn compress_file

(path: &P) -> Result>\n | ^^^^^^^^^^^^^\n\nwarning: function `time_it` is never used\n --> src/utils/test.rs:29:8\n |\n29 | pub fn time_it(func: F) -> crate::Result\n | ^^^^^^^\n\nwarning: function `shell_spawn` is never used\n --> src/utils/test.rs:39:8\n |\n39 | pub fn shell_spawn(command_list: &[&str]) -> Result {\n | ^^^^^^^^^^^\n\nwarning: function `setup_test_git_dir` is never used\n --> src/utils/test.rs:65:8\n |\n65 | pub fn setup_test_git_dir() -> tempfile::TempDir {\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: function `mktemp_in` is never used\n --> src/utils/test.rs:76:8\n |\n76 | pub fn mktemp_in(dir: T) -> std::io::Result\n | ^^^^^^^^^\n\nwarning: function `touch_file_in` is never used\n --> src/utils/test.rs:85:8\n |\n85 | pub fn touch_file_in(dir: T) -> std::io::Result\n | ^^^^^^^^^^^^^\n\nwarning: function `cp_dir` is never used\n --> src/utils/test.rs:102:8\n |\n102 | pub fn cp_dir(from: T, to: T) -> Result\n | ^^^^^^\n\nwarning: type alias `Args` is never used\n --> src/utils/test.rs:112:10\n |\n112 | pub type Args<'a> = &'a[&'a str];\n | ^^^^\n\nwarning: type alias `ArgsList` is never used\n --> src/utils/test.rs:113:10\n |\n113 | pub type ArgsList<'a> = &'a[(Args<'a>, bool)];\n | ^^^^^^^^\n\nwarning: function `cmd_seq` is never used\n --> src/utils/test.rs:114:8\n |\n114 | pub fn cmd_seq<'a, 'b>(args_list: ArgsList<'a>) -> impl FnMut(Args<'b>) -> Result, String>\n | ^^^^^^^\n\nwarning: function `run_both` is never used\n --> src/utils/test.rs:138:8\n |\n138 | pub fn run_both<'a>(cmds: ArgsList<'a>, git: Args, cargo: Args) -> Result<(Vec, Vec), String> {\n | ^^^^^^^^\n\nwarning: function `read_head_commit` is never used\n --> src/utils/refs.rs:40:8\n |\n40 | pub fn read_head_commit(gitdir: &Path) -> Result {\n | ^^^^^^^^^^^^^^^^\n\nwarning: function `write_branch_commit` is never used\n --> src/utils/refs.rs:73:8\n |\n73 | pub fn write_branch_commit(gitdir: &Path, branch: &str, hash: &str) -> Result<()> {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: fields `hash`, `obj_type`, and `data` are never read\n --> src/utils/packfile.rs:158:5\n |\n157 | struct PackfileObject {\n | -------------- fields in this struct\n158 | hash: String,\n | ^^^^\n159 | obj_type: u8,\n | ^^^^^^^^\n160 | data: Vec,\n | ^^^^\n |\n = note: `PackfileObject` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: associated function `get_staged_file` is never used\n --> src/command/checkout.rs:168:8\n |\n 60 | impl Checkout {\n | ------------- associated function in this implementation\n...\n168 | fn get_staged_file(gitdir: &Path, path: &Path) -> Result>> {\n | ^^^^^^^^^^^^^^^\n\nwarning: field `deleted_refs` is never read\n --> src/command/fetch.rs:28:9\n |\n25 | pub struct FetchResult {\n | ----------- field in this struct\n...\n28 | pub deleted_refs: Vec,\n | ^^^^^^^^^^^^\n |\n = note: `FetchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: method `copy_missing_objects` is never used\n --> src/command/fetch.rs:276:8\n |\n 31 | impl Fetch {\n | ---------- method in this implementation\n...\n276 | fn copy_missing_objects(&self, gitdir: &PathBuf, remote_gitdir: &PathBuf, commit_hash: &str) -> Result<()> {\n | ^^^^^^^^^^^^^^^^^^^^\n\nwarning: fields `name` and `fetch_specs` are never read\n --> src/command/fetch.rs:390:5\n |\n389 | struct RemoteConfig {\n | ------------ fields in this struct\n390 | name: String,\n | ^^^^\n391 | url: String,\n392 | fetch_specs: Vec,\n | ^^^^^^^^^^^\n |\n = note: `RemoteConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: field `new_commit` is never read\n --> src/command/push.rs:930:5\n |\n926 | struct PushInfo {\n | -------- field in this struct\n...\n930 | new_commit: String,\n | ^^^^^^^^^^\n |\n = note: `PushInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: method `build_tree_content` is never used\n --> src/command/write_tree.rs:30:8\n |\n23 | impl WriteTree {\n | -------------- method in this implementation\n...\n30 | fn build_tree_content(&self, index: &Index) -> Result>{\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: method `asshole` is never used\n --> src/command/commit_tree.rs:70:12\n |\n30 | impl CommitTree {\n | --------------- method in this implementation\n...\n70 | pub fn asshole(self, gitdir: PathBuf) -> Result {\n | ^^^^^^^\n\nwarning: associated function `from_args` is never used\n --> src/command/update_ref.rs:30:12\n |\n29 | impl UpdateRef {\n | -------------- associated function in this implementation\n30 | pub fn from_args(args: impl Iterator) -> Result> {\n | ^^^^^^^^^\n\nwarning: hiding a lifetime that's elided elsewhere is confusing\n --> src/utils/tree.rs:155:32\n |\n155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype> {\n | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here\n | | |\n | | the same lifetime is elided here\n | the lifetime is elided here\n |\n = help: the same lifetime is referred to in inconsistent ways, making the signature confusing\n = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default\nhelp: use `'_` for type paths\n |\n155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype<'_>> {\n | ++++\n\n" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5b2c33f33252 - std::backtrace_rs::backtrace::libunwind::trace::h52580dd202462214 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5b2c33f33252 - std::backtrace_rs::backtrace::trace_unsynchronized::hc969519abce0f52b [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5b2c33f33252 - std::sys::backtrace::_print_fmt::hfd5825900b6e0030 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5b2c33f33252 - ::fmt::h427144ad75cfb218 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5b2c33f44c7f - core::fmt::rt::Argument::fmt::hd5ccc9cf97cea7f7 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5b2c33f44c7f - core::fmt::write::h593aaf5adf0f5dae [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5b2c33efbd51 - std::io::default_write_fmt::h305b5a0727055346 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5b2c33efbd51 - std::io::Write::write_fmt::h76f14a8a88733dc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5b2c33f0a482 - std::sys::backtrace::BacktraceLock::print::h3953113552dca3ca [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5b2c33f0fc3f - std::panicking::default_hook::{{closure}}::h486b96ad75eafbb8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5b2c33f0fad1 - std::panicking::default_hook::h99456317c5a1a20c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5b2c3392fdce - as core::ops::function::Fn>::call::h441e4551014e4cf8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x5b2c3392fdce - test::test_main_with_exit_callback::{{closure}}::hdbca54e17f1a00e4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5b2c33f103af - as core::ops::function::Fn>::call::h1e57b72c4e1d3045 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x5b2c33f103af - std::panicking::panic_with_hook::h67ab0df20212e4ea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5b2c33f1015a - std::panicking::panic_handler::{{closure}}::hc9e4a933ae92e208 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5b2c33f0a5c9 - std::sys::backtrace::__rust_end_short_backtrace::hbfa72df9b68c2d19 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5b2c33eee53d - __rustc[8cce077e14951490]::rust_begin_unwind [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5b2c33f4ddf0 - core::panicking::panic_fmt::h49931053d20abf41 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5b2c33f4dba3 - core::panicking::assert_failed_inner::h3eabd3c15a9e5a8c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x5b2c3380bc63 - core::panicking::assert_failed::h2ac62c011620c614 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x5b2c337d7559 - git::command::cat_file::test::test_blob::h73285a7c9b46adda [INFO] [stdout] at /opt/rustwide/workdir/src/command/cat_file.rs:128:9 [INFO] [stdout] 22: 0x5b2c337d75f7 - git::command::cat_file::test::test_blob::{{closure}}::hfca4bc9d22cdf5ef [INFO] [stdout] at /opt/rustwide/workdir/src/command/cat_file.rs:112:19 [INFO] [stdout] 23: 0x5b2c3384efe6 - core::ops::function::FnOnce::call_once::ha84c317080c0a2ee [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5b2c3392fb8b - core::ops::function::FnOnce::call_once::h5d9016d521f5aee4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x5b2c3392fb8b - test::__rust_begin_short_backtrace::h123fcee610330442 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5b2c33945675 - test::run_test_in_process::{{closure}}::h0442efda2e6359b2 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5b2c33945675 - as core::ops::function::FnOnce<()>>::call_once::hfe3528c8dd09682c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x5b2c33945675 - std::panicking::catch_unwind::do_call::hb1659f7844fe8531 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x5b2c33945675 - std::panicking::catch_unwind::hdc1f4be0019e72ad [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x5b2c33945675 - std::panic::catch_unwind::hd6d7ccfa4513e770 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5b2c33945675 - test::run_test_in_process::h6bbb839ed0802366 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5b2c33945675 - test::run_test::{{closure}}::he4fad7398c8acc11 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5b2c3391bfe4 - test::run_test::{{closure}}::h41975797e198d26c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5b2c3391bfe4 - std::sys::backtrace::__rust_begin_short_backtrace::hfb46c397857336f1 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hddf826a64f532bea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x5b2c3391f98a - as core::ops::function::FnOnce<()>>::call_once::hc3518c3eab91aeb3 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x5b2c3391f98a - std::panicking::catch_unwind::do_call::h7bf3ad6dc012415a [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x5b2c3391f98a - std::panicking::catch_unwind::h8b88f0375c767e36 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x5b2c3391f98a - std::panic::catch_unwind::h66cb5d61a90f7bc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::h65bc9d15fb966bbd [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x5b2c3391f98a - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8d2c9a8796342e5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x5b2c33f0438f - as core::ops::function::FnOnce>::call_once::hef12b47e5c033835 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 43: 0x5b2c33f0438f - std::sys::pal::unix::thread::Thread::new::thread_start::h135087e7c97657bc [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 44: 0x7295d7de9aa4 - [INFO] [stdout] 45: 0x7295d7e76a34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- command::cat_file::test::test_tree stdout ---- [INFO] [stdout] origin = 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 temp_4Eq4zlqg9N.txt [INFO] [stdout] 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 temp_tkNgzJfvVF.txt [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] thread 'command::cat_file::test::test_tree' (35) panicked at src/command/cat_file.rs:150:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: "100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391\ttemp_4Eq4zlqg9N.txt\n100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391\ttemp_tkNgzJfvVF.txt\n" [INFO] [stdout] right: "warning: unused import: `itertools::Update`\n --> src/cli/args.rs:1:5\n |\n1 | use itertools::Update;\n | ^^^^^^^^^^^^^^^^^\n |\n = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default\n\nwarning: unused imports: `CommandFactory` and `Subcommand`\n --> src/cli/args.rs:4:20\n |\n4 | use clap::{Parser, Subcommand, CommandFactory, ValueHint};\n | ^^^^^^^^^^ ^^^^^^^^^^^^^^\n\nwarning: unused import: `to_pathbuf`\n --> src/cli/args.rs:10:9\n |\n10 | to_pathbuf,\n | ^^^^^^^^^^\n\nwarning: unused import: `NoSubCommand`\n --> src/utils/error.rs:4:46\n |\n4 | use GitError::{InvalidCommand, FileNotFound, NoSubCommand};\n | ^^^^^^^^^^^^\n\nwarning: unused import: `Index`\n --> src/utils/fs.rs:26:9\n |\n26 | Index,\n | ^^^^^\n\nwarning: unused imports: `PathBuf`, `fmt`, and `fs::File`\n --> src/utils/hash.rs:2:5\n |\n2 | fmt,\n | ^^^\n3 | io::Read,\n4 | fs::File,\n | ^^^^^^^^\n5 | path::{PathBuf, Path}\n | ^^^^^^^\n\nwarning: unused import: `GitError`\n --> src/utils/hash.rs:15:5\n |\n15 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `std::fs::File`\n --> src/utils/zlib.rs:1:5\n |\n1 | use std::fs::File;\n | ^^^^^^^^^^^^^\n\nwarning: unused imports: `Write` and `self`\n --> src/utils/zlib.rs:3:15\n |\n3 | use std::io::{self, Read, Write, BufReader};\n | ^^^^ ^^^^^\n\nwarning: unused import: `GitError`\n --> src/utils/zlib.rs:14:5\n |\n14 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `PathBuf`\n --> src/utils/index.rs:1:17\n |\n1 | use std::path::{PathBuf,Path};\n | ^^^^^^^\n\nwarning: unused import: `File`\n --> src/utils/index.rs:2:15\n |\n2 | use std::fs::{File, OpenOptions};\n | ^^^^\n\nwarning: unused imports: `BufRead`, `BufReader`, and `Read`\n --> src/utils/index.rs:3:33\n |\n3 | use std::io::{Write, BufWriter, Read, BufReader, BufRead};\n | ^^^^ ^^^^^^^^^ ^^^^^^^\n\nwarning: unused imports: `BigEndian` and `ReadBytesExt`\n --> src/utils/index.rs:4:17\n |\n4 | use byteorder::{ReadBytesExt, BigEndian};\n | ^^^^^^^^^^^^ ^^^^^^^^^\n\nwarning: unused import: `Sha1`\n --> src/utils/index.rs:5:12\n |\n5 | use sha1::{Sha1, Digest};\n | ^^^^\n\nwarning: unused import: `take_until`\n --> src/utils/index.rs:7:34\n |\n7 | bytes::complete::{tag, take, take_until},\n | ^^^^^^^^^^\n\nwarning: unused import: `std::iter::repeat_n`\n --> src/utils/index.rs:11:5\n |\n11 | use std::iter::repeat_n;\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `std::io::Seek`\n --> src/utils/index.rs:64:13\n |\n64 | use std::io::Seek;\n | ^^^^^^^^^^^^^\n\nwarning: unused import: `path::PathBuf`\n --> src/utils/objtype.rs:6:5\n |\n6 | path::PathBuf,\n | ^^^^^^^^^^^^^\n\nwarning: unused import: `Result`\n --> src/utils/objtype.rs:16:9\n |\n16 | Result\n | ^^^^^^\n\nwarning: unused imports: `alpha1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `space1`, `take_until`, `take`, `u32`, and `value`\n --> src/utils/objtype.rs:22:28\n |\n22 | bytes::complete::{tag, take, take_until},\n | ^^^^ ^^^^^^^^^^\n23 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n24 | character::complete::{digit1, space1, u32, alpha1},\n | ^^^^^^ ^^^ ^^^^^^\n...\n27 | preceded,\n | ^^^^^^^^\n...\n32 | map, map_res, eof, value\n | ^^^ ^^^^^^^ ^^^ ^^^^^\n\nwarning: unused import: `path::PathBuf`\n --> src/utils/blob.rs:10:5\n |\n10 | path::PathBuf\n | ^^^^^^^^^^^^^\n\nwarning: unused imports: `alpha1`, `digit1`, `many1`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `separated_pair`, `space1`, `u32`, and `value`\n --> src/utils/tree.rs:27:5\n |\n27 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n28 | character::complete::{alpha1, digit1, space1, u32},\n | ^^^^^^ ^^^^^^ ^^^^^^ ^^^\n...\n31 | preceded,\n | ^^^^^^^^\n32 | separated_pair,\n | ^^^^^^^^^^^^^^\n...\n36 | many1,\n | ^^^^^\n...\n39 | map, map_res, eof, value,\n | ^^^ ^^^^^^^ ^^^^^\n\nwarning: unused import: `read_object`\n --> src/utils/tree.rs:53:9\n |\n53 | read_object,\n | ^^^^^^^^^^^\n\nwarning: unused import: `path::PathBuf`\n --> src/utils/commit.rs:6:5\n |\n6 | path::PathBuf\n | ^^^^^^^^^^^^^\n\nwarning: unused imports: `alpha1`, `branch::alt`, `digit1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `separated_pair`, `space1`, `take`, `u32`, and `value`\n --> src/utils/commit.rs:25:14\n |\n25 | tag, take, take_until, take_while,\n | ^^^^\n26 | },\n27 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n28 | character::complete::{digit1, space1, u32, alpha1, },\n | ^^^^^^ ^^^^^^ ^^^ ^^^^^^\n...\n32 | separated_pair,\n | ^^^^^^^^^^^^^^\n33 | },\n34 | branch::alt,\n | ^^^^^^^^^^^\n35 | combinator::{\n36 | map, map_res, eof, value, opt\n | ^^^ ^^^^^^^ ^^^ ^^^^^\n\nwarning: unused imports: `Write`, `copy`, `fs`, `mem`, `read_dir`, and `self`\n --> src/utils/test.rs:3:5\n |\n 3 | mem,\n | ^^^\n 4 | io::{\n 5 | self,\n | ^^^^\n 6 | Write,\n | ^^^^^\n 7 | },\n 8 | fs,\n | ^^\n 9 | fs::{\n10 | read_dir,\n | ^^^^^^^^\n11 | copy,\n | ^^^^\n\nwarning: unused import: `error`\n --> src/utils/test.rs:26:5\n |\n26 | error,\n | ^^^^^\n\nwarning: unused imports: `commit::Commit`, `fs::read_file_as_bytes`, and `objtype::Obj`\n --> src/utils/refs.rs:5:9\n |\n5 | commit::Commit,\n | ^^^^^^^^^^^^^^\n6 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n7 | objtype::Obj,\n | ^^^^^^^^^^^^\n\nwarning: unused import: `std::collections::HashMap`\n --> src/utils/protocol.rs:1:5\n |\n1 | use std::collections::HashMap;\n | ^^^^^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `Write` and `self`\n --> src/utils/packfile.rs:5:15\n |\n5 | use std::io::{self, Cursor, Read, Write};\n | ^^^^ ^^^^^\n\nwarning: unused imports: `Path` and `iter::once`\n --> src/command/add.rs:4:9\n |\n4 | Path,\n | ^^^^\n...\n7 | iter::once,\n | ^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/add.rs:9:20\n |\n9 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `itertools::Either`\n --> src/command/add.rs:10:5\n |\n10 | use itertools::Either;\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `GitError`, `IndexEntry`, `objtype::ObjType`, `read_file_as_bytes`, `tree::FileMode`, and `write_object`\n --> src/command/add.rs:13:5\n |\n13 | GitError,\n | ^^^^^^^^\n...\n16 | objtype::ObjType,\n | ^^^^^^^^^^^^^^^^\n...\n19 | IndexEntry,\n | ^^^^^^^^^^\n...\n23 | write_object,\n | ^^^^^^^^^^^^\n24 | read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^\n...\n28 | tree::FileMode,\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/branch.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `write_ref_commit`\n --> src/command/branch.rs:8:51\n |\n8 | utils::refs::{read_head_ref, read_ref_commit, write_ref_commit},\n | ^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/checkout.rs:6:20\n |\n6 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `read_head_commit` and `write_ref_commit`\n --> src/command/checkout.rs:15:9\n |\n15 | write_ref_commit,\n | ^^^^^^^^^^^^^^^^\n16 | write_head_commit,\n17 | read_head_commit,\n | ^^^^^^^^^^^^^^^^\n\nwarning: unused import: `write_object`\n --> src/command/checkout.rs:41:9\n |\n41 | write_object,\n | ^^^^^^^^^^^^\n\nwarning: unused imports: `Command` and `Subcommand`\n --> src/command/commit.rs:2:20\n |\n2 | use clap::{Parser, Subcommand, Command};\n | ^^^^^^^^^^ ^^^^^^^\n\nwarning: unused imports: `Cursor`, `Write`, and `self`\n --> src/command/commit.rs:3:15\n |\n3 | use std::io::{self, Write, Cursor};\n | ^^^^ ^^^^^ ^^^^^^\n\nwarning: unused import: `std::process::Command as ProcessCommand`\n --> src/command/commit.rs:4:5\n |\n4 | use std::process::Command as ProcessCommand;\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `CommitTree`, `hash::hash_object`, `index::Index`, and `tree::Tree`\n --> src/command/commit.rs:10:20\n |\n10 | WriteTree, CommitTree, UpdateRef\n | ^^^^^^^^^^\n...\n14 | tree::Tree,\n | ^^^^^^^^^^\n15 | index::Index,\n | ^^^^^^^^^^^^\n...\n20 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `utils::refs::*`\n --> src/command/fetch.rs:4:31\n |\n4 | use crate::{GitError, Result, utils::refs::*};\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `std::convert::Into`\n --> src/command/init.rs:3:5\n |\n3 | use std::convert::Into;\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `CommandFactory` and `Subcommand`\n --> src/command/init.rs:5:20\n |\n5 | use clap::{Parser, Subcommand, CommandFactory};\n | ^^^^^^^^^^ ^^^^^^^^^^^^^^\n\nwarning: unused imports: `ObjType`, `Obj`, `blob::Blob`, `commit::Commit`, `decompress_file_as_bytes`, `decompress_file`, `fs::obj_to_pathbuf`, `parse_meta`, and `tree::Tree`\n --> src/command/init.rs:9:9\n |\n 9 | decompress_file,\n | ^^^^^^^^^^^^^^^\n10 | decompress_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n11 | },\n12 | fs::obj_to_pathbuf,\n | ^^^^^^^^^^^^^^^^^^\n13 | objtype::{\n14 | ObjType,\n | ^^^^^^^\n15 | parse_meta,\n | ^^^^^^^^^^\n16 | Obj,\n | ^^^\n17 | },\n18 | blob::Blob,\n | ^^^^^^^^^^\n19 | tree::Tree,\n | ^^^^^^^^^^\n20 | commit::Commit,\n | ^^^^^^^^^^^^^^\n\nwarning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take`\n --> src/command/init.rs:30:23\n |\n30 | bytes::complete::{tag, take, take_until},\n | ^^^ ^^^^ ^^^^^^^^^^\n31 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n32 | IResult,\n | ^^^^^^^\n\nwarning: unused import: `std::fs::write`\n --> src/command/merge.rs:1:5\n |\n1 | use std::fs::write;\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `std::io`\n --> src/command/merge.rs:3:5\n |\n3 | use std::io;\n | ^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/merge.rs:9:20\n |\n9 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `ChangeTag` and `TextDiff`\n --> src/command/merge.rs:11:15\n |\n11 | use similar::{ChangeTag, TextDiff};\n | ^^^^^^^^^ ^^^^^^^^\n\nwarning: unused imports: `FileMode`, `ObjType`, `compress_object`, `decompress_file`, `hash::hash_object`, `obj_to_pathbuf`, `read_file_as_bytes`, `test::shell_spawn`, and `write_branch_commit`\n --> src/command/merge.rs:18:9\n |\n18 | decompress_file,\n | ^^^^^^^^^^^^^^^\n19 | compress_object\n | ^^^^^^^^^^^^^^^\n...\n22 | obj_to_pathbuf,\n | ^^^^^^^^^^^^^^\n23 | read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^\n...\n28 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n29 | objtype::{\n30 | ObjType,\n | ^^^^^^^\n...\n37 | write_branch_commit,\n | ^^^^^^^^^^^^^^^^^^^\n...\n49 | FileMode,\n | ^^^^^^^^\n...\n53 | test::shell_spawn,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `commit`\n --> src/command/merge.rs:57:5\n |\n57 | commit,\n | ^^^^^^\n\nwarning: unused import: `head_to_hash`\n --> src/command/pull.rs:4:41\n |\n4 | use crate::utils::refs::{read_head_ref, head_to_hash};\n | ^^^^^^^^^^^^\n\nwarning: unused imports: `Checkout` and `ReadTree`\n --> src/command/pull.rs:5:39\n |\n5 | use super::{SubCommand, Fetch, Merge, Checkout, ReadTree};\n | ^^^^^^^^ ^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/rm.rs:1:20\n |\n1 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/rm.rs:6:9\n |\n6 | Path\n | ^^^^\n\nwarning: unused import: `std::convert::Into`\n --> src/command/cat_file.rs:2:5\n |\n2 | use std::convert::Into;\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/cat_file.rs:3:20\n |\n3 | use clap::{Parser, Subcommand, CommandFactory};\n | ^^^^^^^^^^\n\nwarning: unused imports: `ObjType`, `blob::Blob`, `commit::Commit`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree`\n --> src/command/cat_file.rs:7:9\n |\n 7 | decompress_file,\n | ^^^^^^^^^^^^^^^\n...\n10 | fs::{obj_to_pathbuf_legacy, obj_to_pathbuf},\n | ^^^^^^^^^^^^^^\n11 | objtype::{\n12 | ObjType,\n | ^^^^^^^\n...\n16 | blob::Blob,\n | ^^^^^^^^^^\n17 | tree::Tree,\n | ^^^^^^^^^^\n18 | commit::Commit,\n | ^^^^^^^^^^^^^^\n\nwarning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take`\n --> src/command/cat_file.rs:28:23\n |\n28 | bytes::complete::{tag, take, take_until},\n | ^^^ ^^^^ ^^^^^^^^^^\n29 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n30 | IResult,\n | ^^^^^^^\n\nwarning: unused import: `std::fs::write`\n --> src/command/hash_object.rs:1:5\n |\n1 | use std::fs::write;\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/hash_object.rs:3:5\n |\n3 | Path,\n | ^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/hash_object.rs:6:20\n |\n6 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `ObjType`, `Obj`, `commit::Commit`, `compress_object`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree`\n --> src/command/hash_object.rs:10:9\n |\n10 | decompress_file,\n | ^^^^^^^^^^^^^^^\n11 | compress_object\n | ^^^^^^^^^^^^^^^\n...\n14 | obj_to_pathbuf,\n | ^^^^^^^^^^^^^^\n...\n20 | ObjType,\n | ^^^^^^^\n21 | Obj,\n | ^^^\n...\n24 | tree::Tree,\n | ^^^^^^^^^^\n25 | commit::Commit,\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `GitError`\n --> src/command/hash_object.rs:29:5\n |\n29 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/update_index.rs:1:25\n |\n1 | use std::path::{PathBuf,Path};\n | ^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/update_index.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `get_git_dir` and `hash::hash_object`\n --> src/command/update_index.rs:10:9\n |\n10 | get_git_dir,\n | ^^^^^^^^^^^\n...\n14 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `tempfile::TempDir`\n --> src/command/update_index.rs:19:5\n |\n19 | use tempfile::TempDir;\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/read_tree.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `crate::utils::index`\n --> src/command/read_tree.rs:3:5\n |\n3 | use crate::utils::index;\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `compress_object`\n --> src/command/read_tree.rs:4:26\n |\n4 | use crate::utils::zlib::{compress_object, decompress_file_bytes};\n | ^^^^^^^^^^^^^^^\n\nwarning: unused imports: `fs::read_file_as_bytes` and `hash::hash_object`\n --> src/command/read_tree.rs:10:5\n |\n10 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n11 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/write_tree.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `fs::read_file_as_bytes`\n --> src/command/write_tree.rs:8:5\n |\n8 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/commit_tree.rs:4:20\n |\n4 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `hash::hash_object` and `zlib::compress_object`\n --> src/command/commit_tree.rs:6:5\n |\n6 | zlib::compress_object,\n | ^^^^^^^^^^^^^^^^^^^^^\n7 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `GitError`\n --> src/command/commit_tree.rs:12:5\n |\n12 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/update_ref.rs:1:25\n |\n1 | use std::path::{PathBuf,Path};\n | ^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/update_ref.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `crate::utils::index`\n --> src/command/update_ref.rs:3:5\n |\n3 | use crate::utils::index;\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `compress_object` and `decompress_file_bytes`\n --> src/command/update_ref.rs:4:26\n |\n4 | use crate::utils::zlib::{compress_object, decompress_file_bytes};\n | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `FileMode`, `IndexEntry`, `Index`, `Tree`, `fs::read_file_as_bytes`, and `hash::hash_object`\n --> src/command/update_ref.rs:10:5\n |\n10 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n11 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n12 | index::{Index, IndexEntry},\n | ^^^^^ ^^^^^^^^^^\n13 | tree::{\n14 | Tree,\n | ^^^^\n15 | FileMode,\n | ^^^^^^^^\n\nwarning: unused import: `io::Read`\n --> src/utils/hash.rs:3:5\n |\n3 | io::Read,\n | ^^^^^^^^\n\nwarning: unused import: `Digest`\n --> src/utils/index.rs:5:18\n |\n5 | use sha1::{Sha1, Digest};\n | ^^^^^^\n\nwarning: unused import: `fmt::Display`\n --> src/utils/objtype.rs:7:5\n |\n7 | fmt::Display,\n | ^^^^^^^^^^^^\n\nwarning: variants `InvalidHash`, `InvalidBlob`, `InvalidTree`, `FailedToRmoveFile`, `BrokenCommitHistory`, and `NoSameAncestor` are never constructed\n --> src/utils/error.rs:11:5\n |\n 9 | pub enum GitError {\n | -------- variants in this enum\n10 | InvalidCommand(String),\n11 | InvalidHash(String),\n | ^^^^^^^^^^^\n12 | InvalidBlob(String),\n | ^^^^^^^^^^^\n...\n15 | InvalidTree(String),\n | ^^^^^^^^^^^\n...\n28 | FailedToRmoveFile(String),\n | ^^^^^^^^^^^^^^^^^\n29 | BrokenCommitHistory(String),\n | ^^^^^^^^^^^^^^^^^^^\n30 | MergeConflict(String),\n31 | NoSameAncestor(String),\n | ^^^^^^^^^^^^^^\n |\n = note: `GitError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis\n = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default\n\nwarning: associated functions `invalid_blob`, `invalid_hash`, and `invaild_path_encoding` are never used\n --> src/utils/error.rs:135:12\n |\n 36 | impl GitError {\n | ------------- associated functions in this implementation\n...\n135 | pub fn invalid_blob(path: &str) -> Box {\n | ^^^^^^^^^^^^\n...\n141 | pub fn invalid_hash(hash: &str) -> Box {\n | ^^^^^^^^^^^^\n...\n147 | pub fn invaild_path_encoding(path: &str) -> Box{\n | ^^^^^^^^^^^^^^^^^^^^^\n\nwarning: function `to_pathbuf` is never used\n --> src/utils/fs.rs:64:8\n |\n64 | pub fn to_pathbuf(slice: &str) -> std::result::Result {\n | ^^^^^^^^^^\n\nwarning: function `read_file_as_reader` is never used\n --> src/utils/fs.rs:75:8\n |\n75 | pub fn read_file_as_reader(file_path: &T) -> Result\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: function `hash_file` is never used\n --> src/utils/hash.rs:32:4\n |\n32 | fn hash_file(path: &T) -> Result\n | ^^^^^^^^^\n\nwarning: function `decompress_file` is never used\n --> src/utils/zlib.rs:36:8\n |\n36 | pub fn decompress_file

(input_path: &P) -> Result\n | ^^^^^^^^^^^^^^^\n\nwarning: function `compress_file` is never used\n --> src/utils/zlib.rs:64:8\n |\n64 | pub fn compress_file

(path: &P) -> Result>\n | ^^^^^^^^^^^^^\n\nwarning: function `time_it` is never used\n --> src/utils/test.rs:29:8\n |\n29 | pub fn time_it(func: F) -> crate::Result\n | ^^^^^^^\n\nwarning: function `shell_spawn` is never used\n --> src/utils/test.rs:39:8\n |\n39 | pub fn shell_spawn(command_list: &[&str]) -> Result {\n | ^^^^^^^^^^^\n\nwarning: function `setup_test_git_dir` is never used\n --> src/utils/test.rs:65:8\n |\n65 | pub fn setup_test_git_dir() -> tempfile::TempDir {\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: function `mktemp_in` is never used\n --> src/utils/test.rs:76:8\n |\n76 | pub fn mktemp_in(dir: T) -> std::io::Result\n | ^^^^^^^^^\n\nwarning: function `touch_file_in` is never used\n --> src/utils/test.rs:85:8\n |\n85 | pub fn touch_file_in(dir: T) -> std::io::Result\n | ^^^^^^^^^^^^^\n\nwarning: function `cp_dir` is never used\n --> src/utils/test.rs:102:8\n |\n102 | pub fn cp_dir(from: T, to: T) -> Result\n | ^^^^^^\n\nwarning: type alias `Args` is never used\n --> src/utils/test.rs:112:10\n |\n112 | pub type Args<'a> = &'a[&'a str];\n | ^^^^\n\nwarning: type alias `ArgsList` is never used\n --> src/utils/test.rs:113:10\n |\n113 | pub type ArgsList<'a> = &'a[(Args<'a>, bool)];\n | ^^^^^^^^\n\nwarning: function `cmd_seq` is never used\n --> src/utils/test.rs:114:8\n |\n114 | pub fn cmd_seq<'a, 'b>(args_list: ArgsList<'a>) -> impl FnMut(Args<'b>) -> Result, String>\n | ^^^^^^^\n\nwarning: function `run_both` is never used\n --> src/utils/test.rs:138:8\n |\n138 | pub fn run_both<'a>(cmds: ArgsList<'a>, git: Args, cargo: Args) -> Result<(Vec, Vec), String> {\n | ^^^^^^^^\n\nwarning: function `read_head_commit` is never used\n --> src/utils/refs.rs:40:8\n |\n40 | pub fn read_head_commit(gitdir: &Path) -> Result {\n | ^^^^^^^^^^^^^^^^\n\nwarning: function `write_branch_commit` is never used\n --> src/utils/refs.rs:73:8\n |\n73 | pub fn write_branch_commit(gitdir: &Path, branch: &str, hash: &str) -> Result<()> {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: fields `hash`, `obj_type`, and `data` are never read\n --> src/utils/packfile.rs:158:5\n |\n157 | struct PackfileObject {\n | -------------- fields in this struct\n158 | hash: String,\n | ^^^^\n159 | obj_type: u8,\n | ^^^^^^^^\n160 | data: Vec,\n | ^^^^\n |\n = note: `PackfileObject` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: associated function `get_staged_file` is never used\n --> src/command/checkout.rs:168:8\n |\n 60 | impl Checkout {\n | ------------- associated function in this implementation\n...\n168 | fn get_staged_file(gitdir: &Path, path: &Path) -> Result>> {\n | ^^^^^^^^^^^^^^^\n\nwarning: field `deleted_refs` is never read\n --> src/command/fetch.rs:28:9\n |\n25 | pub struct FetchResult {\n | ----------- field in this struct\n...\n28 | pub deleted_refs: Vec,\n | ^^^^^^^^^^^^\n |\n = note: `FetchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: method `copy_missing_objects` is never used\n --> src/command/fetch.rs:276:8\n |\n 31 | impl Fetch {\n | ---------- method in this implementation\n...\n276 | fn copy_missing_objects(&self, gitdir: &PathBuf, remote_gitdir: &PathBuf, commit_hash: &str) -> Result<()> {\n | ^^^^^^^^^^^^^^^^^^^^\n\nwarning: fields `name` and `fetch_specs` are never read\n --> src/command/fetch.rs:390:5\n |\n389 | struct RemoteConfig {\n | ------------ fields in this struct\n390 | name: String,\n | ^^^^\n391 | url: String,\n392 | fetch_specs: Vec,\n | ^^^^^^^^^^^\n |\n = note: `RemoteConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: field `new_commit` is never read\n --> src/command/push.rs:930:5\n |\n926 | struct PushInfo {\n | -------- field in this struct\n...\n930 | new_commit: String,\n | ^^^^^^^^^^\n |\n = note: `PushInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: method `build_tree_content` is never used\n --> src/command/write_tree.rs:30:8\n |\n23 | impl WriteTree {\n | -------------- method in this implementation\n...\n30 | fn build_tree_content(&self, index: &Index) -> Result>{\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: method `asshole` is never used\n --> src/command/commit_tree.rs:70:12\n |\n30 | impl CommitTree {\n | --------------- method in this implementation\n...\n70 | pub fn asshole(self, gitdir: PathBuf) -> Result {\n | ^^^^^^^\n\nwarning: associated function `from_args` is never used\n --> src/command/update_ref.rs:30:12\n |\n29 | impl UpdateRef {\n | -------------- associated function in this implementation\n30 | pub fn from_args(args: impl Iterator) -> Result> {\n | ^^^^^^^^^\n\nwarning: hiding a lifetime that's elided elsewhere is confusing\n --> src/utils/tree.rs:155:32\n |\n155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype> {\n | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here\n | | |\n | | the same lifetime is elided here\n | the lifetime is elided here\n |\n = help: the same lifetime is referred to in inconsistent ways, making the signature confusing\n = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default\nhelp: use `'_` for type paths\n |\n155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype<'_>> {\n | ++++\n\n100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391\ttemp_4Eq4zlqg9N.txt\n100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391\ttemp_tkNgzJfvVF.txt\n" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5b2c33f33252 - std::backtrace_rs::backtrace::libunwind::trace::h52580dd202462214 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5b2c33f33252 - std::backtrace_rs::backtrace::trace_unsynchronized::hc969519abce0f52b [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5b2c33f33252 - std::sys::backtrace::_print_fmt::hfd5825900b6e0030 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5b2c33f33252 - ::fmt::h427144ad75cfb218 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5b2c33f44c7f - core::fmt::rt::Argument::fmt::hd5ccc9cf97cea7f7 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5b2c33f44c7f - core::fmt::write::h593aaf5adf0f5dae [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5b2c33efbd51 - std::io::default_write_fmt::h305b5a0727055346 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5b2c33efbd51 - std::io::Write::write_fmt::h76f14a8a88733dc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5b2c33f0a482 - std::sys::backtrace::BacktraceLock::print::h3953113552dca3ca [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5b2c33f0fc3f - std::panicking::default_hook::{{closure}}::h486b96ad75eafbb8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5b2c33f0fad1 - std::panicking::default_hook::h99456317c5a1a20c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5b2c3392fdce - as core::ops::function::Fn>::call::h441e4551014e4cf8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x5b2c3392fdce - test::test_main_with_exit_callback::{{closure}}::hdbca54e17f1a00e4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5b2c33f103af - as core::ops::function::Fn>::call::h1e57b72c4e1d3045 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x5b2c33f103af - std::panicking::panic_with_hook::h67ab0df20212e4ea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5b2c33f1015a - std::panicking::panic_handler::{{closure}}::hc9e4a933ae92e208 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5b2c33f0a5c9 - std::sys::backtrace::__rust_end_short_backtrace::hbfa72df9b68c2d19 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5b2c33eee53d - __rustc[8cce077e14951490]::rust_begin_unwind [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5b2c33f4ddf0 - core::panicking::panic_fmt::h49931053d20abf41 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5b2c33f4dba3 - core::panicking::assert_failed_inner::h3eabd3c15a9e5a8c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x5b2c3380bc63 - core::panicking::assert_failed::h2ac62c011620c614 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x5b2c337d8523 - git::command::cat_file::test::test_tree::h5abe8ee3fe735b75 [INFO] [stdout] at /opt/rustwide/workdir/src/command/cat_file.rs:150:9 [INFO] [stdout] 22: 0x5b2c337d85c7 - git::command::cat_file::test::test_tree::{{closure}}::h18b00095f258696a [INFO] [stdout] at /opt/rustwide/workdir/src/command/cat_file.rs:132:19 [INFO] [stdout] 23: 0x5b2c3384f7e6 - core::ops::function::FnOnce::call_once::hf98b04b00dcfc162 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5b2c3392fb8b - core::ops::function::FnOnce::call_once::h5d9016d521f5aee4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x5b2c3392fb8b - test::__rust_begin_short_backtrace::h123fcee610330442 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5b2c33945675 - test::run_test_in_process::{{closure}}::h0442efda2e6359b2 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5b2c33945675 - as core::ops::function::FnOnce<()>>::call_once::hfe3528c8dd09682c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x5b2c33945675 - std::panicking::catch_unwind::do_call::hb1659f7844fe8531 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x5b2c33945675 - std::panicking::catch_unwind::hdc1f4be0019e72ad [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x5b2c33945675 - std::panic::catch_unwind::hd6d7ccfa4513e770 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5b2c33945675 - test::run_test_in_process::h6bbb839ed0802366 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5b2c33945675 - test::run_test::{{closure}}::he4fad7398c8acc11 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5b2c3391bfe4 - test::run_test::{{closure}}::h41975797e198d26c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5b2c3391bfe4 - std::sys::backtrace::__rust_begin_short_backtrace::hfb46c397857336f1 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hddf826a64f532bea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x5b2c3391f98a - as core::ops::function::FnOnce<()>>::call_once::hc3518c3eab91aeb3 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x5b2c3391f98a - std::panicking::catch_unwind::do_call::h7bf3ad6dc012415a [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x5b2c3391f98a - std::panicking::catch_unwind::h8b88f0375c767e36 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x5b2c3391f98a - std::panic::catch_unwind::h66cb5d61a90f7bc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::h65bc9d15fb966bbd [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x5b2c3391f98a - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8d2c9a8796342e5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x5b2c33f0438f - as core::ops::function::FnOnce>::call_once::hef12b47e5c033835 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 43: 0x5b2c33f0438f - std::sys::pal::unix::thread::Thread::new::thread_start::h135087e7c97657bc [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 44: 0x7295d7de9aa4 - [INFO] [stdout] 45: 0x7295d7e76a34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- command::rm::test::test_ppt_rm stdout ---- [INFO] [stdout] Command 'cp /opt/rustwide/workdir/target/debug/git /tmp/.tmpTYdxuB/tests/rust-git' failed with exit code: Some(1), output: cp: cannot stat '/opt/rustwide/workdir/target/debug/git': No such file or directory [INFO] [stdout] [INFO] [stdout] Error: "" [INFO] [stdout] [INFO] [stdout] ---- command::merge::test::test_fast_forward stdout ---- [INFO] [stdout] cmd: git -C /tmp/.tmpQEHJoH merge new_branch output: Ok("Updating 48bb0bf..8441aff\nFast-forward\n world/temp_9hldW4npQ5.txt | 0\n 1 file changed, 0 insertions(+), 0 deletions(-)\n create mode 100644 world/temp_9hldW4npQ5.txt\n") [INFO] [stdout] Command 'cargo run --quiet -- -C /tmp/.tmp1iscQx merge new_branch' failed with exit code: Some(1), output: warning: unused import: `itertools::Update` [INFO] [stdout] --> src/cli/args.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Update; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandFactory` and `Subcommand` [INFO] [stdout] --> src/cli/args.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use clap::{Parser, Subcommand, CommandFactory, ValueHint}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `to_pathbuf` [INFO] [stdout] --> src/cli/args.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `NoSubCommand` [INFO] [stdout] --> src/utils/error.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | use GitError::{InvalidCommand, FileNotFound, NoSubCommand}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Index` [INFO] [stdout] --> src/utils/fs.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | Index, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf`, `fmt`, and `fs::File` [INFO] [stdout] --> src/utils/hash.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | fmt, [INFO] [stdout] | ^^^ [INFO] [stdout] 3 | io::Read, [INFO] [stdout] 4 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | path::{PathBuf, Path} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/utils/hash.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/utils/zlib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/utils/zlib.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Read, Write, BufReader}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/utils/zlib.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/utils/index.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/utils/index.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::{File, OpenOptions}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Read` [INFO] [stdout] --> src/utils/index.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{Write, BufWriter, Read, BufReader, BufRead}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian` and `ReadBytesExt` [INFO] [stdout] --> src/utils/index.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use byteorder::{ReadBytesExt, BigEndian}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha1` [INFO] [stdout] --> src/utils/index.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `take_until` [INFO] [stdout] --> src/utils/index.rs:7:34 [INFO] [stdout] | [INFO] [stdout] 7 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat_n` [INFO] [stdout] --> src/utils/index.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::iter::repeat_n; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Seek` [INFO] [stdout] --> src/utils/index.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | use std::io::Seek; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/objtype.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | path::PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/utils/objtype.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Result [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `space1`, `take_until`, `take`, `u32`, and `value` [INFO] [stdout] --> src/utils/objtype.rs:22:28 [INFO] [stdout] | [INFO] [stdout] 22 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^ [INFO] [stdout] 23 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | character::complete::{digit1, space1, u32, alpha1}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | preceded, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | map, map_res, eof, value [INFO] [stdout] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/blob.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | path::PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `digit1`, `many1`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `separated_pair`, `space1`, `u32`, and `value` [INFO] [stdout] --> src/utils/tree.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | character::complete::{alpha1, digit1, space1, u32}, [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^^^ ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | preceded, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | separated_pair, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | many1, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | map, map_res, eof, value, [INFO] [stdout] | ^^^ ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_object` [INFO] [stdout] --> src/utils/tree.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | read_object, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/commit.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | path::PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `branch::alt`, `digit1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `separated_pair`, `space1`, `take`, `u32`, and `value` [INFO] [stdout] --> src/utils/commit.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | tag, take, take_until, take_while, [INFO] [stdout] | ^^^^ [INFO] [stdout] 26 | }, [INFO] [stdout] 27 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | character::complete::{digit1, space1, u32, alpha1, }, [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | separated_pair, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 33 | }, [INFO] [stdout] 34 | branch::alt, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | combinator::{ [INFO] [stdout] 36 | map, map_res, eof, value, opt [INFO] [stdout] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `copy`, `fs`, `mem`, `read_dir`, and `self` [INFO] [stdout] --> src/utils/test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | mem, [INFO] [stdout] | ^^^ [INFO] [stdout] 4 | io::{ [INFO] [stdout] 5 | self, [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | }, [INFO] [stdout] 8 | fs, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | fs::{ [INFO] [stdout] 10 | read_dir, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | copy, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/utils/test.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `commit::Commit`, `fs::read_file_as_bytes`, and `objtype::Obj` [INFO] [stdout] --> src/utils/refs.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 6 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | objtype::Obj, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/utils/protocol.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/utils/packfile.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Cursor, Read, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Path` and `iter::once` [INFO] [stdout] --> src/command/add.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | Path, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | iter::once, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/add.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Either` [INFO] [stdout] --> src/command/add.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use itertools::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GitError`, `IndexEntry`, `objtype::ObjType`, `read_file_as_bytes`, `tree::FileMode`, and `write_object` [INFO] [stdout] --> src/command/add.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | objtype::ObjType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | IndexEntry, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | write_object, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 24 | read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | tree::FileMode, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/branch.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `write_ref_commit` [INFO] [stdout] --> src/command/branch.rs:8:51 [INFO] [stdout] | [INFO] [stdout] 8 | utils::refs::{read_head_ref, read_ref_commit, write_ref_commit}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/checkout.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `read_head_commit` and `write_ref_commit` [INFO] [stdout] --> src/command/checkout.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | write_ref_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | write_head_commit, [INFO] [stdout] 17 | read_head_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `write_object` [INFO] [stdout] --> src/command/checkout.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | write_object, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command` and `Subcommand` [INFO] [stdout] --> src/command/commit.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand, Command}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `Write`, and `self` [INFO] [stdout] --> src/command/commit.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Write, Cursor}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Command as ProcessCommand` [INFO] [stdout] --> src/command/commit.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::process::Command as ProcessCommand; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommitTree`, `hash::hash_object`, `index::Index`, and `tree::Tree` [INFO] [stdout] --> src/command/commit.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | WriteTree, CommitTree, UpdateRef [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 15 | index::Index, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::refs::*` [INFO] [stdout] --> src/command/fetch.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{GitError, Result, utils::refs::*}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::Into` [INFO] [stdout] --> src/command/init.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandFactory` and `Subcommand` [INFO] [stdout] --> src/command/init.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `Obj`, `blob::Blob`, `commit::Commit`, `decompress_file_as_bytes`, `decompress_file`, `fs::obj_to_pathbuf`, `parse_meta`, and `tree::Tree` [INFO] [stdout] --> src/command/init.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | decompress_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | }, [INFO] [stdout] 12 | fs::obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | objtype::{ [INFO] [stdout] 14 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | parse_meta, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 16 | Obj, [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | }, [INFO] [stdout] 18 | blob::Blob, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 19 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 20 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stdout] --> src/command/init.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] 31 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | IResult, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::write` [INFO] [stdout] --> src/command/merge.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/command/merge.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/merge.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChangeTag` and `TextDiff` [INFO] [stdout] --> src/command/merge.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use similar::{ChangeTag, TextDiff}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileMode`, `ObjType`, `compress_object`, `decompress_file`, `hash::hash_object`, `obj_to_pathbuf`, `read_file_as_bytes`, `test::shell_spawn`, and `write_branch_commit` [INFO] [stdout] --> src/command/merge.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | compress_object [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 23 | read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | objtype::{ [INFO] [stdout] 30 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | write_branch_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | FileMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | test::shell_spawn, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `commit` [INFO] [stdout] --> src/command/merge.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | commit, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `head_to_hash` [INFO] [stdout] --> src/command/pull.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::refs::{read_head_ref, head_to_hash}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Checkout` and `ReadTree` [INFO] [stdout] --> src/command/pull.rs:5:39 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{SubCommand, Fetch, Merge, Checkout, ReadTree}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/rm.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/rm.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | Path [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::Into` [INFO] [stdout] --> src/command/cat_file.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/cat_file.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `blob::Blob`, `commit::Commit`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stdout] --> src/command/cat_file.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | fs::{obj_to_pathbuf_legacy, obj_to_pathbuf}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 11 | objtype::{ [INFO] [stdout] 12 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | blob::Blob, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 17 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 18 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stdout] --> src/command/cat_file.rs:28:23 [INFO] [stdout] | [INFO] [stdout] 28 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] 29 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | IResult, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::write` [INFO] [stdout] --> src/command/hash_object.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/hash_object.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | Path, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/hash_object.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `Obj`, `commit::Commit`, `compress_object`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stdout] --> src/command/hash_object.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | compress_object [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | Obj, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 25 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/command/hash_object.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/update_index.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/update_index.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_git_dir` and `hash::hash_object` [INFO] [stdout] --> src/command/update_index.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | get_git_dir, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::TempDir` [INFO] [stdout] --> src/command/update_index.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use tempfile::TempDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/read_tree.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::index` [INFO] [stdout] --> src/command/read_tree.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `compress_object` [INFO] [stdout] --> src/command/read_tree.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fs::read_file_as_bytes` and `hash::hash_object` [INFO] [stdout] --> src/command/read_tree.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/write_tree.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs::read_file_as_bytes` [INFO] [stdout] --> src/command/write_tree.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/commit_tree.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `hash::hash_object` and `zlib::compress_object` [INFO] [stdout] --> src/command/commit_tree.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | zlib::compress_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/command/commit_tree.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/update_ref.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/update_ref.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::index` [INFO] [stdout] --> src/command/update_ref.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `compress_object` and `decompress_file_bytes` [INFO] [stdout] --> src/command/update_ref.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileMode`, `IndexEntry`, `Index`, `Tree`, `fs::read_file_as_bytes`, and `hash::hash_object` [INFO] [stdout] --> src/command/update_ref.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | index::{Index, IndexEntry}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] 13 | tree::{ [INFO] [stdout] 14 | Tree, [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | FileMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Read` [INFO] [stdout] --> src/utils/hash.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | io::Read, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/utils/index.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::Display` [INFO] [stdout] --> src/utils/objtype.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | fmt::Display, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidHash`, `InvalidBlob`, `InvalidTree`, `FailedToRmoveFile`, `BrokenCommitHistory`, and `NoSameAncestor` are never constructed [INFO] [stdout] --> src/utils/error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum GitError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 10 | InvalidCommand(String), [INFO] [stdout] 11 | InvalidHash(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 12 | InvalidBlob(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | InvalidTree(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | FailedToRmoveFile(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | BrokenCommitHistory(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | MergeConflict(String), [INFO] [stdout] 31 | NoSameAncestor(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GitError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] warning: associated functions `invalid_blob`, `invalid_hash`, and `invaild_path_encoding` are never used [INFO] [stdout] --> src/utils/error.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl GitError { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn invalid_blob(path: &str) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn invalid_hash(hash: &str) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn invaild_path_encoding(path: &str) -> Box{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `to_pathbuf` is never used [INFO] [stdout] --> src/utils/fs.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn to_pathbuf(slice: &str) -> std::result::Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `read_file_as_reader` is never used [INFO] [stdout] --> src/utils/fs.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn read_file_as_reader(file_path: &T) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `hash_file` is never used [INFO] [stdout] --> src/utils/hash.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn hash_file(path: &T) -> Result [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `decompress_file` is never used [INFO] [stdout] --> src/utils/zlib.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn decompress_file

(input_path: &P) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `compress_file` is never used [INFO] [stdout] --> src/utils/zlib.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn compress_file

(path: &P) -> Result> [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `time_it` is never used [INFO] [stdout] --> src/utils/test.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn time_it(func: F) -> crate::Result [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `shell_spawn` is never used [INFO] [stdout] --> src/utils/test.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn shell_spawn(command_list: &[&str]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `setup_test_git_dir` is never used [INFO] [stdout] --> src/utils/test.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn setup_test_git_dir() -> tempfile::TempDir { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `mktemp_in` is never used [INFO] [stdout] --> src/utils/test.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn mktemp_in(dir: T) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `touch_file_in` is never used [INFO] [stdout] --> src/utils/test.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn touch_file_in(dir: T) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `cp_dir` is never used [INFO] [stdout] --> src/utils/test.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn cp_dir(from: T, to: T) -> Result [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: type alias `Args` is never used [INFO] [stdout] --> src/utils/test.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 112 | pub type Args<'a> = &'a[&'a str]; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: type alias `ArgsList` is never used [INFO] [stdout] --> src/utils/test.rs:113:10 [INFO] [stdout] | [INFO] [stdout] 113 | pub type ArgsList<'a> = &'a[(Args<'a>, bool)]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `cmd_seq` is never used [INFO] [stdout] --> src/utils/test.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn cmd_seq<'a, 'b>(args_list: ArgsList<'a>) -> impl FnMut(Args<'b>) -> Result, String> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `run_both` is never used [INFO] [stdout] --> src/utils/test.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn run_both<'a>(cmds: ArgsList<'a>, git: Args, cargo: Args) -> Result<(Vec, Vec), String> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `read_head_commit` is never used [INFO] [stdout] --> src/utils/refs.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn read_head_commit(gitdir: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `write_branch_commit` is never used [INFO] [stdout] --> src/utils/refs.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn write_branch_commit(gitdir: &Path, branch: &str, hash: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: fields `hash`, `obj_type`, and `data` are never read [INFO] [stdout] --> src/utils/packfile.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 157 | struct PackfileObject { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 158 | hash: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 159 | obj_type: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 160 | data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PackfileObject` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: associated function `get_staged_file` is never used [INFO] [stdout] --> src/command/checkout.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 60 | impl Checkout { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 168 | fn get_staged_file(gitdir: &Path, path: &Path) -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: field `deleted_refs` is never read [INFO] [stdout] --> src/command/fetch.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct FetchResult { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | pub deleted_refs: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FetchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: method `copy_missing_objects` is never used [INFO] [stdout] --> src/command/fetch.rs:276:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl Fetch { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 276 | fn copy_missing_objects(&self, gitdir: &PathBuf, remote_gitdir: &PathBuf, commit_hash: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `fetch_specs` are never read [INFO] [stdout] --> src/command/fetch.rs:390:5 [INFO] [stdout] | [INFO] [stdout] 389 | struct RemoteConfig { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 390 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 391 | url: String, [INFO] [stdout] 392 | fetch_specs: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoteConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: field `new_commit` is never read [INFO] [stdout] --> src/command/push.rs:930:5 [INFO] [stdout] | [INFO] [stdout] 926 | struct PushInfo { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 930 | new_commit: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PushInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: method `build_tree_content` is never used [INFO] [stdout] --> src/command/write_tree.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl WriteTree { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | fn build_tree_content(&self, index: &Index) -> Result>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: method `asshole` is never used [INFO] [stdout] --> src/command/commit_tree.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl CommitTree { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn asshole(self, gitdir: PathBuf) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: associated function `from_args` is never used [INFO] [stdout] --> src/command/update_ref.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl UpdateRef { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 30 | pub fn from_args(args: impl Iterator) -> Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/tree.rs:155:32 [INFO] [stdout] | [INFO] [stdout] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype> { [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] failed to write file: failed to write file: temp_c1J6kDPqsU.txt [INFO] [stdout] fast forward [INFO] [stdout] Fast-forward: target hash = 8441aff387cbbe642af3cd331344f52dc2c434df [INFO] [stdout] Fast-forward: updating working directory to new_branch [INFO] [stdout] Failed to write file [INFO] [stdout] Checkout failed: failed to write file: failed to write file: temp_c1J6kDPqsU.txt [INFO] [stdout] [INFO] [stdout] cmd: cargo run --quiet -- -C /tmp/.tmp1iscQx merge new_branch output: Err("") [INFO] [stdout] [INFO] [stdout] thread 'command::merge::test::test_fast_forward' (269) panicked at src/command/merge.rs:481:49: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: "" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5b2c33f33252 - std::backtrace_rs::backtrace::libunwind::trace::h52580dd202462214 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5b2c33f33252 - std::backtrace_rs::backtrace::trace_unsynchronized::hc969519abce0f52b [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5b2c33f33252 - std::sys::backtrace::_print_fmt::hfd5825900b6e0030 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5b2c33f33252 - ::fmt::h427144ad75cfb218 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5b2c33f44c7f - core::fmt::rt::Argument::fmt::hd5ccc9cf97cea7f7 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5b2c33f44c7f - core::fmt::write::h593aaf5adf0f5dae [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5b2c33efbd51 - std::io::default_write_fmt::h305b5a0727055346 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5b2c33efbd51 - std::io::Write::write_fmt::h76f14a8a88733dc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5b2c33f0a482 - std::sys::backtrace::BacktraceLock::print::h3953113552dca3ca [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5b2c33f0fc3f - std::panicking::default_hook::{{closure}}::h486b96ad75eafbb8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5b2c33f0fad1 - std::panicking::default_hook::h99456317c5a1a20c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5b2c3392fdce - as core::ops::function::Fn>::call::h441e4551014e4cf8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x5b2c3392fdce - test::test_main_with_exit_callback::{{closure}}::hdbca54e17f1a00e4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5b2c33f103af - as core::ops::function::Fn>::call::h1e57b72c4e1d3045 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x5b2c33f103af - std::panicking::panic_with_hook::h67ab0df20212e4ea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5b2c33f1015a - std::panicking::panic_handler::{{closure}}::hc9e4a933ae92e208 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5b2c33f0a5c9 - std::sys::backtrace::__rust_end_short_backtrace::hbfa72df9b68c2d19 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5b2c33eee53d - __rustc[8cce077e14951490]::rust_begin_unwind [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5b2c33f4ddf0 - core::panicking::panic_fmt::h49931053d20abf41 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5b2c33f4d2f6 - core::result::unwrap_failed::h7f5a2d4cf85d933f [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/result.rs:1854:5 [INFO] [stdout] 20: 0x5b2c3381bc49 - core::result::Result::unwrap::hb1d204da80d52f0e [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/result.rs:1225:23 [INFO] [stdout] 21: 0x5b2c3381bc49 - git::command::merge::test::test_fast_forward::hbc92928aa7df9fe6 [INFO] [stdout] at /opt/rustwide/workdir/src/command/merge.rs:481:49 [INFO] [stdout] 22: 0x5b2c3381c557 - git::command::merge::test::test_fast_forward::{{closure}}::ha1ea49517a51a03d [INFO] [stdout] at /opt/rustwide/workdir/src/command/merge.rs:444:27 [INFO] [stdout] 23: 0x5b2c3384e376 - core::ops::function::FnOnce::call_once::h1505d5052b3eeda7 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5b2c3392fb8b - core::ops::function::FnOnce::call_once::h5d9016d521f5aee4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x5b2c3392fb8b - test::__rust_begin_short_backtrace::h123fcee610330442 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5b2c33945675 - test::run_test_in_process::{{closure}}::h0442efda2e6359b2 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5b2c33945675 - as core::ops::function::FnOnce<()>>::call_once::hfe3528c8dd09682c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x5b2c33945675 - std::panicking::catch_unwind::do_call::hb1659f7844fe8531 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x5b2c33945675 - std::panicking::catch_unwind::hdc1f4be0019e72ad [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x5b2c33945675 - std::panic::catch_unwind::hd6d7ccfa4513e770 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5b2c33945675 - test::run_test_in_process::h6bbb839ed0802366 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5b2c33945675 - test::run_test::{{closure}}::he4fad7398c8acc11 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5b2c3391bfe4 - test::run_test::{{closure}}::h41975797e198d26c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5b2c3391bfe4 - std::sys::backtrace::__rust_begin_short_backtrace::hfb46c397857336f1 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hddf826a64f532bea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x5b2c3391f98a - as core::ops::function::FnOnce<()>>::call_once::hc3518c3eab91aeb3 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x5b2c3391f98a - std::panicking::catch_unwind::do_call::h7bf3ad6dc012415a [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x5b2c3391f98a - std::panicking::catch_unwind::h8b88f0375c767e36 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x5b2c3391f98a - std::panic::catch_unwind::h66cb5d61a90f7bc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::h65bc9d15fb966bbd [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x5b2c3391f98a - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8d2c9a8796342e5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x5b2c33f0438f - as core::ops::function::FnOnce>::call_once::hef12b47e5c033835 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 43: 0x5b2c33f0438f - std::sys::pal::unix::thread::Thread::new::thread_start::h135087e7c97657bc [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 44: 0x7295d7de9aa4 - [INFO] [stdout] 45: 0x7295d7e76a34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- command::update_index::tests::test_with_multi_add stdout ---- [INFO] [stdout] Command 'cargo run -- -C /tmp/.tmpmF2OvM update-index --add /tmp/.tmpmF2OvM/temp_uoelxhW5nw.txt /tmp/.tmpmF2OvM/temp_IskZI2K1sm.txt /tmp/.tmpmF2OvM/temp_1T8Ne54kDM.txt /tmp/.tmpmF2OvM/temp_2a4EJUfRa3.txt /tmp/.tmpmF2OvM/temp_2Dl4L4uuJ7.txt /tmp/.tmpmF2OvM/temp_3P06wrW5MG.txt /tmp/.tmpmF2OvM/temp_jYt2igNErg.txt /tmp/.tmpmF2OvM/temp_z42ud7kR9F.txt /tmp/.tmpmF2OvM/temp_CoK8tOShUU.txt /tmp/.tmpmF2OvM/temp_KvFKBzLPD4.txt /tmp/.tmpmF2OvM/temp_1G3S897oyi.txt /tmp/.tmpmF2OvM/temp_8n06vVLv3G.txt /tmp/.tmpmF2OvM/temp_OCH1TG3iIR.txt /tmp/.tmpmF2OvM/temp_wEfxxpjHCk.txt /tmp/.tmpmF2OvM/temp_KrFKWleJdL.txt /tmp/.tmpmF2OvM/temp_2XFa1kudPS.txt /tmp/.tmpmF2OvM/temp_lYv2b3MPXc.txt /tmp/.tmpmF2OvM/temp_vmZjBBNmZ3.txt /tmp/.tmpmF2OvM/temp_u8RnrVwo1W.txt /tmp/.tmpmF2OvM/temp_S6GtqFhagr.txt /tmp/.tmpmF2OvM/temp_yJho7rdTnz.txt /tmp/.tmpmF2OvM/temp_XedwAAsldO.txt /tmp/.tmpmF2OvM/temp_lQG9oyVZL3.txt /tmp/.tmpmF2OvM/temp_TY6EcCqlwM.txt /tmp/.tmpmF2OvM/temp_7vmH84US2O.txt /tmp/.tmpmF2OvM/temp_5UajmowrWG.txt /tmp/.tmpmF2OvM/temp_si8f65B95n.txt /tmp/.tmpmF2OvM/temp_2w40B59Hy3.txt /tmp/.tmpmF2OvM/temp_6AG6euhYyW.txt /tmp/.tmpmF2OvM/temp_PcKMzeu0PI.txt /tmp/.tmpmF2OvM/temp_u949GoELs7.txt /tmp/.tmpmF2OvM/temp_cdMdNZJFOn.txt /tmp/.tmpmF2OvM/temp_k7R2VmlY45.txt /tmp/.tmpmF2OvM/temp_Be91Hce9o4.txt /tmp/.tmpmF2OvM/temp_85FaIbOJPa.txt /tmp/.tmpmF2OvM/temp_WLcjKNNGRf.txt /tmp/.tmpmF2OvM/temp_WGlYezXimu.txt /tmp/.tmpmF2OvM/temp_3pcEt4Gr28.txt /tmp/.tmpmF2OvM/temp_DMrwXD4ZqO.txt /tmp/.tmpmF2OvM/temp_agdSrCYHMn.txt /tmp/.tmpmF2OvM/temp_NnTfTRH9Qx.txt /tmp/.tmpmF2OvM/temp_iHLy90KNQD.txt /tmp/.tmpmF2OvM/temp_k28Z4MnYDN.txt /tmp/.tmpmF2OvM/temp_SEv8ni4RFt.txt /tmp/.tmpmF2OvM/temp_rsSUcFM3I8.txt /tmp/.tmpmF2OvM/temp_SmPmrCEW1C.txt /tmp/.tmpmF2OvM/temp_nr3MEe4Odf.txt /tmp/.tmpmF2OvM/temp_JHmpS9jYQB.txt /tmp/.tmpmF2OvM/temp_H2Q0sPHzfv.txt /tmp/.tmpmF2OvM/temp_R2BA2pgJsG.txt /tmp/.tmpmF2OvM/temp_pkjRG8jqBy.txt /tmp/.tmpmF2OvM/temp_mCE5KsF1dj.txt /tmp/.tmpmF2OvM/temp_IaeRgh3qab.txt /tmp/.tmpmF2OvM/temp_Rm3vA9DyvK.txt /tmp/.tmpmF2OvM/temp_gg2RmKvym7.txt /tmp/.tmpmF2OvM/temp_tDe3IoMz93.txt /tmp/.tmpmF2OvM/temp_FC5qyoE8Wg.txt /tmp/.tmpmF2OvM/temp_fwmsMLxGCh.txt /tmp/.tmpmF2OvM/temp_RrgSsl1pDL.txt /tmp/.tmpmF2OvM/temp_FhQnyjr0yH.txt /tmp/.tmpmF2OvM/temp_6KSw7vyHdE.txt /tmp/.tmpmF2OvM/temp_EgQsb0VjNO.txt /tmp/.tmpmF2OvM/temp_wFpODaJ83F.txt /tmp/.tmpmF2OvM/temp_CT60HrmoCF.txt /tmp/.tmpmF2OvM/temp_j43a0tjum5.txt /tmp/.tmpmF2OvM/temp_ScqJrbp7iK.txt /tmp/.tmpmF2OvM/temp_dwilqolzN4.txt /tmp/.tmpmF2OvM/temp_Tsv2dLR4kw.txt /tmp/.tmpmF2OvM/temp_TvUpEVCMoF.txt /tmp/.tmpmF2OvM/temp_GzYb6LQrru.txt /tmp/.tmpmF2OvM/temp_qMZYUze2uV.txt /tmp/.tmpmF2OvM/temp_RinN1SDN34.txt /tmp/.tmpmF2OvM/temp_Kv1K1c4y9O.txt /tmp/.tmpmF2OvM/temp_3QG74siCm2.txt /tmp/.tmpmF2OvM/temp_UVcy9lyLPE.txt /tmp/.tmpmF2OvM/temp_iDtvmkCQxe.txt /tmp/.tmpmF2OvM/temp_JJAX7Yi131.txt /tmp/.tmpmF2OvM/temp_PYbXlKghVX.txt /tmp/.tmpmF2OvM/temp_wZWpSOHLxF.txt /tmp/.tmpmF2OvM/temp_lEP4KMb9YJ.txt /tmp/.tmpmF2OvM/temp_i9cdL0VFfI.txt /tmp/.tmpmF2OvM/temp_yrheOOJFee.txt /tmp/.tmpmF2OvM/temp_AZaaXc6Xqp.txt /tmp/.tmpmF2OvM/temp_YRLu5fuB8t.txt /tmp/.tmpmF2OvM/temp_e9zj6bdXZT.txt /tmp/.tmpmF2OvM/temp_zYZAL1C6Xe.txt /tmp/.tmpmF2OvM/temp_nQJeIFJan9.txt /tmp/.tmpmF2OvM/temp_Yy5Y32LsXc.txt /tmp/.tmpmF2OvM/temp_WTKX51xjqt.txt /tmp/.tmpmF2OvM/temp_GFEi8MSW15.txt /tmp/.tmpmF2OvM/temp_oFstUbqDa9.txt /tmp/.tmpmF2OvM/temp_968n1wcbAT.txt /tmp/.tmpmF2OvM/temp_qO3YXUSiyf.txt /tmp/.tmpmF2OvM/temp_S0U6VETH5x.txt /tmp/.tmpmF2OvM/temp_aiFs1IRvL5.txt /tmp/.tmpmF2OvM/temp_r0yOLVEnDa.txt /tmp/.tmpmF2OvM/temp_suKvXJmosS.txt /tmp/.tmpmF2OvM/temp_dbXwkapxKa.txt /tmp/.tmpmF2OvM/temp_U7ljquzxFM.txt' failed with exit code: Some(1), output: error: Unable to proceed. Could not locate working directory.: No such file or directory (os error 2) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] thread 'command::update_index::tests::test_with_multi_add' (594) panicked at src/command/update_index.rs:312:35: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: "" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5b2c33f33252 - std::backtrace_rs::backtrace::libunwind::trace::h52580dd202462214 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5b2c33f33252 - std::backtrace_rs::backtrace::trace_unsynchronized::hc969519abce0f52b [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5b2c33f33252 - std::sys::backtrace::_print_fmt::hfd5825900b6e0030 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5b2c33f33252 - ::fmt::h427144ad75cfb218 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5b2c33f44c7f - core::fmt::rt::Argument::fmt::hd5ccc9cf97cea7f7 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5b2c33f44c7f - core::fmt::write::h593aaf5adf0f5dae [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5b2c33efbd51 - std::io::default_write_fmt::h305b5a0727055346 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5b2c33efbd51 - std::io::Write::write_fmt::h76f14a8a88733dc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5b2c33f0a482 - std::sys::backtrace::BacktraceLock::print::h3953113552dca3ca [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5b2c33f0fc3f - std::panicking::default_hook::{{closure}}::h486b96ad75eafbb8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5b2c33f0fad1 - std::panicking::default_hook::h99456317c5a1a20c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5b2c3392fdce - as core::ops::function::Fn>::call::h441e4551014e4cf8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x5b2c3392fdce - test::test_main_with_exit_callback::{{closure}}::hdbca54e17f1a00e4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5b2c33f103af - as core::ops::function::Fn>::call::h1e57b72c4e1d3045 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x5b2c33f103af - std::panicking::panic_with_hook::h67ab0df20212e4ea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5b2c33f1015a - std::panicking::panic_handler::{{closure}}::hc9e4a933ae92e208 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5b2c33f0a5c9 - std::sys::backtrace::__rust_end_short_backtrace::hbfa72df9b68c2d19 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5b2c33eee53d - __rustc[8cce077e14951490]::rust_begin_unwind [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5b2c33f4ddf0 - core::panicking::panic_fmt::h49931053d20abf41 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5b2c33f4d2f6 - core::result::unwrap_failed::h7f5a2d4cf85d933f [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/result.rs:1854:5 [INFO] [stdout] 20: 0x5b2c338c8e85 - core::result::Result::unwrap::h2df15aca84c2dfd2 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/result.rs:1225:23 [INFO] [stdout] 21: 0x5b2c338c8e85 - git::command::update_index::tests::test_with_multi_add::heba4dd45d9c4664c [INFO] [stdout] at /opt/rustwide/workdir/src/command/update_index.rs:312:35 [INFO] [stdout] 22: 0x5b2c338c9207 - git::command::update_index::tests::test_with_multi_add::{{closure}}::h51549bb315725e14 [INFO] [stdout] at /opt/rustwide/workdir/src/command/update_index.rs:301:29 [INFO] [stdout] 23: 0x5b2c3384f566 - core::ops::function::FnOnce::call_once::hdf13de460e6c8a71 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5b2c3392fb8b - core::ops::function::FnOnce::call_once::h5d9016d521f5aee4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x5b2c3392fb8b - test::__rust_begin_short_backtrace::h123fcee610330442 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5b2c33945675 - test::run_test_in_process::{{closure}}::h0442efda2e6359b2 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5b2c33945675 - as core::ops::function::FnOnce<()>>::call_once::hfe3528c8dd09682c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x5b2c33945675 - std::panicking::catch_unwind::do_call::hb1659f7844fe8531 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x5b2c33945675 - std::panicking::catch_unwind::hdc1f4be0019e72ad [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x5b2c33945675 - std::panic::catch_unwind::hd6d7ccfa4513e770 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5b2c33945675 - test::run_test_in_process::h6bbb839ed0802366 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5b2c33945675 - test::run_test::{{closure}}::he4fad7398c8acc11 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5b2c3391bfe4 - test::run_test::{{closure}}::h41975797e198d26c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5b2c3391bfe4 - std::sys::backtrace::__rust_begin_short_backtrace::hfb46c397857336f1 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hddf826a64f532bea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x5b2c3391f98a - as core::ops::function::FnOnce<()>>::call_once::hc3518c3eab91aeb3 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x5b2c3391f98a - std::panicking::catch_unwind::do_call::h7bf3ad6dc012415a [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x5b2c3391f98a - std::panicking::catch_unwind::h8b88f0375c767e36 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x5b2c3391f98a - std::panic::catch_unwind::h66cb5d61a90f7bc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::h65bc9d15fb966bbd [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x5b2c3391f98a - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8d2c9a8796342e5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x5b2c33f0438f - as core::ops::function::FnOnce>::call_once::hef12b47e5c033835 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 43: 0x5b2c33f0438f - std::sys::pal::unix::thread::Thread::new::thread_start::h135087e7c97657bc [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 44: 0x7295d7de9aa4 - [INFO] [stdout] 45: 0x7295d7e76a34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- command::hash_object::test::test_blob stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'command::hash_object::test::test_blob' (92) panicked at src/command/hash_object.rs:99:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391\n" [INFO] [stdout] right: "warning: unused import: `itertools::Update`\n --> src/cli/args.rs:1:5\n |\n1 | use itertools::Update;\n | ^^^^^^^^^^^^^^^^^\n |\n = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default\n\nwarning: unused imports: `CommandFactory` and `Subcommand`\n --> src/cli/args.rs:4:20\n |\n4 | use clap::{Parser, Subcommand, CommandFactory, ValueHint};\n | ^^^^^^^^^^ ^^^^^^^^^^^^^^\n\nwarning: unused import: `to_pathbuf`\n --> src/cli/args.rs:10:9\n |\n10 | to_pathbuf,\n | ^^^^^^^^^^\n\nwarning: unused import: `NoSubCommand`\n --> src/utils/error.rs:4:46\n |\n4 | use GitError::{InvalidCommand, FileNotFound, NoSubCommand};\n | ^^^^^^^^^^^^\n\nwarning: unused import: `Index`\n --> src/utils/fs.rs:26:9\n |\n26 | Index,\n | ^^^^^\n\nwarning: unused imports: `PathBuf`, `fmt`, and `fs::File`\n --> src/utils/hash.rs:2:5\n |\n2 | fmt,\n | ^^^\n3 | io::Read,\n4 | fs::File,\n | ^^^^^^^^\n5 | path::{PathBuf, Path}\n | ^^^^^^^\n\nwarning: unused import: `GitError`\n --> src/utils/hash.rs:15:5\n |\n15 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `std::fs::File`\n --> src/utils/zlib.rs:1:5\n |\n1 | use std::fs::File;\n | ^^^^^^^^^^^^^\n\nwarning: unused imports: `Write` and `self`\n --> src/utils/zlib.rs:3:15\n |\n3 | use std::io::{self, Read, Write, BufReader};\n | ^^^^ ^^^^^\n\nwarning: unused import: `GitError`\n --> src/utils/zlib.rs:14:5\n |\n14 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `PathBuf`\n --> src/utils/index.rs:1:17\n |\n1 | use std::path::{PathBuf,Path};\n | ^^^^^^^\n\nwarning: unused import: `File`\n --> src/utils/index.rs:2:15\n |\n2 | use std::fs::{File, OpenOptions};\n | ^^^^\n\nwarning: unused imports: `BufRead`, `BufReader`, and `Read`\n --> src/utils/index.rs:3:33\n |\n3 | use std::io::{Write, BufWriter, Read, BufReader, BufRead};\n | ^^^^ ^^^^^^^^^ ^^^^^^^\n\nwarning: unused imports: `BigEndian` and `ReadBytesExt`\n --> src/utils/index.rs:4:17\n |\n4 | use byteorder::{ReadBytesExt, BigEndian};\n | ^^^^^^^^^^^^ ^^^^^^^^^\n\nwarning: unused import: `Sha1`\n --> src/utils/index.rs:5:12\n |\n5 | use sha1::{Sha1, Digest};\n | ^^^^\n\nwarning: unused import: `take_until`\n --> src/utils/index.rs:7:34\n |\n7 | bytes::complete::{tag, take, take_until},\n | ^^^^^^^^^^\n\nwarning: unused import: `std::iter::repeat_n`\n --> src/utils/index.rs:11:5\n |\n11 | use std::iter::repeat_n;\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `std::io::Seek`\n --> src/utils/index.rs:64:13\n |\n64 | use std::io::Seek;\n | ^^^^^^^^^^^^^\n\nwarning: unused import: `path::PathBuf`\n --> src/utils/objtype.rs:6:5\n |\n6 | path::PathBuf,\n | ^^^^^^^^^^^^^\n\nwarning: unused import: `Result`\n --> src/utils/objtype.rs:16:9\n |\n16 | Result\n | ^^^^^^\n\nwarning: unused imports: `alpha1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `space1`, `take_until`, `take`, `u32`, and `value`\n --> src/utils/objtype.rs:22:28\n |\n22 | bytes::complete::{tag, take, take_until},\n | ^^^^ ^^^^^^^^^^\n23 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n24 | character::complete::{digit1, space1, u32, alpha1},\n | ^^^^^^ ^^^ ^^^^^^\n...\n27 | preceded,\n | ^^^^^^^^\n...\n32 | map, map_res, eof, value\n | ^^^ ^^^^^^^ ^^^ ^^^^^\n\nwarning: unused import: `path::PathBuf`\n --> src/utils/blob.rs:10:5\n |\n10 | path::PathBuf\n | ^^^^^^^^^^^^^\n\nwarning: unused imports: `alpha1`, `digit1`, `many1`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `separated_pair`, `space1`, `u32`, and `value`\n --> src/utils/tree.rs:27:5\n |\n27 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n28 | character::complete::{alpha1, digit1, space1, u32},\n | ^^^^^^ ^^^^^^ ^^^^^^ ^^^\n...\n31 | preceded,\n | ^^^^^^^^\n32 | separated_pair,\n | ^^^^^^^^^^^^^^\n...\n36 | many1,\n | ^^^^^\n...\n39 | map, map_res, eof, value,\n | ^^^ ^^^^^^^ ^^^^^\n\nwarning: unused import: `read_object`\n --> src/utils/tree.rs:53:9\n |\n53 | read_object,\n | ^^^^^^^^^^^\n\nwarning: unused import: `path::PathBuf`\n --> src/utils/commit.rs:6:5\n |\n6 | path::PathBuf\n | ^^^^^^^^^^^^^\n\nwarning: unused imports: `alpha1`, `branch::alt`, `digit1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `separated_pair`, `space1`, `take`, `u32`, and `value`\n --> src/utils/commit.rs:25:14\n |\n25 | tag, take, take_until, take_while,\n | ^^^^\n26 | },\n27 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n28 | character::complete::{digit1, space1, u32, alpha1, },\n | ^^^^^^ ^^^^^^ ^^^ ^^^^^^\n...\n32 | separated_pair,\n | ^^^^^^^^^^^^^^\n33 | },\n34 | branch::alt,\n | ^^^^^^^^^^^\n35 | combinator::{\n36 | map, map_res, eof, value, opt\n | ^^^ ^^^^^^^ ^^^ ^^^^^\n\nwarning: unused imports: `Write`, `copy`, `fs`, `mem`, `read_dir`, and `self`\n --> src/utils/test.rs:3:5\n |\n 3 | mem,\n | ^^^\n 4 | io::{\n 5 | self,\n | ^^^^\n 6 | Write,\n | ^^^^^\n 7 | },\n 8 | fs,\n | ^^\n 9 | fs::{\n10 | read_dir,\n | ^^^^^^^^\n11 | copy,\n | ^^^^\n\nwarning: unused import: `error`\n --> src/utils/test.rs:26:5\n |\n26 | error,\n | ^^^^^\n\nwarning: unused imports: `commit::Commit`, `fs::read_file_as_bytes`, and `objtype::Obj`\n --> src/utils/refs.rs:5:9\n |\n5 | commit::Commit,\n | ^^^^^^^^^^^^^^\n6 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n7 | objtype::Obj,\n | ^^^^^^^^^^^^\n\nwarning: unused import: `std::collections::HashMap`\n --> src/utils/protocol.rs:1:5\n |\n1 | use std::collections::HashMap;\n | ^^^^^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `Write` and `self`\n --> src/utils/packfile.rs:5:15\n |\n5 | use std::io::{self, Cursor, Read, Write};\n | ^^^^ ^^^^^\n\nwarning: unused imports: `Path` and `iter::once`\n --> src/command/add.rs:4:9\n |\n4 | Path,\n | ^^^^\n...\n7 | iter::once,\n | ^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/add.rs:9:20\n |\n9 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `itertools::Either`\n --> src/command/add.rs:10:5\n |\n10 | use itertools::Either;\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `GitError`, `IndexEntry`, `objtype::ObjType`, `read_file_as_bytes`, `tree::FileMode`, and `write_object`\n --> src/command/add.rs:13:5\n |\n13 | GitError,\n | ^^^^^^^^\n...\n16 | objtype::ObjType,\n | ^^^^^^^^^^^^^^^^\n...\n19 | IndexEntry,\n | ^^^^^^^^^^\n...\n23 | write_object,\n | ^^^^^^^^^^^^\n24 | read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^\n...\n28 | tree::FileMode,\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/branch.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `write_ref_commit`\n --> src/command/branch.rs:8:51\n |\n8 | utils::refs::{read_head_ref, read_ref_commit, write_ref_commit},\n | ^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/checkout.rs:6:20\n |\n6 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `read_head_commit` and `write_ref_commit`\n --> src/command/checkout.rs:15:9\n |\n15 | write_ref_commit,\n | ^^^^^^^^^^^^^^^^\n16 | write_head_commit,\n17 | read_head_commit,\n | ^^^^^^^^^^^^^^^^\n\nwarning: unused import: `write_object`\n --> src/command/checkout.rs:41:9\n |\n41 | write_object,\n | ^^^^^^^^^^^^\n\nwarning: unused imports: `Command` and `Subcommand`\n --> src/command/commit.rs:2:20\n |\n2 | use clap::{Parser, Subcommand, Command};\n | ^^^^^^^^^^ ^^^^^^^\n\nwarning: unused imports: `Cursor`, `Write`, and `self`\n --> src/command/commit.rs:3:15\n |\n3 | use std::io::{self, Write, Cursor};\n | ^^^^ ^^^^^ ^^^^^^\n\nwarning: unused import: `std::process::Command as ProcessCommand`\n --> src/command/commit.rs:4:5\n |\n4 | use std::process::Command as ProcessCommand;\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `CommitTree`, `hash::hash_object`, `index::Index`, and `tree::Tree`\n --> src/command/commit.rs:10:20\n |\n10 | WriteTree, CommitTree, UpdateRef\n | ^^^^^^^^^^\n...\n14 | tree::Tree,\n | ^^^^^^^^^^\n15 | index::Index,\n | ^^^^^^^^^^^^\n...\n20 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `utils::refs::*`\n --> src/command/fetch.rs:4:31\n |\n4 | use crate::{GitError, Result, utils::refs::*};\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `std::convert::Into`\n --> src/command/init.rs:3:5\n |\n3 | use std::convert::Into;\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `CommandFactory` and `Subcommand`\n --> src/command/init.rs:5:20\n |\n5 | use clap::{Parser, Subcommand, CommandFactory};\n | ^^^^^^^^^^ ^^^^^^^^^^^^^^\n\nwarning: unused imports: `ObjType`, `Obj`, `blob::Blob`, `commit::Commit`, `decompress_file_as_bytes`, `decompress_file`, `fs::obj_to_pathbuf`, `parse_meta`, and `tree::Tree`\n --> src/command/init.rs:9:9\n |\n 9 | decompress_file,\n | ^^^^^^^^^^^^^^^\n10 | decompress_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n11 | },\n12 | fs::obj_to_pathbuf,\n | ^^^^^^^^^^^^^^^^^^\n13 | objtype::{\n14 | ObjType,\n | ^^^^^^^\n15 | parse_meta,\n | ^^^^^^^^^^\n16 | Obj,\n | ^^^\n17 | },\n18 | blob::Blob,\n | ^^^^^^^^^^\n19 | tree::Tree,\n | ^^^^^^^^^^\n20 | commit::Commit,\n | ^^^^^^^^^^^^^^\n\nwarning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take`\n --> src/command/init.rs:30:23\n |\n30 | bytes::complete::{tag, take, take_until},\n | ^^^ ^^^^ ^^^^^^^^^^\n31 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n32 | IResult,\n | ^^^^^^^\n\nwarning: unused import: `std::fs::write`\n --> src/command/merge.rs:1:5\n |\n1 | use std::fs::write;\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `std::io`\n --> src/command/merge.rs:3:5\n |\n3 | use std::io;\n | ^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/merge.rs:9:20\n |\n9 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `ChangeTag` and `TextDiff`\n --> src/command/merge.rs:11:15\n |\n11 | use similar::{ChangeTag, TextDiff};\n | ^^^^^^^^^ ^^^^^^^^\n\nwarning: unused imports: `FileMode`, `ObjType`, `compress_object`, `decompress_file`, `hash::hash_object`, `obj_to_pathbuf`, `read_file_as_bytes`, `test::shell_spawn`, and `write_branch_commit`\n --> src/command/merge.rs:18:9\n |\n18 | decompress_file,\n | ^^^^^^^^^^^^^^^\n19 | compress_object\n | ^^^^^^^^^^^^^^^\n...\n22 | obj_to_pathbuf,\n | ^^^^^^^^^^^^^^\n23 | read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^\n...\n28 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n29 | objtype::{\n30 | ObjType,\n | ^^^^^^^\n...\n37 | write_branch_commit,\n | ^^^^^^^^^^^^^^^^^^^\n...\n49 | FileMode,\n | ^^^^^^^^\n...\n53 | test::shell_spawn,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `commit`\n --> src/command/merge.rs:57:5\n |\n57 | commit,\n | ^^^^^^\n\nwarning: unused import: `head_to_hash`\n --> src/command/pull.rs:4:41\n |\n4 | use crate::utils::refs::{read_head_ref, head_to_hash};\n | ^^^^^^^^^^^^\n\nwarning: unused imports: `Checkout` and `ReadTree`\n --> src/command/pull.rs:5:39\n |\n5 | use super::{SubCommand, Fetch, Merge, Checkout, ReadTree};\n | ^^^^^^^^ ^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/rm.rs:1:20\n |\n1 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/rm.rs:6:9\n |\n6 | Path\n | ^^^^\n\nwarning: unused import: `std::convert::Into`\n --> src/command/cat_file.rs:2:5\n |\n2 | use std::convert::Into;\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/cat_file.rs:3:20\n |\n3 | use clap::{Parser, Subcommand, CommandFactory};\n | ^^^^^^^^^^\n\nwarning: unused imports: `ObjType`, `blob::Blob`, `commit::Commit`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree`\n --> src/command/cat_file.rs:7:9\n |\n 7 | decompress_file,\n | ^^^^^^^^^^^^^^^\n...\n10 | fs::{obj_to_pathbuf_legacy, obj_to_pathbuf},\n | ^^^^^^^^^^^^^^\n11 | objtype::{\n12 | ObjType,\n | ^^^^^^^\n...\n16 | blob::Blob,\n | ^^^^^^^^^^\n17 | tree::Tree,\n | ^^^^^^^^^^\n18 | commit::Commit,\n | ^^^^^^^^^^^^^^\n\nwarning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take`\n --> src/command/cat_file.rs:28:23\n |\n28 | bytes::complete::{tag, take, take_until},\n | ^^^ ^^^^ ^^^^^^^^^^\n29 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n30 | IResult,\n | ^^^^^^^\n\nwarning: unused import: `std::fs::write`\n --> src/command/hash_object.rs:1:5\n |\n1 | use std::fs::write;\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/hash_object.rs:3:5\n |\n3 | Path,\n | ^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/hash_object.rs:6:20\n |\n6 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `ObjType`, `Obj`, `commit::Commit`, `compress_object`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree`\n --> src/command/hash_object.rs:10:9\n |\n10 | decompress_file,\n | ^^^^^^^^^^^^^^^\n11 | compress_object\n | ^^^^^^^^^^^^^^^\n...\n14 | obj_to_pathbuf,\n | ^^^^^^^^^^^^^^\n...\n20 | ObjType,\n | ^^^^^^^\n21 | Obj,\n | ^^^\n...\n24 | tree::Tree,\n | ^^^^^^^^^^\n25 | commit::Commit,\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `GitError`\n --> src/command/hash_object.rs:29:5\n |\n29 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/update_index.rs:1:25\n |\n1 | use std::path::{PathBuf,Path};\n | ^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/update_index.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `get_git_dir` and `hash::hash_object`\n --> src/command/update_index.rs:10:9\n |\n10 | get_git_dir,\n | ^^^^^^^^^^^\n...\n14 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `tempfile::TempDir`\n --> src/command/update_index.rs:19:5\n |\n19 | use tempfile::TempDir;\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/read_tree.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `crate::utils::index`\n --> src/command/read_tree.rs:3:5\n |\n3 | use crate::utils::index;\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `compress_object`\n --> src/command/read_tree.rs:4:26\n |\n4 | use crate::utils::zlib::{compress_object, decompress_file_bytes};\n | ^^^^^^^^^^^^^^^\n\nwarning: unused imports: `fs::read_file_as_bytes` and `hash::hash_object`\n --> src/command/read_tree.rs:10:5\n |\n10 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n11 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/write_tree.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `fs::read_file_as_bytes`\n --> src/command/write_tree.rs:8:5\n |\n8 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/commit_tree.rs:4:20\n |\n4 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `hash::hash_object` and `zlib::compress_object`\n --> src/command/commit_tree.rs:6:5\n |\n6 | zlib::compress_object,\n | ^^^^^^^^^^^^^^^^^^^^^\n7 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `GitError`\n --> src/command/commit_tree.rs:12:5\n |\n12 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/update_ref.rs:1:25\n |\n1 | use std::path::{PathBuf,Path};\n | ^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/update_ref.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `crate::utils::index`\n --> src/command/update_ref.rs:3:5\n |\n3 | use crate::utils::index;\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `compress_object` and `decompress_file_bytes`\n --> src/command/update_ref.rs:4:26\n |\n4 | use crate::utils::zlib::{compress_object, decompress_file_bytes};\n | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `FileMode`, `IndexEntry`, `Index`, `Tree`, `fs::read_file_as_bytes`, and `hash::hash_object`\n --> src/command/update_ref.rs:10:5\n |\n10 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n11 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n12 | index::{Index, IndexEntry},\n | ^^^^^ ^^^^^^^^^^\n13 | tree::{\n14 | Tree,\n | ^^^^\n15 | FileMode,\n | ^^^^^^^^\n\nwarning: unused import: `io::Read`\n --> src/utils/hash.rs:3:5\n |\n3 | io::Read,\n | ^^^^^^^^\n\nwarning: unused import: `Digest`\n --> src/utils/index.rs:5:18\n |\n5 | use sha1::{Sha1, Digest};\n | ^^^^^^\n\nwarning: unused import: `fmt::Display`\n --> src/utils/objtype.rs:7:5\n |\n7 | fmt::Display,\n | ^^^^^^^^^^^^\n\nwarning: variants `InvalidHash`, `InvalidBlob`, `InvalidTree`, `FailedToRmoveFile`, `BrokenCommitHistory`, and `NoSameAncestor` are never constructed\n --> src/utils/error.rs:11:5\n |\n 9 | pub enum GitError {\n | -------- variants in this enum\n10 | InvalidCommand(String),\n11 | InvalidHash(String),\n | ^^^^^^^^^^^\n12 | InvalidBlob(String),\n | ^^^^^^^^^^^\n...\n15 | InvalidTree(String),\n | ^^^^^^^^^^^\n...\n28 | FailedToRmoveFile(String),\n | ^^^^^^^^^^^^^^^^^\n29 | BrokenCommitHistory(String),\n | ^^^^^^^^^^^^^^^^^^^\n30 | MergeConflict(String),\n31 | NoSameAncestor(String),\n | ^^^^^^^^^^^^^^\n |\n = note: `GitError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis\n = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default\n\nwarning: associated functions `invalid_blob`, `invalid_hash`, and `invaild_path_encoding` are never used\n --> src/utils/error.rs:135:12\n |\n 36 | impl GitError {\n | ------------- associated functions in this implementation\n...\n135 | pub fn invalid_blob(path: &str) -> Box {\n | ^^^^^^^^^^^^\n...\n141 | pub fn invalid_hash(hash: &str) -> Box {\n | ^^^^^^^^^^^^\n...\n147 | pub fn invaild_path_encoding(path: &str) -> Box{\n | ^^^^^^^^^^^^^^^^^^^^^\n\nwarning: function `to_pathbuf` is never used\n --> src/utils/fs.rs:64:8\n |\n64 | pub fn to_pathbuf(slice: &str) -> std::result::Result {\n | ^^^^^^^^^^\n\nwarning: function `read_file_as_reader` is never used\n --> src/utils/fs.rs:75:8\n |\n75 | pub fn read_file_as_reader(file_path: &T) -> Result\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: function `hash_file` is never used\n --> src/utils/hash.rs:32:4\n |\n32 | fn hash_file(path: &T) -> Result\n | ^^^^^^^^^\n\nwarning: function `decompress_file` is never used\n --> src/utils/zlib.rs:36:8\n |\n36 | pub fn decompress_file

(input_path: &P) -> Result\n | ^^^^^^^^^^^^^^^\n\nwarning: function `compress_file` is never used\n --> src/utils/zlib.rs:64:8\n |\n64 | pub fn compress_file

(path: &P) -> Result>\n | ^^^^^^^^^^^^^\n\nwarning: function `time_it` is never used\n --> src/utils/test.rs:29:8\n |\n29 | pub fn time_it(func: F) -> crate::Result\n | ^^^^^^^\n\nwarning: function `shell_spawn` is never used\n --> src/utils/test.rs:39:8\n |\n39 | pub fn shell_spawn(command_list: &[&str]) -> Result {\n | ^^^^^^^^^^^\n\nwarning: function `setup_test_git_dir` is never used\n --> src/utils/test.rs:65:8\n |\n65 | pub fn setup_test_git_dir() -> tempfile::TempDir {\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: function `mktemp_in` is never used\n --> src/utils/test.rs:76:8\n |\n76 | pub fn mktemp_in(dir: T) -> std::io::Result\n | ^^^^^^^^^\n\nwarning: function `touch_file_in` is never used\n --> src/utils/test.rs:85:8\n |\n85 | pub fn touch_file_in(dir: T) -> std::io::Result\n | ^^^^^^^^^^^^^\n\nwarning: function `cp_dir` is never used\n --> src/utils/test.rs:102:8\n |\n102 | pub fn cp_dir(from: T, to: T) -> Result\n | ^^^^^^\n\nwarning: type alias `Args` is never used\n --> src/utils/test.rs:112:10\n |\n112 | pub type Args<'a> = &'a[&'a str];\n | ^^^^\n\nwarning: type alias `ArgsList` is never used\n --> src/utils/test.rs:113:10\n |\n113 | pub type ArgsList<'a> = &'a[(Args<'a>, bool)];\n | ^^^^^^^^\n\nwarning: function `cmd_seq` is never used\n --> src/utils/test.rs:114:8\n |\n114 | pub fn cmd_seq<'a, 'b>(args_list: ArgsList<'a>) -> impl FnMut(Args<'b>) -> Result, String>\n | ^^^^^^^\n\nwarning: function `run_both` is never used\n --> src/utils/test.rs:138:8\n |\n138 | pub fn run_both<'a>(cmds: ArgsList<'a>, git: Args, cargo: Args) -> Result<(Vec, Vec), String> {\n | ^^^^^^^^\n\nwarning: function `read_head_commit` is never used\n --> src/utils/refs.rs:40:8\n |\n40 | pub fn read_head_commit(gitdir: &Path) -> Result {\n | ^^^^^^^^^^^^^^^^\n\nwarning: function `write_branch_commit` is never used\n --> src/utils/refs.rs:73:8\n |\n73 | pub fn write_branch_commit(gitdir: &Path, branch: &str, hash: &str) -> Result<()> {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: fields `hash`, `obj_type`, and `data` are never read\n --> src/utils/packfile.rs:158:5\n |\n157 | struct PackfileObject {\n | -------------- fields in this struct\n158 | hash: String,\n | ^^^^\n159 | obj_type: u8,\n | ^^^^^^^^\n160 | data: Vec,\n | ^^^^\n |\n = note: `PackfileObject` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: associated function `get_staged_file` is never used\n --> src/command/checkout.rs:168:8\n |\n 60 | impl Checkout {\n | ------------- associated function in this implementation\n...\n168 | fn get_staged_file(gitdir: &Path, path: &Path) -> Result>> {\n | ^^^^^^^^^^^^^^^\n\nwarning: field `deleted_refs` is never read\n --> src/command/fetch.rs:28:9\n |\n25 | pub struct FetchResult {\n | ----------- field in this struct\n...\n28 | pub deleted_refs: Vec,\n | ^^^^^^^^^^^^\n |\n = note: `FetchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: method `copy_missing_objects` is never used\n --> src/command/fetch.rs:276:8\n |\n 31 | impl Fetch {\n | ---------- method in this implementation\n...\n276 | fn copy_missing_objects(&self, gitdir: &PathBuf, remote_gitdir: &PathBuf, commit_hash: &str) -> Result<()> {\n | ^^^^^^^^^^^^^^^^^^^^\n\nwarning: fields `name` and `fetch_specs` are never read\n --> src/command/fetch.rs:390:5\n |\n389 | struct RemoteConfig {\n | ------------ fields in this struct\n390 | name: String,\n | ^^^^\n391 | url: String,\n392 | fetch_specs: Vec,\n | ^^^^^^^^^^^\n |\n = note: `RemoteConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: field `new_commit` is never read\n --> src/command/push.rs:930:5\n |\n926 | struct PushInfo {\n | -------- field in this struct\n...\n930 | new_commit: String,\n | ^^^^^^^^^^\n |\n = note: `PushInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: method `build_tree_content` is never used\n --> src/command/write_tree.rs:30:8\n |\n23 | impl WriteTree {\n | -------------- method in this implementation\n...\n30 | fn build_tree_content(&self, index: &Index) -> Result>{\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: method `asshole` is never used\n --> src/command/commit_tree.rs:70:12\n |\n30 | impl CommitTree {\n | --------------- method in this implementation\n...\n70 | pub fn asshole(self, gitdir: PathBuf) -> Result {\n | ^^^^^^^\n\nwarning: associated function `from_args` is never used\n --> src/command/update_ref.rs:30:12\n |\n29 | impl UpdateRef {\n | -------------- associated function in this implementation\n30 | pub fn from_args(args: impl Iterator) -> Result> {\n | ^^^^^^^^^\n\nwarning: hiding a lifetime that's elided elsewhere is confusing\n --> src/utils/tree.rs:155:32\n |\n155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype> {\n | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here\n | | |\n | | the same lifetime is elided here\n | the lifetime is elided here\n |\n = help: the same lifetime is referred to in inconsistent ways, making the signature confusing\n = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default\nhelp: use `'_` for type paths\n |\n155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype<'_>> {\n | ++++\n\ne69de29bb2d1d6434b8b29ae775ad8c2e48c5391\n" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5b2c33f33252 - std::backtrace_rs::backtrace::libunwind::trace::h52580dd202462214 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5b2c33f33252 - std::backtrace_rs::backtrace::trace_unsynchronized::hc969519abce0f52b [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5b2c33f33252 - std::sys::backtrace::_print_fmt::hfd5825900b6e0030 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5b2c33f33252 - ::fmt::h427144ad75cfb218 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5b2c33f44c7f - core::fmt::rt::Argument::fmt::hd5ccc9cf97cea7f7 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5b2c33f44c7f - core::fmt::write::h593aaf5adf0f5dae [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5b2c33efbd51 - std::io::default_write_fmt::h305b5a0727055346 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5b2c33efbd51 - std::io::Write::write_fmt::h76f14a8a88733dc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5b2c33f0a482 - std::sys::backtrace::BacktraceLock::print::h3953113552dca3ca [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5b2c33f0fc3f - std::panicking::default_hook::{{closure}}::h486b96ad75eafbb8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5b2c33f0fad1 - std::panicking::default_hook::h99456317c5a1a20c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5b2c3392fdce - as core::ops::function::Fn>::call::h441e4551014e4cf8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x5b2c3392fdce - test::test_main_with_exit_callback::{{closure}}::hdbca54e17f1a00e4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5b2c33f103af - as core::ops::function::Fn>::call::h1e57b72c4e1d3045 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x5b2c33f103af - std::panicking::panic_with_hook::h67ab0df20212e4ea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5b2c33f1015a - std::panicking::panic_handler::{{closure}}::hc9e4a933ae92e208 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5b2c33f0a5c9 - std::sys::backtrace::__rust_end_short_backtrace::hbfa72df9b68c2d19 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5b2c33eee53d - __rustc[8cce077e14951490]::rust_begin_unwind [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5b2c33f4ddf0 - core::panicking::panic_fmt::h49931053d20abf41 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5b2c33f4dba3 - core::panicking::assert_failed_inner::h3eabd3c15a9e5a8c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x5b2c3380bc63 - core::panicking::assert_failed::h2ac62c011620c614 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x5b2c337f4fad - git::command::hash_object::test::test_blob::h0c219751192f15c1 [INFO] [stdout] at /opt/rustwide/workdir/src/command/hash_object.rs:99:9 [INFO] [stdout] 22: 0x5b2c337f5037 - git::command::hash_object::test::test_blob::{{closure}}::ha740a3b5a0f89273 [INFO] [stdout] at /opt/rustwide/workdir/src/command/hash_object.rs:88:19 [INFO] [stdout] 23: 0x5b2c3384e816 - core::ops::function::FnOnce::call_once::h44867cb26cb327b6 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5b2c3392fb8b - core::ops::function::FnOnce::call_once::h5d9016d521f5aee4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x5b2c3392fb8b - test::__rust_begin_short_backtrace::h123fcee610330442 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5b2c33945675 - test::run_test_in_process::{{closure}}::h0442efda2e6359b2 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5b2c33945675 - as core::ops::function::FnOnce<()>>::call_once::hfe3528c8dd09682c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x5b2c33945675 - std::panicking::catch_unwind::do_call::hb1659f7844fe8531 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x5b2c33945675 - std::panicking::catch_unwind::hdc1f4be0019e72ad [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x5b2c33945675 - std::panic::catch_unwind::hd6d7ccfa4513e770 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5b2c33945675 - test::run_test_in_process::h6bbb839ed0802366 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5b2c33945675 - test::run_test::{{closure}}::he4fad7398c8acc11 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5b2c3391bfe4 - test::run_test::{{closure}}::h41975797e198d26c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5b2c3391bfe4 - std::sys::backtrace::__rust_begin_short_backtrace::hfb46c397857336f1 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hddf826a64f532bea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x5b2c3391f98a - as core::ops::function::FnOnce<()>>::call_once::hc3518c3eab91aeb3 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x5b2c3391f98a - std::panicking::catch_unwind::do_call::h7bf3ad6dc012415a [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x5b2c3391f98a - std::panicking::catch_unwind::h8b88f0375c767e36 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x5b2c3391f98a - std::panic::catch_unwind::h66cb5d61a90f7bc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::h65bc9d15fb966bbd [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x5b2c3391f98a - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8d2c9a8796342e5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x5b2c33f0438f - as core::ops::function::FnOnce>::call_once::hef12b47e5c033835 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 43: 0x5b2c33f0438f - std::sys::pal::unix::thread::Thread::new::thread_start::h135087e7c97657bc [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 44: 0x7295d7de9aa4 - [INFO] [stdout] 45: 0x7295d7e76a34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- command::cat_file::test::test_commit stdout ---- [INFO] [stdout] tree 77555c6a6e5071630dde837355a8d64ca2df6900 [INFO] [stdout] author rust-git <163@163.com> 1757474520 +0000 [INFO] [stdout] committer rust-git <163@163.com> 1757474520 +0000 [INFO] [stdout] [INFO] [stdout] commit-message [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Update` [INFO] [stdout] --> src/cli/args.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Update; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandFactory` and `Subcommand` [INFO] [stdout] --> src/cli/args.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use clap::{Parser, Subcommand, CommandFactory, ValueHint}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `to_pathbuf` [INFO] [stdout] --> src/cli/args.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `NoSubCommand` [INFO] [stdout] --> src/utils/error.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | use GitError::{InvalidCommand, FileNotFound, NoSubCommand}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Index` [INFO] [stdout] --> src/utils/fs.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | Index, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf`, `fmt`, and `fs::File` [INFO] [stdout] --> src/utils/hash.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | fmt, [INFO] [stdout] | ^^^ [INFO] [stdout] 3 | io::Read, [INFO] [stdout] 4 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | path::{PathBuf, Path} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/utils/hash.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/utils/zlib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/utils/zlib.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Read, Write, BufReader}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/utils/zlib.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/utils/index.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/utils/index.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::{File, OpenOptions}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Read` [INFO] [stdout] --> src/utils/index.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{Write, BufWriter, Read, BufReader, BufRead}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian` and `ReadBytesExt` [INFO] [stdout] --> src/utils/index.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use byteorder::{ReadBytesExt, BigEndian}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha1` [INFO] [stdout] --> src/utils/index.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `take_until` [INFO] [stdout] --> src/utils/index.rs:7:34 [INFO] [stdout] | [INFO] [stdout] 7 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat_n` [INFO] [stdout] --> src/utils/index.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::iter::repeat_n; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Seek` [INFO] [stdout] --> src/utils/index.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | use std::io::Seek; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/objtype.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | path::PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/utils/objtype.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Result [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `space1`, `take_until`, `take`, `u32`, and `value` [INFO] [stdout] --> src/utils/objtype.rs:22:28 [INFO] [stdout] | [INFO] [stdout] 22 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^ [INFO] [stdout] 23 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | character::complete::{digit1, space1, u32, alpha1}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | preceded, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | map, map_res, eof, value [INFO] [stdout] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/blob.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | path::PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `digit1`, `many1`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `separated_pair`, `space1`, `u32`, and `value` [INFO] [stdout] --> src/utils/tree.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | character::complete::{alpha1, digit1, space1, u32}, [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^^^ ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | preceded, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | separated_pair, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | many1, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | map, map_res, eof, value, [INFO] [stdout] | ^^^ ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_object` [INFO] [stdout] --> src/utils/tree.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | read_object, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/commit.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | path::PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `branch::alt`, `digit1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `separated_pair`, `space1`, `take`, `u32`, and `value` [INFO] [stdout] --> src/utils/commit.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | tag, take, take_until, take_while, [INFO] [stdout] | ^^^^ [INFO] [stdout] 26 | }, [INFO] [stdout] 27 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | character::complete::{digit1, space1, u32, alpha1, }, [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | separated_pair, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 33 | }, [INFO] [stdout] 34 | branch::alt, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | combinator::{ [INFO] [stdout] 36 | map, map_res, eof, value, opt [INFO] [stdout] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `copy`, `fs`, `mem`, `read_dir`, and `self` [INFO] [stdout] --> src/utils/test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | mem, [INFO] [stdout] | ^^^ [INFO] [stdout] 4 | io::{ [INFO] [stdout] 5 | self, [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | }, [INFO] [stdout] 8 | fs, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | fs::{ [INFO] [stdout] 10 | read_dir, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | copy, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/utils/test.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `commit::Commit`, `fs::read_file_as_bytes`, and `objtype::Obj` [INFO] [stdout] --> src/utils/refs.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 6 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | objtype::Obj, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/utils/protocol.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/utils/packfile.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Cursor, Read, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Path` and `iter::once` [INFO] [stdout] --> src/command/add.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | Path, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | iter::once, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/add.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Either` [INFO] [stdout] --> src/command/add.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use itertools::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GitError`, `IndexEntry`, `objtype::ObjType`, `read_file_as_bytes`, `tree::FileMode`, and `write_object` [INFO] [stdout] --> src/command/add.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | objtype::ObjType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | IndexEntry, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | write_object, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 24 | read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | tree::FileMode, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/branch.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `write_ref_commit` [INFO] [stdout] --> src/command/branch.rs:8:51 [INFO] [stdout] | [INFO] [stdout] 8 | utils::refs::{read_head_ref, read_ref_commit, write_ref_commit}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/checkout.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `read_head_commit` and `write_ref_commit` [INFO] [stdout] --> src/command/checkout.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | write_ref_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | write_head_commit, [INFO] [stdout] 17 | read_head_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `write_object` [INFO] [stdout] --> src/command/checkout.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | write_object, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command` and `Subcommand` [INFO] [stdout] --> src/command/commit.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand, Command}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `Write`, and `self` [INFO] [stdout] --> src/command/commit.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Write, Cursor}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Command as ProcessCommand` [INFO] [stdout] --> src/command/commit.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::process::Command as ProcessCommand; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommitTree`, `hash::hash_object`, `index::Index`, and `tree::Tree` [INFO] [stdout] --> src/command/commit.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | WriteTree, CommitTree, UpdateRef [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 15 | index::Index, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::refs::*` [INFO] [stdout] --> src/command/fetch.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{GitError, Result, utils::refs::*}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::Into` [INFO] [stdout] --> src/command/init.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandFactory` and `Subcommand` [INFO] [stdout] --> src/command/init.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `Obj`, `blob::Blob`, `commit::Commit`, `decompress_file_as_bytes`, `decompress_file`, `fs::obj_to_pathbuf`, `parse_meta`, and `tree::Tree` [INFO] [stdout] --> src/command/init.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | decompress_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | }, [INFO] [stdout] 12 | fs::obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | objtype::{ [INFO] [stdout] 14 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | parse_meta, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 16 | Obj, [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | }, [INFO] [stdout] 18 | blob::Blob, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 19 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 20 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stdout] --> src/command/init.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] 31 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | IResult, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::write` [INFO] [stdout] --> src/command/merge.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/command/merge.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/merge.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChangeTag` and `TextDiff` [INFO] [stdout] --> src/command/merge.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use similar::{ChangeTag, TextDiff}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileMode`, `ObjType`, `compress_object`, `decompress_file`, `hash::hash_object`, `obj_to_pathbuf`, `read_file_as_bytes`, `test::shell_spawn`, and `write_branch_commit` [INFO] [stdout] --> src/command/merge.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | compress_object [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 23 | read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | objtype::{ [INFO] [stdout] 30 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | write_branch_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | FileMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | test::shell_spawn, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `commit` [INFO] [stdout] --> src/command/merge.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | commit, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `head_to_hash` [INFO] [stdout] --> src/command/pull.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::refs::{read_head_ref, head_to_hash}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Checkout` and `ReadTree` [INFO] [stdout] --> src/command/pull.rs:5:39 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{SubCommand, Fetch, Merge, Checkout, ReadTree}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/rm.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/rm.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | Path [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::Into` [INFO] [stdout] --> src/command/cat_file.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/cat_file.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `blob::Blob`, `commit::Commit`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stdout] --> src/command/cat_file.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | fs::{obj_to_pathbuf_legacy, obj_to_pathbuf}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 11 | objtype::{ [INFO] [stdout] 12 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | blob::Blob, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 17 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 18 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stdout] --> src/command/cat_file.rs:28:23 [INFO] [stdout] | [INFO] [stdout] 28 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] 29 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | IResult, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::write` [INFO] [stdout] --> src/command/hash_object.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/hash_object.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | Path, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/hash_object.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `Obj`, `commit::Commit`, `compress_object`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stdout] --> src/command/hash_object.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | compress_object [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | Obj, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 25 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/command/hash_object.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/update_index.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/update_index.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_git_dir` and `hash::hash_object` [INFO] [stdout] --> src/command/update_index.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | get_git_dir, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::TempDir` [INFO] [stdout] --> src/command/update_index.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use tempfile::TempDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/read_tree.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::index` [INFO] [stdout] --> src/command/read_tree.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `compress_object` [INFO] [stdout] --> src/command/read_tree.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fs::read_file_as_bytes` and `hash::hash_object` [INFO] [stdout] --> src/command/read_tree.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/write_tree.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs::read_file_as_bytes` [INFO] [stdout] --> src/command/write_tree.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/commit_tree.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `hash::hash_object` and `zlib::compress_object` [INFO] [stdout] --> src/command/commit_tree.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | zlib::compress_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/command/commit_tree.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/update_ref.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/update_ref.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::index` [INFO] [stdout] --> src/command/update_ref.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `compress_object` and `decompress_file_bytes` [INFO] [stdout] --> src/command/update_ref.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileMode`, `IndexEntry`, `Index`, `Tree`, `fs::read_file_as_bytes`, and `hash::hash_object` [INFO] [stdout] --> src/command/update_ref.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | index::{Index, IndexEntry}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] 13 | tree::{ [INFO] [stdout] 14 | Tree, [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | FileMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Read` [INFO] [stdout] --> src/utils/hash.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | io::Read, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/utils/index.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::Display` [INFO] [stdout] --> src/utils/objtype.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | fmt::Display, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidHash`, `InvalidBlob`, `InvalidTree`, `FailedToRmoveFile`, `BrokenCommitHistory`, and `NoSameAncestor` are never constructed [INFO] [stdout] --> src/utils/error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum GitError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 10 | InvalidCommand(String), [INFO] [stdout] 11 | InvalidHash(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 12 | InvalidBlob(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | InvalidTree(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | FailedToRmoveFile(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | BrokenCommitHistory(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | MergeConflict(String), [INFO] [stdout] 31 | NoSameAncestor(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GitError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] warning: associated functions `invalid_blob`, `invalid_hash`, and `invaild_path_encoding` are never used [INFO] [stdout] --> src/utils/error.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl GitError { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn invalid_blob(path: &str) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn invalid_hash(hash: &str) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn invaild_path_encoding(path: &str) -> Box{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `to_pathbuf` is never used [INFO] [stdout] --> src/utils/fs.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn to_pathbuf(slice: &str) -> std::result::Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `read_file_as_reader` is never used [INFO] [stdout] --> src/utils/fs.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn read_file_as_reader(file_path: &T) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `hash_file` is never used [INFO] [stdout] --> src/utils/hash.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn hash_file(path: &T) -> Result [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `decompress_file` is never used [INFO] [stdout] --> src/utils/zlib.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn decompress_file

(input_path: &P) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `compress_file` is never used [INFO] [stdout] --> src/utils/zlib.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn compress_file

(path: &P) -> Result> [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `time_it` is never used [INFO] [stdout] --> src/utils/test.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn time_it(func: F) -> crate::Result [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `shell_spawn` is never used [INFO] [stdout] --> src/utils/test.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn shell_spawn(command_list: &[&str]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `setup_test_git_dir` is never used [INFO] [stdout] --> src/utils/test.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn setup_test_git_dir() -> tempfile::TempDir { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `mktemp_in` is never used [INFO] [stdout] --> src/utils/test.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn mktemp_in(dir: T) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `touch_file_in` is never used [INFO] [stdout] --> src/utils/test.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn touch_file_in(dir: T) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `cp_dir` is never used [INFO] [stdout] --> src/utils/test.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn cp_dir(from: T, to: T) -> Result [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: type alias `Args` is never used [INFO] [stdout] --> src/utils/test.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 112 | pub type Args<'a> = &'a[&'a str]; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: type alias `ArgsList` is never used [INFO] [stdout] --> src/utils/test.rs:113:10 [INFO] [stdout] | [INFO] [stdout] 113 | pub type ArgsList<'a> = &'a[(Args<'a>, bool)]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `cmd_seq` is never used [INFO] [stdout] --> src/utils/test.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn cmd_seq<'a, 'b>(args_list: ArgsList<'a>) -> impl FnMut(Args<'b>) -> Result, String> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `run_both` is never used [INFO] [stdout] --> src/utils/test.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn run_both<'a>(cmds: ArgsList<'a>, git: Args, cargo: Args) -> Result<(Vec, Vec), String> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `read_head_commit` is never used [INFO] [stdout] --> src/utils/refs.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn read_head_commit(gitdir: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `write_branch_commit` is never used [INFO] [stdout] --> src/utils/refs.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn write_branch_commit(gitdir: &Path, branch: &str, hash: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: fields `hash`, `obj_type`, and `data` are never read [INFO] [stdout] --> src/utils/packfile.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 157 | struct PackfileObject { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 158 | hash: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 159 | obj_type: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 160 | data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PackfileObject` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: associated function `get_staged_file` is never used [INFO] [stdout] --> src/command/checkout.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 60 | impl Checkout { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 168 | fn get_staged_file(gitdir: &Path, path: &Path) -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: field `deleted_refs` is never read [INFO] [stdout] --> src/command/fetch.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct FetchResult { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | pub deleted_refs: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FetchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: method `copy_missing_objects` is never used [INFO] [stdout] --> src/command/fetch.rs:276:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl Fetch { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 276 | fn copy_missing_objects(&self, gitdir: &PathBuf, remote_gitdir: &PathBuf, commit_hash: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `fetch_specs` are never read [INFO] [stdout] --> src/command/fetch.rs:390:5 [INFO] [stdout] | [INFO] [stdout] 389 | struct RemoteConfig { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 390 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 391 | url: String, [INFO] [stdout] 392 | fetch_specs: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoteConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: field `new_commit` is never read [INFO] [stdout] --> src/command/push.rs:930:5 [INFO] [stdout] | [INFO] [stdout] 926 | struct PushInfo { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 930 | new_commit: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PushInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: method `build_tree_content` is never used [INFO] [stdout] --> src/command/write_tree.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl WriteTree { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | fn build_tree_content(&self, index: &Index) -> Result>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: method `asshole` is never used [INFO] [stdout] --> src/command/commit_tree.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl CommitTree { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn asshole(self, gitdir: PathBuf) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: associated function `from_args` is never used [INFO] [stdout] --> src/command/update_ref.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl UpdateRef { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 30 | pub fn from_args(args: impl Iterator) -> Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/tree.rs:155:32 [INFO] [stdout] | [INFO] [stdout] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype> { [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] tree 77555c6a6e5071630dde837355a8d64ca2df6900 [INFO] [stdout] author rust-git <163@163.com> 1757474520 +0000 [INFO] [stdout] committer rust-git <163@163.com> 1757474520 +0000 [INFO] [stdout] [INFO] [stdout] commit-message [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] thread 'command::cat_file::test::test_commit' (34) panicked at src/command/cat_file.rs:172:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: "tree 77555c6a6e5071630dde837355a8d64ca2df6900\nauthor rust-git <163@163.com> 1757474520 +0000\ncommitter rust-git <163@163.com> 1757474520 +0000\n\ncommit-message\n" [INFO] [stdout] right: "warning: unused import: `itertools::Update`\n --> src/cli/args.rs:1:5\n |\n1 | use itertools::Update;\n | ^^^^^^^^^^^^^^^^^\n |\n = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default\n\nwarning: unused imports: `CommandFactory` and `Subcommand`\n --> src/cli/args.rs:4:20\n |\n4 | use clap::{Parser, Subcommand, CommandFactory, ValueHint};\n | ^^^^^^^^^^ ^^^^^^^^^^^^^^\n\nwarning: unused import: `to_pathbuf`\n --> src/cli/args.rs:10:9\n |\n10 | to_pathbuf,\n | ^^^^^^^^^^\n\nwarning: unused import: `NoSubCommand`\n --> src/utils/error.rs:4:46\n |\n4 | use GitError::{InvalidCommand, FileNotFound, NoSubCommand};\n | ^^^^^^^^^^^^\n\nwarning: unused import: `Index`\n --> src/utils/fs.rs:26:9\n |\n26 | Index,\n | ^^^^^\n\nwarning: unused imports: `PathBuf`, `fmt`, and `fs::File`\n --> src/utils/hash.rs:2:5\n |\n2 | fmt,\n | ^^^\n3 | io::Read,\n4 | fs::File,\n | ^^^^^^^^\n5 | path::{PathBuf, Path}\n | ^^^^^^^\n\nwarning: unused import: `GitError`\n --> src/utils/hash.rs:15:5\n |\n15 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `std::fs::File`\n --> src/utils/zlib.rs:1:5\n |\n1 | use std::fs::File;\n | ^^^^^^^^^^^^^\n\nwarning: unused imports: `Write` and `self`\n --> src/utils/zlib.rs:3:15\n |\n3 | use std::io::{self, Read, Write, BufReader};\n | ^^^^ ^^^^^\n\nwarning: unused import: `GitError`\n --> src/utils/zlib.rs:14:5\n |\n14 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `PathBuf`\n --> src/utils/index.rs:1:17\n |\n1 | use std::path::{PathBuf,Path};\n | ^^^^^^^\n\nwarning: unused import: `File`\n --> src/utils/index.rs:2:15\n |\n2 | use std::fs::{File, OpenOptions};\n | ^^^^\n\nwarning: unused imports: `BufRead`, `BufReader`, and `Read`\n --> src/utils/index.rs:3:33\n |\n3 | use std::io::{Write, BufWriter, Read, BufReader, BufRead};\n | ^^^^ ^^^^^^^^^ ^^^^^^^\n\nwarning: unused imports: `BigEndian` and `ReadBytesExt`\n --> src/utils/index.rs:4:17\n |\n4 | use byteorder::{ReadBytesExt, BigEndian};\n | ^^^^^^^^^^^^ ^^^^^^^^^\n\nwarning: unused import: `Sha1`\n --> src/utils/index.rs:5:12\n |\n5 | use sha1::{Sha1, Digest};\n | ^^^^\n\nwarning: unused import: `take_until`\n --> src/utils/index.rs:7:34\n |\n7 | bytes::complete::{tag, take, take_until},\n | ^^^^^^^^^^\n\nwarning: unused import: `std::iter::repeat_n`\n --> src/utils/index.rs:11:5\n |\n11 | use std::iter::repeat_n;\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `std::io::Seek`\n --> src/utils/index.rs:64:13\n |\n64 | use std::io::Seek;\n | ^^^^^^^^^^^^^\n\nwarning: unused import: `path::PathBuf`\n --> src/utils/objtype.rs:6:5\n |\n6 | path::PathBuf,\n | ^^^^^^^^^^^^^\n\nwarning: unused import: `Result`\n --> src/utils/objtype.rs:16:9\n |\n16 | Result\n | ^^^^^^\n\nwarning: unused imports: `alpha1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `space1`, `take_until`, `take`, `u32`, and `value`\n --> src/utils/objtype.rs:22:28\n |\n22 | bytes::complete::{tag, take, take_until},\n | ^^^^ ^^^^^^^^^^\n23 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n24 | character::complete::{digit1, space1, u32, alpha1},\n | ^^^^^^ ^^^ ^^^^^^\n...\n27 | preceded,\n | ^^^^^^^^\n...\n32 | map, map_res, eof, value\n | ^^^ ^^^^^^^ ^^^ ^^^^^\n\nwarning: unused import: `path::PathBuf`\n --> src/utils/blob.rs:10:5\n |\n10 | path::PathBuf\n | ^^^^^^^^^^^^^\n\nwarning: unused imports: `alpha1`, `digit1`, `many1`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `separated_pair`, `space1`, `u32`, and `value`\n --> src/utils/tree.rs:27:5\n |\n27 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n28 | character::complete::{alpha1, digit1, space1, u32},\n | ^^^^^^ ^^^^^^ ^^^^^^ ^^^\n...\n31 | preceded,\n | ^^^^^^^^\n32 | separated_pair,\n | ^^^^^^^^^^^^^^\n...\n36 | many1,\n | ^^^^^\n...\n39 | map, map_res, eof, value,\n | ^^^ ^^^^^^^ ^^^^^\n\nwarning: unused import: `read_object`\n --> src/utils/tree.rs:53:9\n |\n53 | read_object,\n | ^^^^^^^^^^^\n\nwarning: unused import: `path::PathBuf`\n --> src/utils/commit.rs:6:5\n |\n6 | path::PathBuf\n | ^^^^^^^^^^^^^\n\nwarning: unused imports: `alpha1`, `branch::alt`, `digit1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `separated_pair`, `space1`, `take`, `u32`, and `value`\n --> src/utils/commit.rs:25:14\n |\n25 | tag, take, take_until, take_while,\n | ^^^^\n26 | },\n27 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n28 | character::complete::{digit1, space1, u32, alpha1, },\n | ^^^^^^ ^^^^^^ ^^^ ^^^^^^\n...\n32 | separated_pair,\n | ^^^^^^^^^^^^^^\n33 | },\n34 | branch::alt,\n | ^^^^^^^^^^^\n35 | combinator::{\n36 | map, map_res, eof, value, opt\n | ^^^ ^^^^^^^ ^^^ ^^^^^\n\nwarning: unused imports: `Write`, `copy`, `fs`, `mem`, `read_dir`, and `self`\n --> src/utils/test.rs:3:5\n |\n 3 | mem,\n | ^^^\n 4 | io::{\n 5 | self,\n | ^^^^\n 6 | Write,\n | ^^^^^\n 7 | },\n 8 | fs,\n | ^^\n 9 | fs::{\n10 | read_dir,\n | ^^^^^^^^\n11 | copy,\n | ^^^^\n\nwarning: unused import: `error`\n --> src/utils/test.rs:26:5\n |\n26 | error,\n | ^^^^^\n\nwarning: unused imports: `commit::Commit`, `fs::read_file_as_bytes`, and `objtype::Obj`\n --> src/utils/refs.rs:5:9\n |\n5 | commit::Commit,\n | ^^^^^^^^^^^^^^\n6 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n7 | objtype::Obj,\n | ^^^^^^^^^^^^\n\nwarning: unused import: `std::collections::HashMap`\n --> src/utils/protocol.rs:1:5\n |\n1 | use std::collections::HashMap;\n | ^^^^^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `Write` and `self`\n --> src/utils/packfile.rs:5:15\n |\n5 | use std::io::{self, Cursor, Read, Write};\n | ^^^^ ^^^^^\n\nwarning: unused imports: `Path` and `iter::once`\n --> src/command/add.rs:4:9\n |\n4 | Path,\n | ^^^^\n...\n7 | iter::once,\n | ^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/add.rs:9:20\n |\n9 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `itertools::Either`\n --> src/command/add.rs:10:5\n |\n10 | use itertools::Either;\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `GitError`, `IndexEntry`, `objtype::ObjType`, `read_file_as_bytes`, `tree::FileMode`, and `write_object`\n --> src/command/add.rs:13:5\n |\n13 | GitError,\n | ^^^^^^^^\n...\n16 | objtype::ObjType,\n | ^^^^^^^^^^^^^^^^\n...\n19 | IndexEntry,\n | ^^^^^^^^^^\n...\n23 | write_object,\n | ^^^^^^^^^^^^\n24 | read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^\n...\n28 | tree::FileMode,\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/branch.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `write_ref_commit`\n --> src/command/branch.rs:8:51\n |\n8 | utils::refs::{read_head_ref, read_ref_commit, write_ref_commit},\n | ^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/checkout.rs:6:20\n |\n6 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `read_head_commit` and `write_ref_commit`\n --> src/command/checkout.rs:15:9\n |\n15 | write_ref_commit,\n | ^^^^^^^^^^^^^^^^\n16 | write_head_commit,\n17 | read_head_commit,\n | ^^^^^^^^^^^^^^^^\n\nwarning: unused import: `write_object`\n --> src/command/checkout.rs:41:9\n |\n41 | write_object,\n | ^^^^^^^^^^^^\n\nwarning: unused imports: `Command` and `Subcommand`\n --> src/command/commit.rs:2:20\n |\n2 | use clap::{Parser, Subcommand, Command};\n | ^^^^^^^^^^ ^^^^^^^\n\nwarning: unused imports: `Cursor`, `Write`, and `self`\n --> src/command/commit.rs:3:15\n |\n3 | use std::io::{self, Write, Cursor};\n | ^^^^ ^^^^^ ^^^^^^\n\nwarning: unused import: `std::process::Command as ProcessCommand`\n --> src/command/commit.rs:4:5\n |\n4 | use std::process::Command as ProcessCommand;\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `CommitTree`, `hash::hash_object`, `index::Index`, and `tree::Tree`\n --> src/command/commit.rs:10:20\n |\n10 | WriteTree, CommitTree, UpdateRef\n | ^^^^^^^^^^\n...\n14 | tree::Tree,\n | ^^^^^^^^^^\n15 | index::Index,\n | ^^^^^^^^^^^^\n...\n20 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `utils::refs::*`\n --> src/command/fetch.rs:4:31\n |\n4 | use crate::{GitError, Result, utils::refs::*};\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `std::convert::Into`\n --> src/command/init.rs:3:5\n |\n3 | use std::convert::Into;\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `CommandFactory` and `Subcommand`\n --> src/command/init.rs:5:20\n |\n5 | use clap::{Parser, Subcommand, CommandFactory};\n | ^^^^^^^^^^ ^^^^^^^^^^^^^^\n\nwarning: unused imports: `ObjType`, `Obj`, `blob::Blob`, `commit::Commit`, `decompress_file_as_bytes`, `decompress_file`, `fs::obj_to_pathbuf`, `parse_meta`, and `tree::Tree`\n --> src/command/init.rs:9:9\n |\n 9 | decompress_file,\n | ^^^^^^^^^^^^^^^\n10 | decompress_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n11 | },\n12 | fs::obj_to_pathbuf,\n | ^^^^^^^^^^^^^^^^^^\n13 | objtype::{\n14 | ObjType,\n | ^^^^^^^\n15 | parse_meta,\n | ^^^^^^^^^^\n16 | Obj,\n | ^^^\n17 | },\n18 | blob::Blob,\n | ^^^^^^^^^^\n19 | tree::Tree,\n | ^^^^^^^^^^\n20 | commit::Commit,\n | ^^^^^^^^^^^^^^\n\nwarning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take`\n --> src/command/init.rs:30:23\n |\n30 | bytes::complete::{tag, take, take_until},\n | ^^^ ^^^^ ^^^^^^^^^^\n31 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n32 | IResult,\n | ^^^^^^^\n\nwarning: unused import: `std::fs::write`\n --> src/command/merge.rs:1:5\n |\n1 | use std::fs::write;\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `std::io`\n --> src/command/merge.rs:3:5\n |\n3 | use std::io;\n | ^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/merge.rs:9:20\n |\n9 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `ChangeTag` and `TextDiff`\n --> src/command/merge.rs:11:15\n |\n11 | use similar::{ChangeTag, TextDiff};\n | ^^^^^^^^^ ^^^^^^^^\n\nwarning: unused imports: `FileMode`, `ObjType`, `compress_object`, `decompress_file`, `hash::hash_object`, `obj_to_pathbuf`, `read_file_as_bytes`, `test::shell_spawn`, and `write_branch_commit`\n --> src/command/merge.rs:18:9\n |\n18 | decompress_file,\n | ^^^^^^^^^^^^^^^\n19 | compress_object\n | ^^^^^^^^^^^^^^^\n...\n22 | obj_to_pathbuf,\n | ^^^^^^^^^^^^^^\n23 | read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^\n...\n28 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n29 | objtype::{\n30 | ObjType,\n | ^^^^^^^\n...\n37 | write_branch_commit,\n | ^^^^^^^^^^^^^^^^^^^\n...\n49 | FileMode,\n | ^^^^^^^^\n...\n53 | test::shell_spawn,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `commit`\n --> src/command/merge.rs:57:5\n |\n57 | commit,\n | ^^^^^^\n\nwarning: unused import: `head_to_hash`\n --> src/command/pull.rs:4:41\n |\n4 | use crate::utils::refs::{read_head_ref, head_to_hash};\n | ^^^^^^^^^^^^\n\nwarning: unused imports: `Checkout` and `ReadTree`\n --> src/command/pull.rs:5:39\n |\n5 | use super::{SubCommand, Fetch, Merge, Checkout, ReadTree};\n | ^^^^^^^^ ^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/rm.rs:1:20\n |\n1 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/rm.rs:6:9\n |\n6 | Path\n | ^^^^\n\nwarning: unused import: `std::convert::Into`\n --> src/command/cat_file.rs:2:5\n |\n2 | use std::convert::Into;\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/cat_file.rs:3:20\n |\n3 | use clap::{Parser, Subcommand, CommandFactory};\n | ^^^^^^^^^^\n\nwarning: unused imports: `ObjType`, `blob::Blob`, `commit::Commit`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree`\n --> src/command/cat_file.rs:7:9\n |\n 7 | decompress_file,\n | ^^^^^^^^^^^^^^^\n...\n10 | fs::{obj_to_pathbuf_legacy, obj_to_pathbuf},\n | ^^^^^^^^^^^^^^\n11 | objtype::{\n12 | ObjType,\n | ^^^^^^^\n...\n16 | blob::Blob,\n | ^^^^^^^^^^\n17 | tree::Tree,\n | ^^^^^^^^^^\n18 | commit::Commit,\n | ^^^^^^^^^^^^^^\n\nwarning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take`\n --> src/command/cat_file.rs:28:23\n |\n28 | bytes::complete::{tag, take, take_until},\n | ^^^ ^^^^ ^^^^^^^^^^\n29 | number::complete::be_u32,\n | ^^^^^^^^^^^^^^^^^^^^^^^^\n30 | IResult,\n | ^^^^^^^\n\nwarning: unused import: `std::fs::write`\n --> src/command/hash_object.rs:1:5\n |\n1 | use std::fs::write;\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/hash_object.rs:3:5\n |\n3 | Path,\n | ^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/hash_object.rs:6:20\n |\n6 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `ObjType`, `Obj`, `commit::Commit`, `compress_object`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree`\n --> src/command/hash_object.rs:10:9\n |\n10 | decompress_file,\n | ^^^^^^^^^^^^^^^\n11 | compress_object\n | ^^^^^^^^^^^^^^^\n...\n14 | obj_to_pathbuf,\n | ^^^^^^^^^^^^^^\n...\n20 | ObjType,\n | ^^^^^^^\n21 | Obj,\n | ^^^\n...\n24 | tree::Tree,\n | ^^^^^^^^^^\n25 | commit::Commit,\n | ^^^^^^^^^^^^^^\n\nwarning: unused import: `GitError`\n --> src/command/hash_object.rs:29:5\n |\n29 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/update_index.rs:1:25\n |\n1 | use std::path::{PathBuf,Path};\n | ^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/update_index.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `get_git_dir` and `hash::hash_object`\n --> src/command/update_index.rs:10:9\n |\n10 | get_git_dir,\n | ^^^^^^^^^^^\n...\n14 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `tempfile::TempDir`\n --> src/command/update_index.rs:19:5\n |\n19 | use tempfile::TempDir;\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/read_tree.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `crate::utils::index`\n --> src/command/read_tree.rs:3:5\n |\n3 | use crate::utils::index;\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `compress_object`\n --> src/command/read_tree.rs:4:26\n |\n4 | use crate::utils::zlib::{compress_object, decompress_file_bytes};\n | ^^^^^^^^^^^^^^^\n\nwarning: unused imports: `fs::read_file_as_bytes` and `hash::hash_object`\n --> src/command/read_tree.rs:10:5\n |\n10 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n11 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/write_tree.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `fs::read_file_as_bytes`\n --> src/command/write_tree.rs:8:5\n |\n8 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/commit_tree.rs:4:20\n |\n4 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused imports: `hash::hash_object` and `zlib::compress_object`\n --> src/command/commit_tree.rs:6:5\n |\n6 | zlib::compress_object,\n | ^^^^^^^^^^^^^^^^^^^^^\n7 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n\nwarning: unused import: `GitError`\n --> src/command/commit_tree.rs:12:5\n |\n12 | GitError,\n | ^^^^^^^^\n\nwarning: unused import: `Path`\n --> src/command/update_ref.rs:1:25\n |\n1 | use std::path::{PathBuf,Path};\n | ^^^^\n\nwarning: unused import: `Subcommand`\n --> src/command/update_ref.rs:2:20\n |\n2 | use clap::{Parser, Subcommand};\n | ^^^^^^^^^^\n\nwarning: unused import: `crate::utils::index`\n --> src/command/update_ref.rs:3:5\n |\n3 | use crate::utils::index;\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `compress_object` and `decompress_file_bytes`\n --> src/command/update_ref.rs:4:26\n |\n4 | use crate::utils::zlib::{compress_object, decompress_file_bytes};\n | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^\n\nwarning: unused imports: `FileMode`, `IndexEntry`, `Index`, `Tree`, `fs::read_file_as_bytes`, and `hash::hash_object`\n --> src/command/update_ref.rs:10:5\n |\n10 | fs::read_file_as_bytes,\n | ^^^^^^^^^^^^^^^^^^^^^^\n11 | hash::hash_object,\n | ^^^^^^^^^^^^^^^^^\n12 | index::{Index, IndexEntry},\n | ^^^^^ ^^^^^^^^^^\n13 | tree::{\n14 | Tree,\n | ^^^^\n15 | FileMode,\n | ^^^^^^^^\n\nwarning: unused import: `io::Read`\n --> src/utils/hash.rs:3:5\n |\n3 | io::Read,\n | ^^^^^^^^\n\nwarning: unused import: `Digest`\n --> src/utils/index.rs:5:18\n |\n5 | use sha1::{Sha1, Digest};\n | ^^^^^^\n\nwarning: unused import: `fmt::Display`\n --> src/utils/objtype.rs:7:5\n |\n7 | fmt::Display,\n | ^^^^^^^^^^^^\n\nwarning: variants `InvalidHash`, `InvalidBlob`, `InvalidTree`, `FailedToRmoveFile`, `BrokenCommitHistory`, and `NoSameAncestor` are never constructed\n --> src/utils/error.rs:11:5\n |\n 9 | pub enum GitError {\n | -------- variants in this enum\n10 | InvalidCommand(String),\n11 | InvalidHash(String),\n | ^^^^^^^^^^^\n12 | InvalidBlob(String),\n | ^^^^^^^^^^^\n...\n15 | InvalidTree(String),\n | ^^^^^^^^^^^\n...\n28 | FailedToRmoveFile(String),\n | ^^^^^^^^^^^^^^^^^\n29 | BrokenCommitHistory(String),\n | ^^^^^^^^^^^^^^^^^^^\n30 | MergeConflict(String),\n31 | NoSameAncestor(String),\n | ^^^^^^^^^^^^^^\n |\n = note: `GitError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis\n = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default\n\nwarning: associated functions `invalid_blob`, `invalid_hash`, and `invaild_path_encoding` are never used\n --> src/utils/error.rs:135:12\n |\n 36 | impl GitError {\n | ------------- associated functions in this implementation\n...\n135 | pub fn invalid_blob(path: &str) -> Box {\n | ^^^^^^^^^^^^\n...\n141 | pub fn invalid_hash(hash: &str) -> Box {\n | ^^^^^^^^^^^^\n...\n147 | pub fn invaild_path_encoding(path: &str) -> Box{\n | ^^^^^^^^^^^^^^^^^^^^^\n\nwarning: function `to_pathbuf` is never used\n --> src/utils/fs.rs:64:8\n |\n64 | pub fn to_pathbuf(slice: &str) -> std::result::Result {\n | ^^^^^^^^^^\n\nwarning: function `read_file_as_reader` is never used\n --> src/utils/fs.rs:75:8\n |\n75 | pub fn read_file_as_reader(file_path: &T) -> Result\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: function `hash_file` is never used\n --> src/utils/hash.rs:32:4\n |\n32 | fn hash_file(path: &T) -> Result\n | ^^^^^^^^^\n\nwarning: function `decompress_file` is never used\n --> src/utils/zlib.rs:36:8\n |\n36 | pub fn decompress_file

(input_path: &P) -> Result\n | ^^^^^^^^^^^^^^^\n\nwarning: function `compress_file` is never used\n --> src/utils/zlib.rs:64:8\n |\n64 | pub fn compress_file

(path: &P) -> Result>\n | ^^^^^^^^^^^^^\n\nwarning: function `time_it` is never used\n --> src/utils/test.rs:29:8\n |\n29 | pub fn time_it(func: F) -> crate::Result\n | ^^^^^^^\n\nwarning: function `shell_spawn` is never used\n --> src/utils/test.rs:39:8\n |\n39 | pub fn shell_spawn(command_list: &[&str]) -> Result {\n | ^^^^^^^^^^^\n\nwarning: function `setup_test_git_dir` is never used\n --> src/utils/test.rs:65:8\n |\n65 | pub fn setup_test_git_dir() -> tempfile::TempDir {\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: function `mktemp_in` is never used\n --> src/utils/test.rs:76:8\n |\n76 | pub fn mktemp_in(dir: T) -> std::io::Result\n | ^^^^^^^^^\n\nwarning: function `touch_file_in` is never used\n --> src/utils/test.rs:85:8\n |\n85 | pub fn touch_file_in(dir: T) -> std::io::Result\n | ^^^^^^^^^^^^^\n\nwarning: function `cp_dir` is never used\n --> src/utils/test.rs:102:8\n |\n102 | pub fn cp_dir(from: T, to: T) -> Result\n | ^^^^^^\n\nwarning: type alias `Args` is never used\n --> src/utils/test.rs:112:10\n |\n112 | pub type Args<'a> = &'a[&'a str];\n | ^^^^\n\nwarning: type alias `ArgsList` is never used\n --> src/utils/test.rs:113:10\n |\n113 | pub type ArgsList<'a> = &'a[(Args<'a>, bool)];\n | ^^^^^^^^\n\nwarning: function `cmd_seq` is never used\n --> src/utils/test.rs:114:8\n |\n114 | pub fn cmd_seq<'a, 'b>(args_list: ArgsList<'a>) -> impl FnMut(Args<'b>) -> Result, String>\n | ^^^^^^^\n\nwarning: function `run_both` is never used\n --> src/utils/test.rs:138:8\n |\n138 | pub fn run_both<'a>(cmds: ArgsList<'a>, git: Args, cargo: Args) -> Result<(Vec, Vec), String> {\n | ^^^^^^^^\n\nwarning: function `read_head_commit` is never used\n --> src/utils/refs.rs:40:8\n |\n40 | pub fn read_head_commit(gitdir: &Path) -> Result {\n | ^^^^^^^^^^^^^^^^\n\nwarning: function `write_branch_commit` is never used\n --> src/utils/refs.rs:73:8\n |\n73 | pub fn write_branch_commit(gitdir: &Path, branch: &str, hash: &str) -> Result<()> {\n | ^^^^^^^^^^^^^^^^^^^\n\nwarning: fields `hash`, `obj_type`, and `data` are never read\n --> src/utils/packfile.rs:158:5\n |\n157 | struct PackfileObject {\n | -------------- fields in this struct\n158 | hash: String,\n | ^^^^\n159 | obj_type: u8,\n | ^^^^^^^^\n160 | data: Vec,\n | ^^^^\n |\n = note: `PackfileObject` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: associated function `get_staged_file` is never used\n --> src/command/checkout.rs:168:8\n |\n 60 | impl Checkout {\n | ------------- associated function in this implementation\n...\n168 | fn get_staged_file(gitdir: &Path, path: &Path) -> Result>> {\n | ^^^^^^^^^^^^^^^\n\nwarning: field `deleted_refs` is never read\n --> src/command/fetch.rs:28:9\n |\n25 | pub struct FetchResult {\n | ----------- field in this struct\n...\n28 | pub deleted_refs: Vec,\n | ^^^^^^^^^^^^\n |\n = note: `FetchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: method `copy_missing_objects` is never used\n --> src/command/fetch.rs:276:8\n |\n 31 | impl Fetch {\n | ---------- method in this implementation\n...\n276 | fn copy_missing_objects(&self, gitdir: &PathBuf, remote_gitdir: &PathBuf, commit_hash: &str) -> Result<()> {\n | ^^^^^^^^^^^^^^^^^^^^\n\nwarning: fields `name` and `fetch_specs` are never read\n --> src/command/fetch.rs:390:5\n |\n389 | struct RemoteConfig {\n | ------------ fields in this struct\n390 | name: String,\n | ^^^^\n391 | url: String,\n392 | fetch_specs: Vec,\n | ^^^^^^^^^^^\n |\n = note: `RemoteConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: field `new_commit` is never read\n --> src/command/push.rs:930:5\n |\n926 | struct PushInfo {\n | -------- field in this struct\n...\n930 | new_commit: String,\n | ^^^^^^^^^^\n |\n = note: `PushInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\nwarning: method `build_tree_content` is never used\n --> src/command/write_tree.rs:30:8\n |\n23 | impl WriteTree {\n | -------------- method in this implementation\n...\n30 | fn build_tree_content(&self, index: &Index) -> Result>{\n | ^^^^^^^^^^^^^^^^^^\n\nwarning: method `asshole` is never used\n --> src/command/commit_tree.rs:70:12\n |\n30 | impl CommitTree {\n | --------------- method in this implementation\n...\n70 | pub fn asshole(self, gitdir: PathBuf) -> Result {\n | ^^^^^^^\n\nwarning: associated function `from_args` is never used\n --> src/command/update_ref.rs:30:12\n |\n29 | impl UpdateRef {\n | -------------- associated function in this implementation\n30 | pub fn from_args(args: impl Iterator) -> Result> {\n | ^^^^^^^^^\n\nwarning: hiding a lifetime that's elided elsewhere is confusing\n --> src/utils/tree.rs:155:32\n |\n155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype> {\n | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here\n | | |\n | | the same lifetime is elided here\n | the lifetime is elided here\n |\n = help: the same lifetime is referred to in inconsistent ways, making the signature confusing\n = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default\nhelp: use `'_` for type paths\n |\n155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype<'_>> {\n | ++++\n\ntree 77555c6a6e5071630dde837355a8d64ca2df6900\nauthor rust-git <163@163.com> 1757474520 +0000\ncommitter rust-git <163@163.com> 1757474520 +0000\n\ncommit-message\n" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5b2c33f33252 - std::backtrace_rs::backtrace::libunwind::trace::h52580dd202462214 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5b2c33f33252 - std::backtrace_rs::backtrace::trace_unsynchronized::hc969519abce0f52b [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5b2c33f33252 - std::sys::backtrace::_print_fmt::hfd5825900b6e0030 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5b2c33f33252 - ::fmt::h427144ad75cfb218 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5b2c33f44c7f - core::fmt::rt::Argument::fmt::hd5ccc9cf97cea7f7 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5b2c33f44c7f - core::fmt::write::h593aaf5adf0f5dae [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5b2c33efbd51 - std::io::default_write_fmt::h305b5a0727055346 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5b2c33efbd51 - std::io::Write::write_fmt::h76f14a8a88733dc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5b2c33f0a482 - std::sys::backtrace::BacktraceLock::print::h3953113552dca3ca [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5b2c33f0fc3f - std::panicking::default_hook::{{closure}}::h486b96ad75eafbb8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5b2c33f0fad1 - std::panicking::default_hook::h99456317c5a1a20c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5b2c3392fdce - as core::ops::function::Fn>::call::h441e4551014e4cf8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x5b2c3392fdce - test::test_main_with_exit_callback::{{closure}}::hdbca54e17f1a00e4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5b2c33f103af - as core::ops::function::Fn>::call::h1e57b72c4e1d3045 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x5b2c33f103af - std::panicking::panic_with_hook::h67ab0df20212e4ea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5b2c33f1015a - std::panicking::panic_handler::{{closure}}::hc9e4a933ae92e208 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5b2c33f0a5c9 - std::sys::backtrace::__rust_end_short_backtrace::hbfa72df9b68c2d19 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5b2c33eee53d - __rustc[8cce077e14951490]::rust_begin_unwind [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5b2c33f4ddf0 - core::panicking::panic_fmt::h49931053d20abf41 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5b2c33f4dba3 - core::panicking::assert_failed_inner::h3eabd3c15a9e5a8c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x5b2c3380bc63 - core::panicking::assert_failed::h2ac62c011620c614 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x5b2c337d6699 - git::command::cat_file::test::test_commit::hdc1628544fc79ed9 [INFO] [stdout] at /opt/rustwide/workdir/src/command/cat_file.rs:172:9 [INFO] [stdout] 22: 0x5b2c337d6747 - git::command::cat_file::test::test_commit::{{closure}}::h581fe5fb33efd2af [INFO] [stdout] at /opt/rustwide/workdir/src/command/cat_file.rs:154:21 [INFO] [stdout] 23: 0x5b2c3384e496 - core::ops::function::FnOnce::call_once::h2c2aca0a739e882e [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5b2c3392fb8b - core::ops::function::FnOnce::call_once::h5d9016d521f5aee4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x5b2c3392fb8b - test::__rust_begin_short_backtrace::h123fcee610330442 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5b2c33945675 - test::run_test_in_process::{{closure}}::h0442efda2e6359b2 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5b2c33945675 - as core::ops::function::FnOnce<()>>::call_once::hfe3528c8dd09682c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x5b2c33945675 - std::panicking::catch_unwind::do_call::hb1659f7844fe8531 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x5b2c33945675 - std::panicking::catch_unwind::hdc1f4be0019e72ad [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x5b2c33945675 - std::panic::catch_unwind::hd6d7ccfa4513e770 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5b2c33945675 - test::run_test_in_process::h6bbb839ed0802366 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5b2c33945675 - test::run_test::{{closure}}::he4fad7398c8acc11 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5b2c3391bfe4 - test::run_test::{{closure}}::h41975797e198d26c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5b2c3391bfe4 - std::sys::backtrace::__rust_begin_short_backtrace::hfb46c397857336f1 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hddf826a64f532bea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x5b2c3391f98a - as core::ops::function::FnOnce<()>>::call_once::hc3518c3eab91aeb3 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x5b2c3391f98a - std::panicking::catch_unwind::do_call::h7bf3ad6dc012415a [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x5b2c3391f98a - std::panicking::catch_unwind::h8b88f0375c767e36 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x5b2c3391f98a - std::panic::catch_unwind::h66cb5d61a90f7bc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::h65bc9d15fb966bbd [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x5b2c3391f98a - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8d2c9a8796342e5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x5b2c33f0438f - as core::ops::function::FnOnce>::call_once::hef12b47e5c033835 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 43: 0x5b2c33f0438f - std::sys::pal::unix::thread::Thread::new::thread_start::h135087e7c97657bc [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 44: 0x7295d7de9aa4 - [INFO] [stdout] 45: 0x7295d7e76a34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- command::merge::test::test_conflict stdout ---- [INFO] [stdout] cmd: git -C /tmp/.tmpEGXSFQ merge A output: Ok("Merge made by the 'ort' strategy.\n world/temp_nljmZn4rY7.txt | 0\n 1 file changed, 0 insertions(+), 0 deletions(-)\n create mode 100644 world/temp_nljmZn4rY7.txt\n") [INFO] [stdout] Command 'cargo run --quiet -- -C /tmp/.tmpG20s5r merge A' failed with exit code: Some(1), output: warning: unused import: `itertools::Update` [INFO] [stdout] --> src/cli/args.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Update; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandFactory` and `Subcommand` [INFO] [stdout] --> src/cli/args.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use clap::{Parser, Subcommand, CommandFactory, ValueHint}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `to_pathbuf` [INFO] [stdout] --> src/cli/args.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `NoSubCommand` [INFO] [stdout] --> src/utils/error.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | use GitError::{InvalidCommand, FileNotFound, NoSubCommand}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Index` [INFO] [stdout] --> src/utils/fs.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | Index, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf`, `fmt`, and `fs::File` [INFO] [stdout] --> src/utils/hash.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | fmt, [INFO] [stdout] | ^^^ [INFO] [stdout] 3 | io::Read, [INFO] [stdout] 4 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | path::{PathBuf, Path} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/utils/hash.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/utils/zlib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/utils/zlib.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Read, Write, BufReader}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/utils/zlib.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/utils/index.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/utils/index.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::{File, OpenOptions}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Read` [INFO] [stdout] --> src/utils/index.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{Write, BufWriter, Read, BufReader, BufRead}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian` and `ReadBytesExt` [INFO] [stdout] --> src/utils/index.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use byteorder::{ReadBytesExt, BigEndian}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha1` [INFO] [stdout] --> src/utils/index.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `take_until` [INFO] [stdout] --> src/utils/index.rs:7:34 [INFO] [stdout] | [INFO] [stdout] 7 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat_n` [INFO] [stdout] --> src/utils/index.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::iter::repeat_n; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Seek` [INFO] [stdout] --> src/utils/index.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | use std::io::Seek; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/objtype.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | path::PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/utils/objtype.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Result [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `space1`, `take_until`, `take`, `u32`, and `value` [INFO] [stdout] --> src/utils/objtype.rs:22:28 [INFO] [stdout] | [INFO] [stdout] 22 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^ [INFO] [stdout] 23 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | character::complete::{digit1, space1, u32, alpha1}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | preceded, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | map, map_res, eof, value [INFO] [stdout] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/blob.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | path::PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `digit1`, `many1`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `separated_pair`, `space1`, `u32`, and `value` [INFO] [stdout] --> src/utils/tree.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | character::complete::{alpha1, digit1, space1, u32}, [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^^^ ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | preceded, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | separated_pair, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | many1, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | map, map_res, eof, value, [INFO] [stdout] | ^^^ ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_object` [INFO] [stdout] --> src/utils/tree.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | read_object, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/commit.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | path::PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `branch::alt`, `digit1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `separated_pair`, `space1`, `take`, `u32`, and `value` [INFO] [stdout] --> src/utils/commit.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | tag, take, take_until, take_while, [INFO] [stdout] | ^^^^ [INFO] [stdout] 26 | }, [INFO] [stdout] 27 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | character::complete::{digit1, space1, u32, alpha1, }, [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | separated_pair, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 33 | }, [INFO] [stdout] 34 | branch::alt, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | combinator::{ [INFO] [stdout] 36 | map, map_res, eof, value, opt [INFO] [stdout] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `copy`, `fs`, `mem`, `read_dir`, and `self` [INFO] [stdout] --> src/utils/test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | mem, [INFO] [stdout] | ^^^ [INFO] [stdout] 4 | io::{ [INFO] [stdout] 5 | self, [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | }, [INFO] [stdout] 8 | fs, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | fs::{ [INFO] [stdout] 10 | read_dir, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | copy, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/utils/test.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `commit::Commit`, `fs::read_file_as_bytes`, and `objtype::Obj` [INFO] [stdout] --> src/utils/refs.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 6 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | objtype::Obj, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/utils/protocol.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/utils/packfile.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Cursor, Read, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Path` and `iter::once` [INFO] [stdout] --> src/command/add.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | Path, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | iter::once, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/add.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Either` [INFO] [stdout] --> src/command/add.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use itertools::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GitError`, `IndexEntry`, `objtype::ObjType`, `read_file_as_bytes`, `tree::FileMode`, and `write_object` [INFO] [stdout] --> src/command/add.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | objtype::ObjType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | IndexEntry, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | write_object, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 24 | read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | tree::FileMode, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/branch.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `write_ref_commit` [INFO] [stdout] --> src/command/branch.rs:8:51 [INFO] [stdout] | [INFO] [stdout] 8 | utils::refs::{read_head_ref, read_ref_commit, write_ref_commit}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/checkout.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `read_head_commit` and `write_ref_commit` [INFO] [stdout] --> src/command/checkout.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | write_ref_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | write_head_commit, [INFO] [stdout] 17 | read_head_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `write_object` [INFO] [stdout] --> src/command/checkout.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | write_object, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command` and `Subcommand` [INFO] [stdout] --> src/command/commit.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand, Command}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `Write`, and `self` [INFO] [stdout] --> src/command/commit.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Write, Cursor}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Command as ProcessCommand` [INFO] [stdout] --> src/command/commit.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::process::Command as ProcessCommand; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommitTree`, `hash::hash_object`, `index::Index`, and `tree::Tree` [INFO] [stdout] --> src/command/commit.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | WriteTree, CommitTree, UpdateRef [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 15 | index::Index, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::refs::*` [INFO] [stdout] --> src/command/fetch.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{GitError, Result, utils::refs::*}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::Into` [INFO] [stdout] --> src/command/init.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandFactory` and `Subcommand` [INFO] [stdout] --> src/command/init.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `Obj`, `blob::Blob`, `commit::Commit`, `decompress_file_as_bytes`, `decompress_file`, `fs::obj_to_pathbuf`, `parse_meta`, and `tree::Tree` [INFO] [stdout] --> src/command/init.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | decompress_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | }, [INFO] [stdout] 12 | fs::obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | objtype::{ [INFO] [stdout] 14 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | parse_meta, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 16 | Obj, [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | }, [INFO] [stdout] 18 | blob::Blob, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 19 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 20 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stdout] --> src/command/init.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] 31 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | IResult, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::write` [INFO] [stdout] --> src/command/merge.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/command/merge.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/merge.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChangeTag` and `TextDiff` [INFO] [stdout] --> src/command/merge.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use similar::{ChangeTag, TextDiff}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileMode`, `ObjType`, `compress_object`, `decompress_file`, `hash::hash_object`, `obj_to_pathbuf`, `read_file_as_bytes`, `test::shell_spawn`, and `write_branch_commit` [INFO] [stdout] --> src/command/merge.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | compress_object [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 23 | read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | objtype::{ [INFO] [stdout] 30 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | write_branch_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | FileMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | test::shell_spawn, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `commit` [INFO] [stdout] --> src/command/merge.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | commit, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `head_to_hash` [INFO] [stdout] --> src/command/pull.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::refs::{read_head_ref, head_to_hash}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Checkout` and `ReadTree` [INFO] [stdout] --> src/command/pull.rs:5:39 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{SubCommand, Fetch, Merge, Checkout, ReadTree}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/rm.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/rm.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | Path [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::Into` [INFO] [stdout] --> src/command/cat_file.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/cat_file.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `blob::Blob`, `commit::Commit`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stdout] --> src/command/cat_file.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | fs::{obj_to_pathbuf_legacy, obj_to_pathbuf}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 11 | objtype::{ [INFO] [stdout] 12 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | blob::Blob, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 17 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 18 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stdout] --> src/command/cat_file.rs:28:23 [INFO] [stdout] | [INFO] [stdout] 28 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] 29 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | IResult, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::write` [INFO] [stdout] --> src/command/hash_object.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/hash_object.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | Path, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/hash_object.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `Obj`, `commit::Commit`, `compress_object`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stdout] --> src/command/hash_object.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | compress_object [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | Obj, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 25 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/command/hash_object.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/update_index.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/update_index.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_git_dir` and `hash::hash_object` [INFO] [stdout] --> src/command/update_index.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | get_git_dir, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::TempDir` [INFO] [stdout] --> src/command/update_index.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use tempfile::TempDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/read_tree.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::index` [INFO] [stdout] --> src/command/read_tree.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `compress_object` [INFO] [stdout] --> src/command/read_tree.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fs::read_file_as_bytes` and `hash::hash_object` [INFO] [stdout] --> src/command/read_tree.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/write_tree.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs::read_file_as_bytes` [INFO] [stdout] --> src/command/write_tree.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/commit_tree.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `hash::hash_object` and `zlib::compress_object` [INFO] [stdout] --> src/command/commit_tree.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | zlib::compress_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/command/commit_tree.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/update_ref.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/update_ref.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::index` [INFO] [stdout] --> src/command/update_ref.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `compress_object` and `decompress_file_bytes` [INFO] [stdout] --> src/command/update_ref.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileMode`, `IndexEntry`, `Index`, `Tree`, `fs::read_file_as_bytes`, and `hash::hash_object` [INFO] [stdout] --> src/command/update_ref.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | index::{Index, IndexEntry}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] 13 | tree::{ [INFO] [stdout] 14 | Tree, [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | FileMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Read` [INFO] [stdout] --> src/utils/hash.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | io::Read, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/utils/index.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::Display` [INFO] [stdout] --> src/utils/objtype.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | fmt::Display, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidHash`, `InvalidBlob`, `InvalidTree`, `FailedToRmoveFile`, `BrokenCommitHistory`, and `NoSameAncestor` are never constructed [INFO] [stdout] --> src/utils/error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum GitError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 10 | InvalidCommand(String), [INFO] [stdout] 11 | InvalidHash(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 12 | InvalidBlob(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | InvalidTree(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | FailedToRmoveFile(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | BrokenCommitHistory(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | MergeConflict(String), [INFO] [stdout] 31 | NoSameAncestor(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GitError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] warning: associated functions `invalid_blob`, `invalid_hash`, and `invaild_path_encoding` are never used [INFO] [stdout] --> src/utils/error.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl GitError { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn invalid_blob(path: &str) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn invalid_hash(hash: &str) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn invaild_path_encoding(path: &str) -> Box{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `to_pathbuf` is never used [INFO] [stdout] --> src/utils/fs.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn to_pathbuf(slice: &str) -> std::result::Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `read_file_as_reader` is never used [INFO] [stdout] --> src/utils/fs.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn read_file_as_reader(file_path: &T) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `hash_file` is never used [INFO] [stdout] --> src/utils/hash.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn hash_file(path: &T) -> Result [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `decompress_file` is never used [INFO] [stdout] --> src/utils/zlib.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn decompress_file

(input_path: &P) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `compress_file` is never used [INFO] [stdout] --> src/utils/zlib.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn compress_file

(path: &P) -> Result> [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `time_it` is never used [INFO] [stdout] --> src/utils/test.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn time_it(func: F) -> crate::Result [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `shell_spawn` is never used [INFO] [stdout] --> src/utils/test.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn shell_spawn(command_list: &[&str]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `setup_test_git_dir` is never used [INFO] [stdout] --> src/utils/test.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn setup_test_git_dir() -> tempfile::TempDir { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `mktemp_in` is never used [INFO] [stdout] --> src/utils/test.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn mktemp_in(dir: T) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `touch_file_in` is never used [INFO] [stdout] --> src/utils/test.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn touch_file_in(dir: T) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `cp_dir` is never used [INFO] [stdout] --> src/utils/test.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn cp_dir(from: T, to: T) -> Result [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: type alias `Args` is never used [INFO] [stdout] --> src/utils/test.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 112 | pub type Args<'a> = &'a[&'a str]; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: type alias `ArgsList` is never used [INFO] [stdout] --> src/utils/test.rs:113:10 [INFO] [stdout] | [INFO] [stdout] 113 | pub type ArgsList<'a> = &'a[(Args<'a>, bool)]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `cmd_seq` is never used [INFO] [stdout] --> src/utils/test.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn cmd_seq<'a, 'b>(args_list: ArgsList<'a>) -> impl FnMut(Args<'b>) -> Result, String> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `run_both` is never used [INFO] [stdout] --> src/utils/test.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn run_both<'a>(cmds: ArgsList<'a>, git: Args, cargo: Args) -> Result<(Vec, Vec), String> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `read_head_commit` is never used [INFO] [stdout] --> src/utils/refs.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn read_head_commit(gitdir: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `write_branch_commit` is never used [INFO] [stdout] --> src/utils/refs.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn write_branch_commit(gitdir: &Path, branch: &str, hash: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: fields `hash`, `obj_type`, and `data` are never read [INFO] [stdout] --> src/utils/packfile.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 157 | struct PackfileObject { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 158 | hash: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 159 | obj_type: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 160 | data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PackfileObject` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: associated function `get_staged_file` is never used [INFO] [stdout] --> src/command/checkout.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 60 | impl Checkout { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 168 | fn get_staged_file(gitdir: &Path, path: &Path) -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: field `deleted_refs` is never read [INFO] [stdout] --> src/command/fetch.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct FetchResult { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | pub deleted_refs: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FetchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: method `copy_missing_objects` is never used [INFO] [stdout] --> src/command/fetch.rs:276:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl Fetch { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 276 | fn copy_missing_objects(&self, gitdir: &PathBuf, remote_gitdir: &PathBuf, commit_hash: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `fetch_specs` are never read [INFO] [stdout] --> src/command/fetch.rs:390:5 [INFO] [stdout] | [INFO] [stdout] 389 | struct RemoteConfig { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 390 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 391 | url: String, [INFO] [stdout] 392 | fetch_specs: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoteConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: field `new_commit` is never read [INFO] [stdout] --> src/command/push.rs:930:5 [INFO] [stdout] | [INFO] [stdout] 926 | struct PushInfo { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 930 | new_commit: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PushInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: method `build_tree_content` is never used [INFO] [stdout] --> src/command/write_tree.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl WriteTree { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | fn build_tree_content(&self, index: &Index) -> Result>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: method `asshole` is never used [INFO] [stdout] --> src/command/commit_tree.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl CommitTree { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn asshole(self, gitdir: PathBuf) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: associated function `from_args` is never used [INFO] [stdout] --> src/command/update_ref.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl UpdateRef { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 30 | pub fn from_args(args: impl Iterator) -> Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/tree.rs:155:32 [INFO] [stdout] | [INFO] [stdout] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype> { [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] Invalid command: already on branch 'refs/heads/master' [INFO] [stdout] merge [INFO] [stdout] 32000a79e415a45c718f2a334b271cfb0161c7d8 [INFO] [stdout] [INFO] [stdout] cmd: cargo run --quiet -- -C /tmp/.tmpG20s5r merge A output: Err("") [INFO] [stdout] [INFO] [stdout] thread 'command::merge::test::test_conflict' (184) panicked at src/command/merge.rs:599:49: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: "" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5b2c33f33252 - std::backtrace_rs::backtrace::libunwind::trace::h52580dd202462214 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5b2c33f33252 - std::backtrace_rs::backtrace::trace_unsynchronized::hc969519abce0f52b [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5b2c33f33252 - std::sys::backtrace::_print_fmt::hfd5825900b6e0030 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5b2c33f33252 - ::fmt::h427144ad75cfb218 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5b2c33f44c7f - core::fmt::rt::Argument::fmt::hd5ccc9cf97cea7f7 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5b2c33f44c7f - core::fmt::write::h593aaf5adf0f5dae [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5b2c33efbd51 - std::io::default_write_fmt::h305b5a0727055346 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5b2c33efbd51 - std::io::Write::write_fmt::h76f14a8a88733dc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5b2c33f0a482 - std::sys::backtrace::BacktraceLock::print::h3953113552dca3ca [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5b2c33f0fc3f - std::panicking::default_hook::{{closure}}::h486b96ad75eafbb8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5b2c33f0fad1 - std::panicking::default_hook::h99456317c5a1a20c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5b2c3392fdce - as core::ops::function::Fn>::call::h441e4551014e4cf8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x5b2c3392fdce - test::test_main_with_exit_callback::{{closure}}::hdbca54e17f1a00e4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5b2c33f103af - as core::ops::function::Fn>::call::h1e57b72c4e1d3045 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x5b2c33f103af - std::panicking::panic_with_hook::h67ab0df20212e4ea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5b2c33f1015a - std::panicking::panic_handler::{{closure}}::hc9e4a933ae92e208 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5b2c33f0a5c9 - std::sys::backtrace::__rust_end_short_backtrace::hbfa72df9b68c2d19 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5b2c33eee53d - __rustc[8cce077e14951490]::rust_begin_unwind [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5b2c33f4ddf0 - core::panicking::panic_fmt::h49931053d20abf41 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5b2c33f4d2f6 - core::result::unwrap_failed::h7f5a2d4cf85d933f [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/result.rs:1854:5 [INFO] [stdout] 20: 0x5b2c3381899a - core::result::Result::unwrap::hb1d204da80d52f0e [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/result.rs:1225:23 [INFO] [stdout] 21: 0x5b2c3381899a - git::command::merge::test::test_conflict::h8ef91ba79d91991e [INFO] [stdout] at /opt/rustwide/workdir/src/command/merge.rs:599:49 [INFO] [stdout] 22: 0x5b2c33819837 - git::command::merge::test::test_conflict::{{closure}}::h812ede1c8df7ff4e [INFO] [stdout] at /opt/rustwide/workdir/src/command/merge.rs:555:23 [INFO] [stdout] 23: 0x5b2c3384eec6 - core::ops::function::FnOnce::call_once::h9f6c8a9e488642d2 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5b2c3392fb8b - core::ops::function::FnOnce::call_once::h5d9016d521f5aee4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x5b2c3392fb8b - test::__rust_begin_short_backtrace::h123fcee610330442 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5b2c33945675 - test::run_test_in_process::{{closure}}::h0442efda2e6359b2 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5b2c33945675 - as core::ops::function::FnOnce<()>>::call_once::hfe3528c8dd09682c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x5b2c33945675 - std::panicking::catch_unwind::do_call::hb1659f7844fe8531 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x5b2c33945675 - std::panicking::catch_unwind::hdc1f4be0019e72ad [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x5b2c33945675 - std::panic::catch_unwind::hd6d7ccfa4513e770 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5b2c33945675 - test::run_test_in_process::h6bbb839ed0802366 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5b2c33945675 - test::run_test::{{closure}}::he4fad7398c8acc11 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5b2c3391bfe4 - test::run_test::{{closure}}::h41975797e198d26c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5b2c3391bfe4 - std::sys::backtrace::__rust_begin_short_backtrace::hfb46c397857336f1 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hddf826a64f532bea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x5b2c3391f98a - as core::ops::function::FnOnce<()>>::call_once::hc3518c3eab91aeb3 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x5b2c3391f98a - std::panicking::catch_unwind::do_call::h7bf3ad6dc012415a [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x5b2c3391f98a - std::panicking::catch_unwind::h8b88f0375c767e36 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x5b2c3391f98a - std::panic::catch_unwind::h66cb5d61a90f7bc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::h65bc9d15fb966bbd [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x5b2c3391f98a - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8d2c9a8796342e5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x5b2c33f0438f - as core::ops::function::FnOnce>::call_once::hef12b47e5c033835 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 43: 0x5b2c33f0438f - std::sys::pal::unix::thread::Thread::new::thread_start::h135087e7c97657bc [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 44: 0x7295d7de9aa4 - [INFO] [stdout] 45: 0x7295d7e76a34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- command::merge::test::test_simple_merge stdout ---- [INFO] [stdout] cmd: git -C /tmp/.tmpSPIDrx merge A output: Ok("Merge made by the 'ort' strategy.\n world/temp_lN8359Ouia.txt | 0\n 1 file changed, 0 insertions(+), 0 deletions(-)\n create mode 100644 world/temp_lN8359Ouia.txt\n") [INFO] [stdout] Command 'cargo run --quiet -- -C /tmp/.tmpcJtzJi merge A' failed with exit code: Some(1), output: warning: unused import: `itertools::Update` [INFO] [stdout] --> src/cli/args.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use itertools::Update; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandFactory` and `Subcommand` [INFO] [stdout] --> src/cli/args.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use clap::{Parser, Subcommand, CommandFactory, ValueHint}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `to_pathbuf` [INFO] [stdout] --> src/cli/args.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `NoSubCommand` [INFO] [stdout] --> src/utils/error.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | use GitError::{InvalidCommand, FileNotFound, NoSubCommand}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Index` [INFO] [stdout] --> src/utils/fs.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | Index, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf`, `fmt`, and `fs::File` [INFO] [stdout] --> src/utils/hash.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | fmt, [INFO] [stdout] | ^^^ [INFO] [stdout] 3 | io::Read, [INFO] [stdout] 4 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 5 | path::{PathBuf, Path} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/utils/hash.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/utils/zlib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/utils/zlib.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Read, Write, BufReader}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/utils/zlib.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `PathBuf` [INFO] [stdout] --> src/utils/index.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/utils/index.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::{File, OpenOptions}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `Read` [INFO] [stdout] --> src/utils/index.rs:3:33 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{Write, BufWriter, Read, BufReader, BufRead}; [INFO] [stdout] | ^^^^ ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BigEndian` and `ReadBytesExt` [INFO] [stdout] --> src/utils/index.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use byteorder::{ReadBytesExt, BigEndian}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha1` [INFO] [stdout] --> src/utils/index.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `take_until` [INFO] [stdout] --> src/utils/index.rs:7:34 [INFO] [stdout] | [INFO] [stdout] 7 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat_n` [INFO] [stdout] --> src/utils/index.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::iter::repeat_n; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Seek` [INFO] [stdout] --> src/utils/index.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | use std::io::Seek; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/objtype.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | path::PathBuf, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Result` [INFO] [stdout] --> src/utils/objtype.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | Result [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `space1`, `take_until`, `take`, `u32`, and `value` [INFO] [stdout] --> src/utils/objtype.rs:22:28 [INFO] [stdout] | [INFO] [stdout] 22 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^ [INFO] [stdout] 23 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | character::complete::{digit1, space1, u32, alpha1}, [INFO] [stdout] | ^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | preceded, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | map, map_res, eof, value [INFO] [stdout] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/blob.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | path::PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `digit1`, `many1`, `map_res`, `map`, `number::complete::be_u32`, `preceded`, `separated_pair`, `space1`, `u32`, and `value` [INFO] [stdout] --> src/utils/tree.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | character::complete::{alpha1, digit1, space1, u32}, [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^^^^ ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | preceded, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 32 | separated_pair, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | many1, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | map, map_res, eof, value, [INFO] [stdout] | ^^^ ^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_object` [INFO] [stdout] --> src/utils/tree.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | read_object, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `path::PathBuf` [INFO] [stdout] --> src/utils/commit.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | path::PathBuf [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `alpha1`, `branch::alt`, `digit1`, `eof`, `map_res`, `map`, `number::complete::be_u32`, `separated_pair`, `space1`, `take`, `u32`, and `value` [INFO] [stdout] --> src/utils/commit.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | tag, take, take_until, take_while, [INFO] [stdout] | ^^^^ [INFO] [stdout] 26 | }, [INFO] [stdout] 27 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | character::complete::{digit1, space1, u32, alpha1, }, [INFO] [stdout] | ^^^^^^ ^^^^^^ ^^^ ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | separated_pair, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 33 | }, [INFO] [stdout] 34 | branch::alt, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | combinator::{ [INFO] [stdout] 36 | map, map_res, eof, value, opt [INFO] [stdout] | ^^^ ^^^^^^^ ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `copy`, `fs`, `mem`, `read_dir`, and `self` [INFO] [stdout] --> src/utils/test.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | mem, [INFO] [stdout] | ^^^ [INFO] [stdout] 4 | io::{ [INFO] [stdout] 5 | self, [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | Write, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | }, [INFO] [stdout] 8 | fs, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | fs::{ [INFO] [stdout] 10 | read_dir, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | copy, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/utils/test.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `commit::Commit`, `fs::read_file_as_bytes`, and `objtype::Obj` [INFO] [stdout] --> src/utils/refs.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 6 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | objtype::Obj, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/utils/protocol.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write` and `self` [INFO] [stdout] --> src/utils/packfile.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{self, Cursor, Read, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Path` and `iter::once` [INFO] [stdout] --> src/command/add.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | Path, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 7 | iter::once, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/add.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `itertools::Either` [INFO] [stdout] --> src/command/add.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use itertools::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GitError`, `IndexEntry`, `objtype::ObjType`, `read_file_as_bytes`, `tree::FileMode`, and `write_object` [INFO] [stdout] --> src/command/add.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | objtype::ObjType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | IndexEntry, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | write_object, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 24 | read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | tree::FileMode, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/branch.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `write_ref_commit` [INFO] [stdout] --> src/command/branch.rs:8:51 [INFO] [stdout] | [INFO] [stdout] 8 | utils::refs::{read_head_ref, read_ref_commit, write_ref_commit}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/checkout.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use clap::{Parser, Subcommand}; [INFO] [stderr] error: test failed, to rerun pass `--bin git` [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `read_head_commit` and `write_ref_commit` [INFO] [stdout] --> src/command/checkout.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | write_ref_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | write_head_commit, [INFO] [stdout] 17 | read_head_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `write_object` [INFO] [stdout] --> src/command/checkout.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | write_object, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Command` and `Subcommand` [INFO] [stdout] --> src/command/commit.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand, Command}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Cursor`, `Write`, and `self` [INFO] [stdout] --> src/command/commit.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Write, Cursor}; [INFO] [stdout] | ^^^^ ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Command as ProcessCommand` [INFO] [stdout] --> src/command/commit.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::process::Command as ProcessCommand; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommitTree`, `hash::hash_object`, `index::Index`, and `tree::Tree` [INFO] [stdout] --> src/command/commit.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | WriteTree, CommitTree, UpdateRef [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 15 | index::Index, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `utils::refs::*` [INFO] [stdout] --> src/command/fetch.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{GitError, Result, utils::refs::*}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::Into` [INFO] [stdout] --> src/command/init.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandFactory` and `Subcommand` [INFO] [stdout] --> src/command/init.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `Obj`, `blob::Blob`, `commit::Commit`, `decompress_file_as_bytes`, `decompress_file`, `fs::obj_to_pathbuf`, `parse_meta`, and `tree::Tree` [INFO] [stdout] --> src/command/init.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | decompress_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | }, [INFO] [stdout] 12 | fs::obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | objtype::{ [INFO] [stdout] 14 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | parse_meta, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 16 | Obj, [INFO] [stdout] | ^^^ [INFO] [stdout] 17 | }, [INFO] [stdout] 18 | blob::Blob, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 19 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 20 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stdout] --> src/command/init.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] 31 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | IResult, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::write` [INFO] [stdout] --> src/command/merge.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/command/merge.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/merge.rs:9:20 [INFO] [stdout] | [INFO] [stdout] 9 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChangeTag` and `TextDiff` [INFO] [stdout] --> src/command/merge.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use similar::{ChangeTag, TextDiff}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileMode`, `ObjType`, `compress_object`, `decompress_file`, `hash::hash_object`, `obj_to_pathbuf`, `read_file_as_bytes`, `test::shell_spawn`, and `write_branch_commit` [INFO] [stdout] --> src/command/merge.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | compress_object [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 23 | read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | objtype::{ [INFO] [stdout] 30 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | write_branch_commit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | FileMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | test::shell_spawn, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `commit` [INFO] [stdout] --> src/command/merge.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | commit, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `head_to_hash` [INFO] [stdout] --> src/command/pull.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::refs::{read_head_ref, head_to_hash}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Checkout` and `ReadTree` [INFO] [stdout] --> src/command/pull.rs:5:39 [INFO] [stdout] | [INFO] [stdout] 5 | use super::{SubCommand, Fetch, Merge, Checkout, ReadTree}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/rm.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/rm.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 6 | Path [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::convert::Into` [INFO] [stdout] --> src/command/cat_file.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::convert::Into; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/cat_file.rs:3:20 [INFO] [stdout] | [INFO] [stdout] 3 | use clap::{Parser, Subcommand, CommandFactory}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `blob::Blob`, `commit::Commit`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stdout] --> src/command/cat_file.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | fs::{obj_to_pathbuf_legacy, obj_to_pathbuf}, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 11 | objtype::{ [INFO] [stdout] 12 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | blob::Blob, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 17 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 18 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IResult`, `number::complete::be_u32`, `tag`, `take_until`, and `take` [INFO] [stdout] --> src/command/cat_file.rs:28:23 [INFO] [stdout] | [INFO] [stdout] 28 | bytes::complete::{tag, take, take_until}, [INFO] [stdout] | ^^^ ^^^^ ^^^^^^^^^^ [INFO] [stdout] 29 | number::complete::be_u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | IResult, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::write` [INFO] [stdout] --> src/command/hash_object.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/hash_object.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | Path, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/hash_object.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ObjType`, `Obj`, `commit::Commit`, `compress_object`, `decompress_file`, `obj_to_pathbuf`, and `tree::Tree` [INFO] [stdout] --> src/command/hash_object.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | decompress_file, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | compress_object [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | obj_to_pathbuf, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | ObjType, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 21 | Obj, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | tree::Tree, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 25 | commit::Commit, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/command/hash_object.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/update_index.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/update_index.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `get_git_dir` and `hash::hash_object` [INFO] [stdout] --> src/command/update_index.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | get_git_dir, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::TempDir` [INFO] [stdout] --> src/command/update_index.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use tempfile::TempDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/read_tree.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::index` [INFO] [stdout] --> src/command/read_tree.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `compress_object` [INFO] [stdout] --> src/command/read_tree.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fs::read_file_as_bytes` and `hash::hash_object` [INFO] [stdout] --> src/command/read_tree.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/write_tree.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs::read_file_as_bytes` [INFO] [stdout] --> src/command/write_tree.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/commit_tree.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `hash::hash_object` and `zlib::compress_object` [INFO] [stdout] --> src/command/commit_tree.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | zlib::compress_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `GitError` [INFO] [stdout] --> src/command/commit_tree.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | GitError, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/command/update_ref.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::{PathBuf,Path}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Subcommand` [INFO] [stdout] --> src/command/update_ref.rs:2:20 [INFO] [stdout] | [INFO] [stdout] 2 | use clap::{Parser, Subcommand}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::index` [INFO] [stdout] --> src/command/update_ref.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::utils::index; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `compress_object` and `decompress_file_bytes` [INFO] [stdout] --> src/command/update_ref.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::utils::zlib::{compress_object, decompress_file_bytes}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FileMode`, `IndexEntry`, `Index`, `Tree`, `fs::read_file_as_bytes`, and `hash::hash_object` [INFO] [stdout] --> src/command/update_ref.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | fs::read_file_as_bytes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | hash::hash_object, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | index::{Index, IndexEntry}, [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] 13 | tree::{ [INFO] [stdout] 14 | Tree, [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | FileMode, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Read` [INFO] [stdout] --> src/utils/hash.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | io::Read, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `Digest` [INFO] [stdout] --> src/utils/index.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::Display` [INFO] [stdout] --> src/utils/objtype.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | fmt::Display, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidHash`, `InvalidBlob`, `InvalidTree`, `FailedToRmoveFile`, `BrokenCommitHistory`, and `NoSameAncestor` are never constructed [INFO] [stdout] --> src/utils/error.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum GitError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 10 | InvalidCommand(String), [INFO] [stdout] 11 | InvalidHash(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 12 | InvalidBlob(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | InvalidTree(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | FailedToRmoveFile(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | BrokenCommitHistory(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | MergeConflict(String), [INFO] [stdout] 31 | NoSameAncestor(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GitError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] warning: associated functions `invalid_blob`, `invalid_hash`, and `invaild_path_encoding` are never used [INFO] [stdout] --> src/utils/error.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl GitError { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn invalid_blob(path: &str) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn invalid_hash(hash: &str) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn invaild_path_encoding(path: &str) -> Box{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `to_pathbuf` is never used [INFO] [stdout] --> src/utils/fs.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn to_pathbuf(slice: &str) -> std::result::Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `read_file_as_reader` is never used [INFO] [stdout] --> src/utils/fs.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn read_file_as_reader(file_path: &T) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `hash_file` is never used [INFO] [stdout] --> src/utils/hash.rs:32:4 [INFO] [stdout] | [INFO] [stdout] 32 | fn hash_file(path: &T) -> Result [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `decompress_file` is never used [INFO] [stdout] --> src/utils/zlib.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn decompress_file

(input_path: &P) -> Result [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `compress_file` is never used [INFO] [stdout] --> src/utils/zlib.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn compress_file

(path: &P) -> Result> [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `time_it` is never used [INFO] [stdout] --> src/utils/test.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn time_it(func: F) -> crate::Result [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `shell_spawn` is never used [INFO] [stdout] --> src/utils/test.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn shell_spawn(command_list: &[&str]) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `setup_test_git_dir` is never used [INFO] [stdout] --> src/utils/test.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn setup_test_git_dir() -> tempfile::TempDir { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `mktemp_in` is never used [INFO] [stdout] --> src/utils/test.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn mktemp_in(dir: T) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `touch_file_in` is never used [INFO] [stdout] --> src/utils/test.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn touch_file_in(dir: T) -> std::io::Result [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `cp_dir` is never used [INFO] [stdout] --> src/utils/test.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn cp_dir(from: T, to: T) -> Result [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: type alias `Args` is never used [INFO] [stdout] --> src/utils/test.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 112 | pub type Args<'a> = &'a[&'a str]; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] warning: type alias `ArgsList` is never used [INFO] [stdout] --> src/utils/test.rs:113:10 [INFO] [stdout] | [INFO] [stdout] 113 | pub type ArgsList<'a> = &'a[(Args<'a>, bool)]; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `cmd_seq` is never used [INFO] [stdout] --> src/utils/test.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn cmd_seq<'a, 'b>(args_list: ArgsList<'a>) -> impl FnMut(Args<'b>) -> Result, String> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `run_both` is never used [INFO] [stdout] --> src/utils/test.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn run_both<'a>(cmds: ArgsList<'a>, git: Args, cargo: Args) -> Result<(Vec, Vec), String> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `read_head_commit` is never used [INFO] [stdout] --> src/utils/refs.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn read_head_commit(gitdir: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: function `write_branch_commit` is never used [INFO] [stdout] --> src/utils/refs.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn write_branch_commit(gitdir: &Path, branch: &str, hash: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: fields `hash`, `obj_type`, and `data` are never read [INFO] [stdout] --> src/utils/packfile.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 157 | struct PackfileObject { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 158 | hash: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 159 | obj_type: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 160 | data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PackfileObject` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: associated function `get_staged_file` is never used [INFO] [stdout] --> src/command/checkout.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 60 | impl Checkout { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 168 | fn get_staged_file(gitdir: &Path, path: &Path) -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: field `deleted_refs` is never read [INFO] [stdout] --> src/command/fetch.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct FetchResult { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | pub deleted_refs: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FetchResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: method `copy_missing_objects` is never used [INFO] [stdout] --> src/command/fetch.rs:276:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl Fetch { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 276 | fn copy_missing_objects(&self, gitdir: &PathBuf, remote_gitdir: &PathBuf, commit_hash: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `fetch_specs` are never read [INFO] [stdout] --> src/command/fetch.rs:390:5 [INFO] [stdout] | [INFO] [stdout] 389 | struct RemoteConfig { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 390 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 391 | url: String, [INFO] [stdout] 392 | fetch_specs: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RemoteConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: field `new_commit` is never read [INFO] [stdout] --> src/command/push.rs:930:5 [INFO] [stdout] | [INFO] [stdout] 926 | struct PushInfo { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 930 | new_commit: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PushInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] warning: method `build_tree_content` is never used [INFO] [stdout] --> src/command/write_tree.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 23 | impl WriteTree { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 30 | fn build_tree_content(&self, index: &Index) -> Result>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: method `asshole` is never used [INFO] [stdout] --> src/command/commit_tree.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl CommitTree { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn asshole(self, gitdir: PathBuf) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: associated function `from_args` is never used [INFO] [stdout] --> src/command/update_ref.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl UpdateRef { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 30 | pub fn from_args(args: impl Iterator) -> Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/tree.rs:155:32 [INFO] [stdout] | [INFO] [stdout] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype> { [INFO] [stdout] | ^^^^^ ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | | [INFO] [stdout] | | the same lifetime is elided here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 155 | fn parse_from_bytes(bytes: &[u8]) -> IResult<&[u8], EntryPrototype<'_>> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] Invalid command: already on branch 'refs/heads/master' [INFO] [stdout] merge [INFO] [stdout] dd3f756df2fefec7dd5f55a4fab32204534fcd84 [INFO] [stdout] [INFO] [stdout] cmd: cargo run --quiet -- -C /tmp/.tmpcJtzJi merge A output: Err("") [INFO] [stdout] [INFO] [stdout] thread 'command::merge::test::test_simple_merge' (339) panicked at src/command/merge.rs:536:49: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: "" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5b2c33f33252 - std::backtrace_rs::backtrace::libunwind::trace::h52580dd202462214 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5b2c33f33252 - std::backtrace_rs::backtrace::trace_unsynchronized::hc969519abce0f52b [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5b2c33f33252 - std::sys::backtrace::_print_fmt::hfd5825900b6e0030 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5b2c33f33252 - ::fmt::h427144ad75cfb218 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5b2c33f44c7f - core::fmt::rt::Argument::fmt::hd5ccc9cf97cea7f7 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5b2c33f44c7f - core::fmt::write::h593aaf5adf0f5dae [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5b2c33efbd51 - std::io::default_write_fmt::h305b5a0727055346 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5b2c33efbd51 - std::io::Write::write_fmt::h76f14a8a88733dc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5b2c33f0a482 - std::sys::backtrace::BacktraceLock::print::h3953113552dca3ca [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5b2c33f0fc3f - std::panicking::default_hook::{{closure}}::h486b96ad75eafbb8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5b2c33f0fad1 - std::panicking::default_hook::h99456317c5a1a20c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5b2c3392fdce - as core::ops::function::Fn>::call::h441e4551014e4cf8 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x5b2c3392fdce - test::test_main_with_exit_callback::{{closure}}::hdbca54e17f1a00e4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5b2c33f103af - as core::ops::function::Fn>::call::h1e57b72c4e1d3045 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x5b2c33f103af - std::panicking::panic_with_hook::h67ab0df20212e4ea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5b2c33f1015a - std::panicking::panic_handler::{{closure}}::hc9e4a933ae92e208 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5b2c33f0a5c9 - std::sys::backtrace::__rust_end_short_backtrace::hbfa72df9b68c2d19 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5b2c33eee53d - __rustc[8cce077e14951490]::rust_begin_unwind [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5b2c33f4ddf0 - core::panicking::panic_fmt::h49931053d20abf41 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5b2c33f4d2f6 - core::result::unwrap_failed::h7f5a2d4cf85d933f [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/result.rs:1854:5 [INFO] [stdout] 20: 0x5b2c3381ddda - core::result::Result::unwrap::hb1d204da80d52f0e [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/result.rs:1225:23 [INFO] [stdout] 21: 0x5b2c3381ddda - git::command::merge::test::test_simple_merge::h0dbaacd17f4e2258 [INFO] [stdout] at /opt/rustwide/workdir/src/command/merge.rs:536:49 [INFO] [stdout] 22: 0x5b2c3381e8a7 - git::command::merge::test::test_simple_merge::{{closure}}::h0afb0587cbb1cd9d [INFO] [stdout] at /opt/rustwide/workdir/src/command/merge.rs:492:27 [INFO] [stdout] 23: 0x5b2c3384eb36 - core::ops::function::FnOnce::call_once::h6de6290f48c003be [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 24: 0x5b2c3392fb8b - core::ops::function::FnOnce::call_once::h5d9016d521f5aee4 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 25: 0x5b2c3392fb8b - test::__rust_begin_short_backtrace::h123fcee610330442 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5b2c33945675 - test::run_test_in_process::{{closure}}::h0442efda2e6359b2 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5b2c33945675 - as core::ops::function::FnOnce<()>>::call_once::hfe3528c8dd09682c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x5b2c33945675 - std::panicking::catch_unwind::do_call::hb1659f7844fe8531 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 29: 0x5b2c33945675 - std::panicking::catch_unwind::hdc1f4be0019e72ad [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 30: 0x5b2c33945675 - std::panic::catch_unwind::hd6d7ccfa4513e770 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5b2c33945675 - test::run_test_in_process::h6bbb839ed0802366 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5b2c33945675 - test::run_test::{{closure}}::he4fad7398c8acc11 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5b2c3391bfe4 - test::run_test::{{closure}}::h41975797e198d26c [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5b2c3391bfe4 - std::sys::backtrace::__rust_begin_short_backtrace::hfb46c397857336f1 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 35: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hddf826a64f532bea [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 36: 0x5b2c3391f98a - as core::ops::function::FnOnce<()>>::call_once::hc3518c3eab91aeb3 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x5b2c3391f98a - std::panicking::catch_unwind::do_call::h7bf3ad6dc012415a [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:590:40 [INFO] [stdout] 38: 0x5b2c3391f98a - std::panicking::catch_unwind::h8b88f0375c767e36 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panicking.rs:553:19 [INFO] [stdout] 39: 0x5b2c3391f98a - std::panic::catch_unwind::h66cb5d61a90f7bc5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5b2c3391f98a - std::thread::Builder::spawn_unchecked_::{{closure}}::h65bc9d15fb966bbd [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 41: 0x5b2c3391f98a - core::ops::function::FnOnce::call_once{{vtable.shim}}::he8d2c9a8796342e5 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/core/src/ops/function.rs:253:5 [INFO] [stdout] 42: 0x5b2c33f0438f - as core::ops::function::FnOnce>::call_once::hef12b47e5c033835 [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 43: 0x5b2c33f0438f - std::sys::pal::unix::thread::Thread::new::thread_start::h135087e7c97657bc [INFO] [stdout] at /rustc/ad85bc524b1ad696e42061ad8338d382dffbdbe5/library/std/src/sys/pal/unix/thread.rs:118:17 [INFO] [stdout] 44: 0x7295d7de9aa4 - [INFO] [stdout] 45: 0x7295d7e76a34 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] cli::args::test::test_add [INFO] [stdout] cli::args::test::test_rm [INFO] [stdout] command::cat_file::test::test_blob [INFO] [stdout] command::cat_file::test::test_commit [INFO] [stdout] command::cat_file::test::test_tree [INFO] [stdout] command::checkout::test::test_ppt_checkout [INFO] [stdout] command::commit::test::test_ppt_add_commit [INFO] [stdout] command::hash_object::test::test_blob [INFO] [stdout] command::merge::test::test_conflict [INFO] [stdout] command::merge::test::test_fast_forward [INFO] [stdout] command::merge::test::test_ppt_merge [INFO] [stdout] command::merge::test::test_simple_merge [INFO] [stdout] command::rm::test::test_ppt_rm [INFO] [stdout] command::update_index::tests::test_with_multi_add [INFO] [stdout] [INFO] [stdout] test result: FAILED. 28 passed; 14 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.38s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b19a56680885ee4685faa23a3e2272bfed63c425247286689b92b0732c028176", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b19a56680885ee4685faa23a3e2272bfed63c425247286689b92b0732c028176", kill_on_drop: false }` [INFO] [stdout] b19a56680885ee4685faa23a3e2272bfed63c425247286689b92b0732c028176