[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] a0507f143c63a5571e3df3b0d43b2376a0a9ea75 [INFO] testing 231220075/rit against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F231220075%2Frit" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-7-tc2/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-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/231220075/rit on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "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" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] df378f64144ac75d1b41f0cbc778824d5a84a0f6e9dc40774c53b4285f1fac7d [INFO] running `Command { std: "docker" "start" "-a" "df378f64144ac75d1b41f0cbc778824d5a84a0f6e9dc40774c53b4285f1fac7d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "df378f64144ac75d1b41f0cbc778824d5a84a0f6e9dc40774c53b4285f1fac7d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "df378f64144ac75d1b41f0cbc778824d5a84a0f6e9dc40774c53b4285f1fac7d", kill_on_drop: false }` [INFO] [stdout] df378f64144ac75d1b41f0cbc778824d5a84a0f6e9dc40774c53b4285f1fac7d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 92f129096d8d93fca4c2be17b1f71fa0d3431a88e36afe6e50ba217056a2d9f5 [INFO] running `Command { std: "docker" "start" "-a" "92f129096d8d93fca4c2be17b1f71fa0d3431a88e36afe6e50ba217056a2d9f5", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling writeable v0.6.1 [INFO] [stderr] Compiling litemap v0.8.0 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Compiling cc v1.2.30 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Compiling bitflags v2.9.0 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling tracing-core v0.1.34 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Compiling slab v0.4.10 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling http v0.2.12 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling indexmap v2.10.0 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling anstyle-parse v0.2.6 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling http-body v0.4.6 [INFO] [stderr] Compiling socket2 v0.5.10 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling getrandom v0.3.2 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling anstyle v1.0.10 [INFO] [stderr] Compiling serde_json v1.0.142 [INFO] [stderr] Compiling colorchoice v1.0.3 [INFO] [stderr] Compiling anstyle-query v1.1.2 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling anstream v0.6.18 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling clap_lex v0.7.4 [INFO] [stderr] Compiling adler2 v2.0.0 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling miniz_oxide v0.8.8 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling rustls-pemfile v1.0.4 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling clap_builder v4.5.35 [INFO] [stderr] Compiling rtoolbox v0.0.3 [INFO] [stderr] Compiling crc32fast v1.4.2 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling sync_wrapper v0.1.2 [INFO] [stderr] Compiling nu-ansi-term v0.50.1 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling diffy v0.4.2 [INFO] [stderr] Compiling flate2 v1.1.1 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling rpassword v7.4.0 [INFO] [stderr] Compiling nom v8.0.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling tempfile v3.19.1 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [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 regex v1.11.1 [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 clap v4.5.35 [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 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 34.81s [INFO] running `Command { std: "docker" "inspect" "92f129096d8d93fca4c2be17b1f71fa0d3431a88e36afe6e50ba217056a2d9f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "92f129096d8d93fca4c2be17b1f71fa0d3431a88e36afe6e50ba217056a2d9f5", kill_on_drop: false }` [INFO] [stdout] 92f129096d8d93fca4c2be17b1f71fa0d3431a88e36afe6e50ba217056a2d9f5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e87976edae9d9a4414bcee85c56405567547e4fe649d34107fe6e85e4d989b5f [INFO] running `Command { std: "docker" "start" "-a" "e87976edae9d9a4414bcee85c56405567547e4fe649d34107fe6e85e4d989b5f", 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 5.91s [INFO] running `Command { std: "docker" "inspect" "e87976edae9d9a4414bcee85c56405567547e4fe649d34107fe6e85e4d989b5f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e87976edae9d9a4414bcee85c56405567547e4fe649d34107fe6e85e4d989b5f", kill_on_drop: false }` [INFO] [stdout] e87976edae9d9a4414bcee85c56405567547e4fe649d34107fe6e85e4d989b5f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9cbdae68de731ad6da2f98571ba2dead8e4409ee72b76516c744d010539b601f [INFO] running `Command { std: "docker" "start" "-a" "9cbdae68de731ad6da2f98571ba2dead8e4409ee72b76516c744d010539b601f", 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] [stderr] | [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" -p git --tests` to apply 98 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/git-f99a2716633ecb3e) [INFO] [stdout] running 42 tests [INFO] [stdout] test cli::args::test::test_commit ... ok [INFO] [stdout] test cli::args::test::test_init ... ok [INFO] [stdout] test cli::args::test::test_add ... FAILED [INFO] [stdout] test command::commit_tree::tests::test_build_commit_content ... ok [INFO] [stdout] test cli::args::test::test_rm ... FAILED [INFO] [stdout] test command::commit::test::test_ppt_add_commit ... FAILED [INFO] [stdout] test command::commit_tree::tests::test_write_commit_object ... ok [INFO] [stdout] test command::checkout::test::test_ppt_checkout ... FAILED [INFO] [stdout] test command::commit_tree::tests::test_with_git ... 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::checkout::test::test_checkout_entire_directory ... ok [INFO] [stdout] test command::cat_file::test::test_blob ... FAILED [INFO] [stdout] test command::cat_file::test::test_commit ... FAILED [INFO] [stdout] test command::remote::tests::test_show_remotes ... ok [INFO] [stdout] test command::remote::tests::test_add_remote ... ok [INFO] [stdout] test command::rm::test::test_ppt_rm ... FAILED [INFO] [stdout] test command::cat_file::test::test_tree ... FAILED [INFO] [stdout] test command::add::test::test_add_directory ... ok [INFO] [stdout] test command::update_index::tests::test_update_index_with_cacheinfo ... ok [INFO] [stdout] test command::merge::test::test_fast_forward ... FAILED [INFO] [stdout] test command::init::test::test_init_anthoer_repo ... ok [INFO] [stdout] test command::hash_object::test::test_blob ... FAILED [INFO] [stdout] test command::add::test::test_basic ... ok [INFO] [stdout] test command::update_index::tests::test_with_tree_add ... ok [INFO] [stdout] test command::read_tree::test::test_simple ... ok [INFO] [stdout] test command::read_tree::test::test_read_tree_without_prefix ... ok [INFO] [stdout] test command::init::test::test_basic ... ok [INFO] [stdout] test command::merge::test::test_simple_merge ... FAILED [INFO] [stdout] test command::merge::test::test_conflict ... FAILED [INFO] [stdout] test command::commit::test::test_simple ... ok [INFO] [stdout] test command::update_index::tests::test_empty ... ok [INFO] [stdout] test command::add::test::test_add_twice ... ok [INFO] [stdout] test command::update_index::tests::test_with_multi_add ... ok [INFO] [stdout] test command::update_index::tests::test_with_two_add ... ok [INFO] [stdout] test command::rm::test::test_basic ... ok [INFO] [stdout] test command::rm::test::test_rm_dir ... 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::add::test::test_add_same_file_multi ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- cli::args::test::test_add stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'cli::args::test::test_add' (16) 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: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x55978f38001a - std[ec4e911328de40a6]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x55978f38001a - <::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x55978f39711a - ::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x55978f39711a - core[a96a4c5c53f902a3]::fmt::write [INFO] [stdout] 6: 0x55978f385cd2 - std[ec4e911328de40a6]::io::default_write_fmt::> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x55978f385cd2 - as std[ec4e911328de40a6]::io::Write>::write_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x55978f35a8cf - ::print [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x55978f35a8cf - std[ec4e911328de40a6]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x55978f375fa9 - std[ec4e911328de40a6]::panicking::default_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x55978ed8ccfc - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x55978ed8ccfc - test[30c43f9fd66fea90]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x55978f376222 - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x55978f376222 - std[ec4e911328de40a6]::panicking::panic_with_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x55978f35a988 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x55978f351e79 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x55978f35b96d - __rustc[aa69f48705c57ca8]::rust_begin_unwind [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x55978f39790c - core[a96a4c5c53f902a3]::panicking::panic_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x55978f397652 - core[a96a4c5c53f902a3]::result::unwrap_failed [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1867:5 [INFO] [stdout] 20: 0x55978ec4887c - >::unwrap [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x55978ec4887c - git[7364b026c740e80c]::cli::args::test::test_add [INFO] [stdout] at /opt/rustwide/workdir/src/cli/args.rs:145:34 [INFO] [stdout] 22: 0x55978ec34d07 - git[7364b026c740e80c]::cli::args::test::test_add::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/cli/args.rs:131:18 [INFO] [stdout] 23: 0x55978ec78c56 - >::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x55978ed80ddb - core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x55978ed80ddb - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x55978ed8d7cb - as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x55978ed8d7cb - std[ec4e911328de40a6]::panic::catch_unwind::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x55978ed88ee4 - test[30c43f9fd66fea90]::run_test::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x55978ed88ee4 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x55978ed903d2 - ::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x55978ed903d2 - std[ec4e911328de40a6]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x55978ed903d2 - ::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x55978f37f01f - + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x55978f37f01f - ::new::thread_start [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x789510f09aa4 - [INFO] [stdout] 45: 0x789510f96a64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- cli::args::test::test_rm stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'cli::args::test::test_rm' (19) 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: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x55978f38001a - std[ec4e911328de40a6]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x55978f38001a - <::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x55978f39711a - ::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x55978f39711a - core[a96a4c5c53f902a3]::fmt::write [INFO] [stdout] 6: 0x55978f385cd2 - std[ec4e911328de40a6]::io::default_write_fmt::> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x55978f385cd2 - as std[ec4e911328de40a6]::io::Write>::write_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x55978f35a8cf - ::print [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x55978f35a8cf - std[ec4e911328de40a6]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x55978f375fa9 - std[ec4e911328de40a6]::panicking::default_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x55978ed8ccfc - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x55978ed8ccfc - test[30c43f9fd66fea90]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x55978f376222 - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x55978f376222 - std[ec4e911328de40a6]::panicking::panic_with_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x55978f35a988 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x55978f351e79 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x55978f35b96d - __rustc[aa69f48705c57ca8]::rust_begin_unwind [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x55978f39790c - core[a96a4c5c53f902a3]::panicking::panic_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x55978f397652 - core[a96a4c5c53f902a3]::result::unwrap_failed [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1867:5 [INFO] [stdout] 20: 0x55978ec47d9a - >::unwrap [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x55978ec47d9a - git[7364b026c740e80c]::cli::args::test::test_rm [INFO] [stdout] at /opt/rustwide/workdir/src/cli/args.rs:172:33 [INFO] [stdout] 22: 0x55978ec34cd7 - git[7364b026c740e80c]::cli::args::test::test_rm::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/cli/args.rs:158:17 [INFO] [stdout] 23: 0x55978ec78c16 - >::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x55978ed80ddb - core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x55978ed80ddb - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x55978ed8d7cb - as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x55978ed8d7cb - std[ec4e911328de40a6]::panic::catch_unwind::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x55978ed88ee4 - test[30c43f9fd66fea90]::run_test::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x55978ed88ee4 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x55978ed903d2 - ::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x55978ed903d2 - std[ec4e911328de40a6]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x55978ed903d2 - ::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x55978f37f01f - + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x55978f37f01f - ::new::thread_start [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x789510f09aa4 - [INFO] [stdout] 45: 0x789510f96a64 - clone [INFO] [stdout] 46: 0x0 - [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/.tmpxxVFXG/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::checkout::test::test_ppt_checkout stdout ---- [INFO] [stdout] [INFO] [stdout] Command 'cp /opt/rustwide/workdir/target/debug/git /tmp/.tmpLt4g25/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_ppt_merge stdout ---- [INFO] [stdout] Command 'cp /opt/rustwide/workdir/target/debug/git /tmp/.tmpXFYTaL/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' (24) 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: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x55978f38001a - std[ec4e911328de40a6]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x55978f38001a - <::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x55978f39711a - ::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x55978f39711a - core[a96a4c5c53f902a3]::fmt::write [INFO] [stdout] 6: 0x55978f385cd2 - std[ec4e911328de40a6]::io::default_write_fmt::> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x55978f385cd2 - as std[ec4e911328de40a6]::io::Write>::write_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x55978f35a8cf - ::print [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x55978f35a8cf - std[ec4e911328de40a6]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x55978f375fa9 - std[ec4e911328de40a6]::panicking::default_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x55978ed8ccfc - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x55978ed8ccfc - test[30c43f9fd66fea90]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x55978f376222 - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x55978f376222 - std[ec4e911328de40a6]::panicking::panic_with_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x55978f35a988 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x55978f351e79 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x55978f35b96d - __rustc[aa69f48705c57ca8]::rust_begin_unwind [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x55978f39790c - core[a96a4c5c53f902a3]::panicking::panic_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x55978f397793 - core[a96a4c5c53f902a3]::panicking::assert_failed_inner [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x55978ecae759 - core[a96a4c5c53f902a3]::panicking::assert_failed:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x55978eccd9c7 - git[7364b026c740e80c]::command::cat_file::test::test_blob [INFO] [stdout] at /opt/rustwide/workdir/src/command/cat_file.rs:128:9 [INFO] [stdout] 22: 0x55978ecb7db7 - git[7364b026c740e80c]::command::cat_file::test::test_blob::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/command/cat_file.rs:112:19 [INFO] [stdout] 23: 0x55978ec79416 - >::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x55978ed80ddb - core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x55978ed80ddb - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x55978ed8d7cb - as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x55978ed8d7cb - std[ec4e911328de40a6]::panic::catch_unwind::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x55978ed88ee4 - test[30c43f9fd66fea90]::run_test::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x55978ed88ee4 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x55978ed903d2 - ::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x55978ed903d2 - std[ec4e911328de40a6]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x55978ed903d2 - ::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x55978f37f01f - + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x55978f37f01f - ::new::thread_start [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x789510f09aa4 - [INFO] [stdout] 45: 0x789510f96a64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- command::cat_file::test::test_commit stdout ---- [INFO] [stdout] tree 51af114bf5c8b0853d275e939f59c548cbe9831d [INFO] [stdout] author rust-git <163@163.com> 1774536025 +0000 [INFO] [stdout] committer rust-git <163@163.com> 1774536025 +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 51af114bf5c8b0853d275e939f59c548cbe9831d [INFO] [stdout] author rust-git <163@163.com> 1774536025 +0000 [INFO] [stdout] committer rust-git <163@163.com> 1774536025 +0000 [INFO] [stdout] [INFO] [stdout] commit-message [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] thread 'command::cat_file::test::test_commit' (25) panicked at src/command/cat_file.rs:172:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: "tree 51af114bf5c8b0853d275e939f59c548cbe9831d\nauthor rust-git <163@163.com> 1774536025 +0000\ncommitter rust-git <163@163.com> 1774536025 +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 51af114bf5c8b0853d275e939f59c548cbe9831d\nauthor rust-git <163@163.com> 1774536025 +0000\ncommitter rust-git <163@163.com> 1774536025 +0000\n\ncommit-message\n" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x55978f38001a - std[ec4e911328de40a6]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x55978f38001a - <::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x55978f39711a - ::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x55978f39711a - core[a96a4c5c53f902a3]::fmt::write [INFO] [stdout] 6: 0x55978f385cd2 - std[ec4e911328de40a6]::io::default_write_fmt::> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x55978f385cd2 - as std[ec4e911328de40a6]::io::Write>::write_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x55978f35a8cf - ::print [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x55978f35a8cf - std[ec4e911328de40a6]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x55978f375fa9 - std[ec4e911328de40a6]::panicking::default_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x55978ed8ccfc - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x55978ed8ccfc - test[30c43f9fd66fea90]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x55978f376222 - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x55978f376222 - std[ec4e911328de40a6]::panicking::panic_with_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x55978f35a988 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x55978f351e79 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x55978f35b96d - __rustc[aa69f48705c57ca8]::rust_begin_unwind [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x55978f39790c - core[a96a4c5c53f902a3]::panicking::panic_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x55978f397793 - core[a96a4c5c53f902a3]::panicking::assert_failed_inner [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x55978ecae759 - core[a96a4c5c53f902a3]::panicking::assert_failed:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x55978ecccb47 - git[7364b026c740e80c]::command::cat_file::test::test_commit [INFO] [stdout] at /opt/rustwide/workdir/src/command/cat_file.rs:172:9 [INFO] [stdout] 22: 0x55978ecb7d87 - git[7364b026c740e80c]::command::cat_file::test::test_commit::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/command/cat_file.rs:154:21 [INFO] [stdout] 23: 0x55978ec793d6 - >::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x55978ed80ddb - core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x55978ed80ddb - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x55978ed8d7cb - as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x55978ed8d7cb - std[ec4e911328de40a6]::panic::catch_unwind::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x55978ed88ee4 - test[30c43f9fd66fea90]::run_test::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x55978ed88ee4 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x55978ed903d2 - ::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x55978ed903d2 - std[ec4e911328de40a6]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x55978ed903d2 - ::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x55978f37f01f - + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x55978f37f01f - ::new::thread_start [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x789510f09aa4 - [INFO] [stdout] 45: 0x789510f96a64 - 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/.tmpo5fxBR/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_tree stdout ---- [INFO] [stdout] origin = 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 temp_UkahkuJ0b7.txt [INFO] [stdout] 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 temp_ix7u9TAjrk.txt [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] thread 'command::cat_file::test::test_tree' (26) panicked at src/command/cat_file.rs:150:9: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: "100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391\ttemp_UkahkuJ0b7.txt\n100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391\ttemp_ix7u9TAjrk.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_UkahkuJ0b7.txt\n100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391\ttemp_ix7u9TAjrk.txt\n" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x55978f38001a - std[ec4e911328de40a6]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x55978f38001a - <::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x55978f39711a - ::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x55978f39711a - core[a96a4c5c53f902a3]::fmt::write [INFO] [stdout] 6: 0x55978f385cd2 - std[ec4e911328de40a6]::io::default_write_fmt::> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x55978f385cd2 - as std[ec4e911328de40a6]::io::Write>::write_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x55978f35a8cf - ::print [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x55978f35a8cf - std[ec4e911328de40a6]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x55978f375fa9 - std[ec4e911328de40a6]::panicking::default_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x55978ed8ccfc - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x55978ed8ccfc - test[30c43f9fd66fea90]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x55978f376222 - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x55978f376222 - std[ec4e911328de40a6]::panicking::panic_with_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x55978f35a988 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x55978f351e79 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x55978f35b96d - __rustc[aa69f48705c57ca8]::rust_begin_unwind [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x55978f39790c - core[a96a4c5c53f902a3]::panicking::panic_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x55978f397793 - core[a96a4c5c53f902a3]::panicking::assert_failed_inner [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x55978ecae759 - core[a96a4c5c53f902a3]::panicking::assert_failed:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x55978ecce95c - git[7364b026c740e80c]::command::cat_file::test::test_tree [INFO] [stdout] at /opt/rustwide/workdir/src/command/cat_file.rs:150:9 [INFO] [stdout] 22: 0x55978ecb7de7 - git[7364b026c740e80c]::command::cat_file::test::test_tree::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/command/cat_file.rs:132:19 [INFO] [stdout] 23: 0x55978ec79456 - >::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x55978ed80ddb - core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x55978ed80ddb - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x55978ed8d7cb - as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x55978ed8d7cb - std[ec4e911328de40a6]::panic::catch_unwind::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x55978ed88ee4 - test[30c43f9fd66fea90]::run_test::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x55978ed88ee4 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x55978ed903d2 - ::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x55978ed903d2 - std[ec4e911328de40a6]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x55978ed903d2 - ::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x55978f37f01f - + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x55978f37f01f - ::new::thread_start [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x789510f09aa4 - [INFO] [stdout] 45: 0x789510f96a64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- command::merge::test::test_fast_forward stdout ---- [INFO] [stdout] cmd: git -C /tmp/.tmpsKqeAX merge new_branch output: Ok("Updating c7e06f3..d79a43c\nFast-forward\n world/temp_wcJ9R3z8lp.txt | 0\n 1 file changed, 0 insertions(+), 0 deletions(-)\n create mode 100644 world/temp_wcJ9R3z8lp.txt\n") [INFO] [stdout] Command 'cargo run --quiet -- -C /tmp/.tmpx5E1Wa 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_jnpuNCWN7Y.txt [INFO] [stdout] fast forward [INFO] [stdout] Fast-forward: target hash = d79a43cd8c2666e223a18a7e21149ffefa783eb3 [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_jnpuNCWN7Y.txt [INFO] [stdout] [INFO] [stdout] cmd: cargo run --quiet -- -C /tmp/.tmpx5E1Wa merge new_branch output: Err("") [INFO] [stdout] [INFO] [stdout] thread 'command::merge::test::test_fast_forward' (192) panicked at src/command/merge.rs:481:49: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: "" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x55978f38001a - std[ec4e911328de40a6]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x55978f38001a - <::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x55978f39711a - ::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x55978f39711a - core[a96a4c5c53f902a3]::fmt::write [INFO] [stdout] 6: 0x55978f385cd2 - std[ec4e911328de40a6]::io::default_write_fmt::> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x55978f385cd2 - as std[ec4e911328de40a6]::io::Write>::write_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x55978f35a8cf - ::print [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x55978f35a8cf - std[ec4e911328de40a6]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x55978f375fa9 - std[ec4e911328de40a6]::panicking::default_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x55978ed8ccfc - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x55978ed8ccfc - test[30c43f9fd66fea90]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x55978f376222 - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x55978f376222 - std[ec4e911328de40a6]::panicking::panic_with_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x55978f35a988 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x55978f351e79 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x55978f35b96d - __rustc[aa69f48705c57ca8]::rust_begin_unwind [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x55978f39790c - core[a96a4c5c53f902a3]::panicking::panic_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x55978f397652 - core[a96a4c5c53f902a3]::result::unwrap_failed [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1867:5 [INFO] [stdout] 20: 0x55978ed11779 - , alloc[c960326de6de28e6]::vec::Vec), alloc[c960326de6de28e6]::string::String>>::unwrap [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x55978ed11779 - git[7364b026c740e80c]::command::merge::test::test_fast_forward [INFO] [stdout] at /opt/rustwide/workdir/src/command/merge.rs:481:49 [INFO] [stdout] 22: 0x55978ed0be37 - git[7364b026c740e80c]::command::merge::test::test_fast_forward::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/command/merge.rs:444:27 [INFO] [stdout] 23: 0x55978ec79256 - >::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x55978ed80ddb - core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x55978ed80ddb - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x55978ed8d7cb - as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x55978ed8d7cb - std[ec4e911328de40a6]::panic::catch_unwind::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x55978ed88ee4 - test[30c43f9fd66fea90]::run_test::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x55978ed88ee4 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x55978ed903d2 - ::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x55978ed903d2 - std[ec4e911328de40a6]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x55978ed903d2 - ::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x55978f37f01f - + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x55978f37f01f - ::new::thread_start [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x789510f09aa4 - [INFO] [stdout] 45: 0x789510f96a64 - 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' (86) 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: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x55978f38001a - std[ec4e911328de40a6]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x55978f38001a - <::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x55978f39711a - ::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x55978f39711a - core[a96a4c5c53f902a3]::fmt::write [INFO] [stdout] 6: 0x55978f385cd2 - std[ec4e911328de40a6]::io::default_write_fmt::> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x55978f385cd2 - as std[ec4e911328de40a6]::io::Write>::write_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x55978f35a8cf - ::print [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x55978f35a8cf - std[ec4e911328de40a6]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x55978f375fa9 - std[ec4e911328de40a6]::panicking::default_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x55978ed8ccfc - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x55978ed8ccfc - test[30c43f9fd66fea90]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x55978f376222 - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x55978f376222 - std[ec4e911328de40a6]::panicking::panic_with_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x55978f35a988 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x55978f351e79 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x55978f35b96d - __rustc[aa69f48705c57ca8]::rust_begin_unwind [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x55978f39790c - core[a96a4c5c53f902a3]::panicking::panic_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x55978f397793 - core[a96a4c5c53f902a3]::panicking::assert_failed_inner [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x55978ecae759 - core[a96a4c5c53f902a3]::panicking::assert_failed:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x55978ec4b00b - git[7364b026c740e80c]::command::hash_object::test::test_blob [INFO] [stdout] at /opt/rustwide/workdir/src/command/hash_object.rs:99:9 [INFO] [stdout] 22: 0x55978ec34dc7 - git[7364b026c740e80c]::command::hash_object::test::test_blob::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/command/hash_object.rs:88:19 [INFO] [stdout] 23: 0x55978ec78dd6 - >::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x55978ed80ddb - core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x55978ed80ddb - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x55978ed8d7cb - as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x55978ed8d7cb - std[ec4e911328de40a6]::panic::catch_unwind::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x55978ed88ee4 - test[30c43f9fd66fea90]::run_test::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x55978ed88ee4 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x55978ed903d2 - ::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x55978ed903d2 - std[ec4e911328de40a6]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x55978ed903d2 - ::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x55978f37f01f - + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x55978f37f01f - ::new::thread_start [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x789510f09aa4 - [INFO] [stdout] 45: 0x789510f96a64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- command::merge::test::test_simple_merge stdout ---- [INFO] [stdout] cmd: git -C /tmp/.tmpIvTqjG merge A output: Ok("Merge made by the 'ort' strategy.\n world/temp_VETf0ElgX8.txt | 0\n 1 file changed, 0 insertions(+), 0 deletions(-)\n create mode 100644 world/temp_VETf0ElgX8.txt\n") [INFO] [stdout] Command 'cargo run --quiet -- -C /tmp/.tmp33xo8t 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] [stderr] error: test failed, to rerun pass `--bin git` [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] 9202cec7563b46c0709c487ebbdf5256b7e7313b [INFO] [stdout] [INFO] [stdout] cmd: cargo run --quiet -- -C /tmp/.tmp33xo8t merge A output: Err("") [INFO] [stdout] [INFO] [stdout] thread 'command::merge::test::test_simple_merge' (268) panicked at src/command/merge.rs:536:49: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: "" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x55978f38001a - std[ec4e911328de40a6]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x55978f38001a - <::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x55978f39711a - ::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x55978f39711a - core[a96a4c5c53f902a3]::fmt::write [INFO] [stdout] 6: 0x55978f385cd2 - std[ec4e911328de40a6]::io::default_write_fmt::> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x55978f385cd2 - as std[ec4e911328de40a6]::io::Write>::write_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x55978f35a8cf - ::print [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x55978f35a8cf - std[ec4e911328de40a6]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x55978f375fa9 - std[ec4e911328de40a6]::panicking::default_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x55978ed8ccfc - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x55978ed8ccfc - test[30c43f9fd66fea90]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x55978f376222 - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x55978f376222 - std[ec4e911328de40a6]::panicking::panic_with_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x55978f35a988 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x55978f351e79 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x55978f35b96d - __rustc[aa69f48705c57ca8]::rust_begin_unwind [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x55978f39790c - core[a96a4c5c53f902a3]::panicking::panic_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x55978f397652 - core[a96a4c5c53f902a3]::result::unwrap_failed [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1867:5 [INFO] [stdout] 20: 0x55978ed138da - , alloc[c960326de6de28e6]::vec::Vec), alloc[c960326de6de28e6]::string::String>>::unwrap [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x55978ed138da - git[7364b026c740e80c]::command::merge::test::test_simple_merge [INFO] [stdout] at /opt/rustwide/workdir/src/command/merge.rs:536:49 [INFO] [stdout] 22: 0x55978ed0be67 - git[7364b026c740e80c]::command::merge::test::test_simple_merge::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/command/merge.rs:492:27 [INFO] [stdout] 23: 0x55978ec79296 - >::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x55978ed80ddb - core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x55978ed80ddb - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x55978ed8d7cb - as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x55978ed8d7cb - std[ec4e911328de40a6]::panic::catch_unwind::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x55978ed88ee4 - test[30c43f9fd66fea90]::run_test::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x55978ed88ee4 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x55978ed903d2 - ::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x55978ed903d2 - std[ec4e911328de40a6]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x55978ed903d2 - ::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x55978f37f01f - + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x55978f37f01f - ::new::thread_start [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x789510f09aa4 - [INFO] [stdout] 45: 0x789510f96a64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- command::merge::test::test_conflict stdout ---- [INFO] [stdout] cmd: git -C /tmp/.tmpx1P0tU merge A output: Ok("Merge made by the 'ort' strategy.\n world/temp_cYzkbiHC1Z.txt | 0\n 1 file changed, 0 insertions(+), 0 deletions(-)\n create mode 100644 world/temp_cYzkbiHC1Z.txt\n") [INFO] [stdout] Command 'cargo run --quiet -- -C /tmp/.tmpmQAUGN 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] 0738f44d30267402cedb1dcb9b723b4a632a411a [INFO] [stdout] [INFO] [stdout] cmd: cargo run --quiet -- -C /tmp/.tmpmQAUGN merge A output: Err("") [INFO] [stdout] [INFO] [stdout] thread 'command::merge::test::test_conflict' (142) panicked at src/command/merge.rs:599:49: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: "" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x55978f38001a - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x55978f38001a - std[ec4e911328de40a6]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x55978f38001a - <::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x55978f39711a - ::fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x55978f39711a - core[a96a4c5c53f902a3]::fmt::write [INFO] [stdout] 6: 0x55978f385cd2 - std[ec4e911328de40a6]::io::default_write_fmt::> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x55978f385cd2 - as std[ec4e911328de40a6]::io::Write>::write_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x55978f35a8cf - ::print [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x55978f35a8cf - std[ec4e911328de40a6]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x55978f375fa9 - std[ec4e911328de40a6]::panicking::default_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x55978ed8ccfc - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x55978ed8ccfc - test[30c43f9fd66fea90]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x55978f376222 - core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x55978f376222 - std[ec4e911328de40a6]::panicking::panic_with_hook [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x55978f35a988 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x55978f351e79 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x55978f35b96d - __rustc[aa69f48705c57ca8]::rust_begin_unwind [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x55978f39790c - core[a96a4c5c53f902a3]::panicking::panic_fmt [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x55978f397652 - core[a96a4c5c53f902a3]::result::unwrap_failed [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1867:5 [INFO] [stdout] 20: 0x55978ed0e44a - , alloc[c960326de6de28e6]::vec::Vec), alloc[c960326de6de28e6]::string::String>>::unwrap [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x55978ed0e44a - git[7364b026c740e80c]::command::merge::test::test_conflict [INFO] [stdout] at /opt/rustwide/workdir/src/command/merge.rs:599:49 [INFO] [stdout] 22: 0x55978ed0bdd7 - git[7364b026c740e80c]::command::merge::test::test_conflict::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/command/merge.rs:555:23 [INFO] [stdout] 23: 0x55978ec791d6 - >::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x55978ed80ddb - core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x55978ed80ddb - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x55978ed8d7cb - as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x55978ed8d7cb - std[ec4e911328de40a6]::panicking::catch_unwind::, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x55978ed8d7cb - std[ec4e911328de40a6]::panic::catch_unwind::, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test_in_process [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x55978ed8d7cb - test[30c43f9fd66fea90]::run_test::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x55978ed88ee4 - test[30c43f9fd66fea90]::run_test::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x55978ed88ee4 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x55978ed903d2 - ::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x55978ed903d2 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x55978ed903d2 - std[ec4e911328de40a6]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x55978ed903d2 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x55978ed903d2 - ::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x55978f37f01f - + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x55978f37f01f - ::new::thread_start [INFO] [stdout] at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x789510f09aa4 - [INFO] [stdout] 45: 0x789510f96a64 - 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] [INFO] [stdout] test result: FAILED. 29 passed; 13 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.90s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9cbdae68de731ad6da2f98571ba2dead8e4409ee72b76516c744d010539b601f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9cbdae68de731ad6da2f98571ba2dead8e4409ee72b76516c744d010539b601f", kill_on_drop: false }` [INFO] [stdout] 9cbdae68de731ad6da2f98571ba2dead8e4409ee72b76516c744d010539b601f