[INFO] cloning repository https://github.com/leakingtapan/git-internals
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/leakingtapan/git-internals" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleakingtapan%2Fgit-internals", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleakingtapan%2Fgit-internals'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ac4f9493a8a406ac7273e56d4b4ab8f4a9466cef
[INFO] checking leakingtapan/git-internals against try#50d7e48beb74b48bd17c3749bfb73843c9ae0166 for pr-151102
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleakingtapan%2Fgit-internals" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/leakingtapan/git-internals
[INFO] finished tweaking git repo https://github.com/leakingtapan/git-internals
[INFO] tweaked toml for git repo https://github.com/leakingtapan/git-internals written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/leakingtapan/git-internals on toolchain 50d7e48beb74b48bd17c3749bfb73843c9ae0166
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/leakingtapan/git-internals 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" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking leakingtapan/git-internals against try#50d7e48beb74b48bd17c3749bfb73843c9ae0166 for pr-151102
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fleakingtapan%2Fgit-internals" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/leakingtapan/git-internals
[INFO] finished tweaking git repo https://github.com/leakingtapan/git-internals
[INFO] tweaked toml for git repo https://github.com/leakingtapan/git-internals written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/leakingtapan/git-internals on toolchain 50d7e48beb74b48bd17c3749bfb73843c9ae0166
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/leakingtapan/git-internals 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" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded digest v0.10.1
[INFO] [stderr]   Downloaded block-buffer v0.10.0
[INFO] [stderr]   Downloaded crypto-common v0.1.1
[INFO] [stderr]   Downloaded libc v0.2.111
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e111bd505876022eff3f742128e393d251d4c960c2a190ce117a40a17e473ba3
[INFO] running `Command { std: "docker" "start" "-a" "e111bd505876022eff3f742128e393d251d4c960c2a190ce117a40a17e473ba3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e111bd505876022eff3f742128e393d251d4c960c2a190ce117a40a17e473ba3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e111bd505876022eff3f742128e393d251d4c960c2a190ce117a40a17e473ba3", kill_on_drop: false }`
[INFO] [stdout] e111bd505876022eff3f742128e393d251d4c960c2a190ce117a40a17e473ba3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4e46f145601111835b2e53674e7ea3620b48d8e5dfd31fcf61d14f5b81ef01dc
[INFO] running `Command { std: "docker" "start" "-a" "4e46f145601111835b2e53674e7ea3620b48d8e5dfd31fcf61d14f5b81ef01dc", kill_on_drop: false }`
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling crc32fast v1.3.0
[INFO] [stderr]    Compiling libc v0.2.111
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]     Checking flate2 v1.0.22
[INFO] [stderr]     Checking block-buffer v0.10.0
[INFO] [stderr]     Checking crypto-common v0.1.1
[INFO] [stderr]     Checking digest v0.10.1
[INFO] [stderr]     Checking sha-1 v0.10.0
[INFO] [stderr]     Checking git-internal v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]    --> src/main.rs:219:19
[INFO] [stdout]     |
[INFO] [stdout] 219 |   let (committer, object) = split_once(object, b'\n')?;
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_object`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]    --> src/main.rs:219:19
[INFO] [stdout]     |
[INFO] [stdout] 219 |   let (committer, object) = split_once(object, b'\n')?;
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_object`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `magic`
[INFO] [stdout]    --> src/main.rs:360:7
[INFO] [stdout]     |
[INFO] [stdout] 360 |   let magic = read_bytes::<dyn Read, 4>(&mut file)?;
[INFO] [stdout]     |       ^^^^^ help: if this is intentional, prefix it with an underscore: `_magic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `magic`
[INFO] [stdout]    --> src/main.rs:360:7
[INFO] [stdout]     |
[INFO] [stdout] 360 |   let magic = read_bytes::<dyn Read, 4>(&mut file)?;
[INFO] [stdout]     |       ^^^^^ help: if this is intentional, prefix it with an underscore: `_magic`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]    --> src/main.rs:640:25
[INFO] [stdout]     |
[INFO] [stdout] 640 | fn read_unpacked_object(hash: Hash) -> io::Result<Object> {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]    --> src/main.rs:640:25
[INFO] [stdout]     |
[INFO] [stdout] 640 | fn read_unpacked_object(hash: Hash) -> io::Result<Object> {
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BRANCH_REFS_DIRECTORY` is never used
[INFO] [stdout]   --> src/main.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const BRANCH_REFS_DIRECTORY: &str = ".git/refs/heads";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_branch_head` is never used
[INFO] [stdout]   --> src/main.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn get_branch_head(branch: &str) -> io::Result<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEAD_FILE` is never used
[INFO] [stdout]   --> src/main.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const HEAD_FILE: &str = ".git/HEAD";
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REF_PREFIX` is never used
[INFO] [stdout]   --> src/main.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const REF_PREFIX: &str = "ref: refs/heads/";
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_head` is never used
[INFO] [stdout]   --> src/main.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn get_head() -> io::Result<Head> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Head` is never used
[INFO] [stdout]   --> src/main.rs:48:6
[INFO] [stdout]    |
[INFO] [stdout] 48 | enum Head {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_hash` is never used
[INFO] [stdout]   --> src/main.rs:54:6
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl Head {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 54 |   fn get_hash(&self) -> io::Result<Hash> {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_hash` is never used
[INFO] [stdout]    --> src/main.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn hex_to_hash(hex_hash: &[u8]) -> Option<Hash> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBJECTS_DIRECTORY` is never used
[INFO] [stdout]    --> src/main.rs:127:7
[INFO] [stdout]     |
[INFO] [stdout] 127 | const OBJECTS_DIRECTORY: &str = ".git/objects";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_object` is never used
[INFO] [stdout]    --> src/main.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn read_object(hash: Hash) -> io::Result<Vec<u8>> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMIT_HEADER` is never used
[INFO] [stdout]    --> src/main.rs:144:7
[INFO] [stdout]     |
[INFO] [stdout] 144 | const COMMIT_HEADER: &[u8] = b"commit ";
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TREE_LINE_PREFIX` is never used
[INFO] [stdout]    --> src/main.rs:145:7
[INFO] [stdout]     |
[INFO] [stdout] 145 | const TREE_LINE_PREFIX: &[u8] = b"tree ";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PARENT_LINE_PREFIX` is never used
[INFO] [stdout]    --> src/main.rs:146:7
[INFO] [stdout]     |
[INFO] [stdout] 146 | const PARENT_LINE_PREFIX: &[u8] = b"parent ";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTHOR_LINE_PREFIX` is never used
[INFO] [stdout]    --> src/main.rs:147:7
[INFO] [stdout]     |
[INFO] [stdout] 147 | const AUTHOR_LINE_PREFIX: &[u8] = b"author ";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMITTER_LINE_PREFIX` is never used
[INFO] [stdout]    --> src/main.rs:148:7
[INFO] [stdout]     |
[INFO] [stdout] 148 | const COMMITTER_LINE_PREFIX: &[u8] = b"committer ";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decimal_char_value` is never used
[INFO] [stdout]    --> src/main.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn decimal_char_value(decimal_char: u8) -> Option<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_decimal` is never used
[INFO] [stdout]    --> src/main.rs:161:4
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn parse_decimal(decimal_str: &[u8]) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BRANCH_REFS_DIRECTORY` is never used
[INFO] [stdout]   --> src/main.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const BRANCH_REFS_DIRECTORY: &str = ".git/refs/heads";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_branch_head` is never used
[INFO] [stdout]   --> src/main.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn get_branch_head(branch: &str) -> io::Result<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEAD_FILE` is never used
[INFO] [stdout]   --> src/main.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const HEAD_FILE: &str = ".git/HEAD";
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_once` is never used
[INFO] [stdout]    --> src/main.rs:172:4
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn split_once<T: PartialEq>(slice: &[T], delimiter: T) -> Option<(&[T], &[T])> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_header` is never used
[INFO] [stdout]    --> src/main.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn check_header<'a>(object: &'a [u8], header: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Commit` is never constructed
[INFO] [stdout]    --> src/main.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | struct Commit {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_commit` is never used
[INFO] [stdout]    --> src/main.rs:199:4
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn parse_commit(object: &[u8]) -> Option<Commit> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_commit` is never used
[INFO] [stdout]    --> src/main.rs:235:4
[INFO] [stdout]     |
[INFO] [stdout] 235 | fn read_commit(hash: Hash) -> io::Result<Commit> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TREE_HEADER` is never used
[INFO] [stdout]    --> src/main.rs:242:7
[INFO] [stdout]     |
[INFO] [stdout] 242 | const TREE_HEADER: &[u8] = b"tree ";
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]    --> src/main.rs:245:6
[INFO] [stdout]     |
[INFO] [stdout] 245 | enum Mode {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeEntry` is never constructed
[INFO] [stdout]    --> src/main.rs:252:8
[INFO] [stdout]     |
[INFO] [stdout] 252 | struct TreeEntry {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tree` is never constructed
[INFO] [stdout]    --> src/main.rs:259:8
[INFO] [stdout]     |
[INFO] [stdout] 259 | struct Tree(Vec<TreeEntry>);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REF_PREFIX` is never used
[INFO] [stdout]   --> src/main.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const REF_PREFIX: &str = "ref: refs/heads/";
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_head` is never used
[INFO] [stdout]   --> src/main.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn get_head() -> io::Result<Head> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_tree` is never used
[INFO] [stdout]    --> src/main.rs:261:4
[INFO] [stdout]     |
[INFO] [stdout] 261 | fn parse_tree(object: &[u8]) -> Option<Tree> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_tree` is never used
[INFO] [stdout]    --> src/main.rs:284:4
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn read_tree(hash: Hash) -> io::Result<Tree> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Head` is never used
[INFO] [stdout]   --> src/main.rs:48:6
[INFO] [stdout]    |
[INFO] [stdout] 48 | enum Head {
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOB_HEADER` is never used
[INFO] [stdout]    --> src/main.rs:290:7
[INFO] [stdout]     |
[INFO] [stdout] 290 | const BLOB_HEADER: &[u8] = b"blob ";
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_hash` is never used
[INFO] [stdout]   --> src/main.rs:54:6
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl Head {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 54 |   fn get_hash(&self) -> io::Result<Hash> {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blob` is never constructed
[INFO] [stdout]    --> src/main.rs:292:8
[INFO] [stdout]     |
[INFO] [stdout] 292 | struct Blob(Vec<u8>);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_blob` is never used
[INFO] [stdout]    --> src/main.rs:294:4
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn read_blob(hash: Hash) -> io::Result<Blob> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_file_blob` is never used
[INFO] [stdout]    --> src/main.rs:302:4
[INFO] [stdout]     |
[INFO] [stdout] 302 | fn get_file_blob(tree: Hash, path: &str) -> io::Result<Blob> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_hash` is never used
[INFO] [stdout]    --> src/main.rs:105:4
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn hex_to_hash(hex_hash: &[u8]) -> Option<Hash> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PACKS_DIRECTORY` is never used
[INFO] [stdout]    --> src/main.rs:326:7
[INFO] [stdout]     |
[INFO] [stdout] 326 | const PACKS_DIRECTORY: &str = ".git/objects/pack";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_pack_index` is never used
[INFO] [stdout]    --> src/main.rs:355:4
[INFO] [stdout]     |
[INFO] [stdout] 355 | fn read_pack_index(file: &str) -> io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OBJECTS_DIRECTORY` is never used
[INFO] [stdout]    --> src/main.rs:127:7
[INFO] [stdout]     |
[INFO] [stdout] 127 | const OBJECTS_DIRECTORY: &str = ".git/objects";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_object` is never used
[INFO] [stdout]    --> src/main.rs:130:4
[INFO] [stdout]     |
[INFO] [stdout] 130 | fn read_object(hash: Hash) -> io::Result<Vec<u8>> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMIT_HEADER` is never used
[INFO] [stdout]    --> src/main.rs:144:7
[INFO] [stdout]     |
[INFO] [stdout] 144 | const COMMIT_HEADER: &[u8] = b"commit ";
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TREE_LINE_PREFIX` is never used
[INFO] [stdout]    --> src/main.rs:145:7
[INFO] [stdout]     |
[INFO] [stdout] 145 | const TREE_LINE_PREFIX: &[u8] = b"tree ";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PARENT_LINE_PREFIX` is never used
[INFO] [stdout]    --> src/main.rs:146:7
[INFO] [stdout]     |
[INFO] [stdout] 146 | const PARENT_LINE_PREFIX: &[u8] = b"parent ";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTHOR_LINE_PREFIX` is never used
[INFO] [stdout]    --> src/main.rs:147:7
[INFO] [stdout]     |
[INFO] [stdout] 147 | const AUTHOR_LINE_PREFIX: &[u8] = b"author ";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMITTER_LINE_PREFIX` is never used
[INFO] [stdout]    --> src/main.rs:148:7
[INFO] [stdout]     |
[INFO] [stdout] 148 | const COMMITTER_LINE_PREFIX: &[u8] = b"committer ";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decimal_char_value` is never used
[INFO] [stdout]    --> src/main.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn decimal_char_value(decimal_char: u8) -> Option<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_decimal` is never used
[INFO] [stdout]    --> src/main.rs:161:4
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn parse_decimal(decimal_str: &[u8]) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_once` is never used
[INFO] [stdout]    --> src/main.rs:172:4
[INFO] [stdout]     |
[INFO] [stdout] 172 | fn split_once<T: PartialEq>(slice: &[T], delimiter: T) -> Option<(&[T], &[T])> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_header` is never used
[INFO] [stdout]    --> src/main.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn check_header<'a>(object: &'a [u8], header: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Commit` is never constructed
[INFO] [stdout]    --> src/main.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | struct Commit {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_commit` is never used
[INFO] [stdout]    --> src/main.rs:199:4
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn parse_commit(object: &[u8]) -> Option<Commit> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_commit` is never used
[INFO] [stdout]    --> src/main.rs:235:4
[INFO] [stdout]     |
[INFO] [stdout] 235 | fn read_commit(hash: Hash) -> io::Result<Commit> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TREE_HEADER` is never used
[INFO] [stdout]    --> src/main.rs:242:7
[INFO] [stdout]     |
[INFO] [stdout] 242 | const TREE_HEADER: &[u8] = b"tree ";
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Mode` is never used
[INFO] [stdout]    --> src/main.rs:245:6
[INFO] [stdout]     |
[INFO] [stdout] 245 | enum Mode {
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeEntry` is never constructed
[INFO] [stdout]    --> src/main.rs:252:8
[INFO] [stdout]     |
[INFO] [stdout] 252 | struct TreeEntry {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tree` is never constructed
[INFO] [stdout]    --> src/main.rs:259:8
[INFO] [stdout]     |
[INFO] [stdout] 259 | struct Tree(Vec<TreeEntry>);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_tree` is never used
[INFO] [stdout]    --> src/main.rs:261:4
[INFO] [stdout]     |
[INFO] [stdout] 261 | fn parse_tree(object: &[u8]) -> Option<Tree> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_tree` is never used
[INFO] [stdout]    --> src/main.rs:284:4
[INFO] [stdout]     |
[INFO] [stdout] 284 | fn read_tree(hash: Hash) -> io::Result<Tree> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOB_HEADER` is never used
[INFO] [stdout]    --> src/main.rs:290:7
[INFO] [stdout]     |
[INFO] [stdout] 290 | const BLOB_HEADER: &[u8] = b"blob ";
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blob` is never constructed
[INFO] [stdout]    --> src/main.rs:292:8
[INFO] [stdout]     |
[INFO] [stdout] 292 | struct Blob(Vec<u8>);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_blob` is never used
[INFO] [stdout]    --> src/main.rs:294:4
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn read_blob(hash: Hash) -> io::Result<Blob> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_file_blob` is never used
[INFO] [stdout]    --> src/main.rs:302:4
[INFO] [stdout]     |
[INFO] [stdout] 302 | fn get_file_blob(tree: Hash, path: &str) -> io::Result<Blob> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PACKS_DIRECTORY` is never used
[INFO] [stdout]    --> src/main.rs:326:7
[INFO] [stdout]     |
[INFO] [stdout] 326 | const PACKS_DIRECTORY: &str = ".git/objects/pack";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_pack_index` is never used
[INFO] [stdout]    --> src/main.rs:355:4
[INFO] [stdout]     |
[INFO] [stdout] 355 | fn read_pack_index(file: &str) -> io::Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.33s
[INFO] running `Command { std: "docker" "inspect" "4e46f145601111835b2e53674e7ea3620b48d8e5dfd31fcf61d14f5b81ef01dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e46f145601111835b2e53674e7ea3620b48d8e5dfd31fcf61d14f5b81ef01dc", kill_on_drop: false }`
[INFO] [stdout] 4e46f145601111835b2e53674e7ea3620b48d8e5dfd31fcf61d14f5b81ef01dc
