[INFO] cloning repository https://github.com/jsam/shardpack
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jsam/shardpack" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjsam%2Fshardpack", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjsam%2Fshardpack'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 57dbecdf306bea16ef9a0fe5c947906dba160cb0
[INFO] testing jsam/shardpack against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjsam%2Fshardpack" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jsam/shardpack
[INFO] finished tweaking git repo https://github.com/jsam/shardpack
[INFO] tweaked toml for git repo https://github.com/jsam/shardpack written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jsam/shardpack on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jsam/shardpack 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lz4 v1.28.1
[INFO] [stderr]   Downloaded mockall_derive v0.13.1
[INFO] [stderr]   Downloaded async-trait v0.1.85
[INFO] [stderr]   Downloaded byte_counter v1.0.0
[INFO] [stderr]   Downloaded mockall v0.13.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f75f12019e1c90772790075af82f06cc3336b8457f373b26c62d3385cd996c02
[INFO] running `Command { std: "docker" "start" "-a" "f75f12019e1c90772790075af82f06cc3336b8457f373b26c62d3385cd996c02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f75f12019e1c90772790075af82f06cc3336b8457f373b26c62d3385cd996c02", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f75f12019e1c90772790075af82f06cc3336b8457f373b26c62d3385cd996c02", kill_on_drop: false }`
[INFO] [stdout] f75f12019e1c90772790075af82f06cc3336b8457f373b26c62d3385cd996c02
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 37cda89cba9aee0327a96fb5cc83304095ffb073e9607a3b1ce12c8cdc39400f
[INFO] running `Command { std: "docker" "start" "-a" "37cda89cba9aee0327a96fb5cc83304095ffb073e9607a3b1ce12c8cdc39400f", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.15
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling thiserror v2.0.11
[INFO] [stderr]    Compiling miniz_oxide v0.8.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling twox-hash v1.6.3
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling flate2 v1.0.35
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling lz4_flex v0.11.3
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.11
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling async-trait v0.1.85
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling serde_bytes v0.11.15
[INFO] [stderr]    Compiling byte_counter v1.0.0
[INFO] [stderr]    Compiling lz4 v1.28.1
[INFO] [stderr]    Compiling shardpack v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bucket.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let mut file = self.provider.read(&last_shard_path).await?;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/bucket.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{Read, Write};
[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 import: `Read`
[INFO] [stdout]   --> src/bucket.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/bucket.rs:91:35
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub async fn write(&mut self, key:  &str, data:  &Vec<u8>, metadata: Option<Vec<u8>>)  -> Result<()> {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metadata`
[INFO] [stdout]   --> src/bucket.rs:91:64
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub async fn write(&mut self, key:  &str, data:  &Vec<u8>, metadata: Option<Vec<u8>>)  -> Result<()> {
[INFO] [stdout]    |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/bucket.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let index = self.index.write().await;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index_entry`
[INFO] [stdout]    --> src/bucket.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let index_entry = IndexEntry::new(
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/shard/writer.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub async fn write(&mut self, key: &str, data: &[u8], metadata: Option<&[u8]>) -> Result<()> {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/index/bucket.rs:129:22
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn process_shard(index: &mut BucketIndex, data: &[u8]) -> Result<()> {
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/index/bucket.rs:129:47
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn process_shard(index: &mut BucketIndex, data: &[u8]) -> Result<()> {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_next_shard_id` is never used
[INFO] [stdout]    --> src/bucket.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl<P: StorageProvider> Bucket<P> {
[INFO] [stdout]     | ---------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 190 |     async fn get_next_shard_id(&self) -> Result<usize> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_LOCAL_STORAGE_PATH` is never used
[INFO] [stdout]  --> src/storage.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const DEFAULT_LOCAL_STORAGE_PATH: &str = "./local_bucket";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalStorageProvider` is never constructed
[INFO] [stdout]   --> src/storage.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct LocalStorageProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl LocalStorageProvider {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 26 |     pub async fn new<P: Into<PathBuf>>(root: P) -> Result<Self> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_all` is never used
[INFO] [stdout]   --> src/shard/reader.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<W: StorageProvider> ShardReader<W> {
[INFO] [stdout]    | --------------------------------------- method in this implementation
[INFO] [stdout] 21 |     
[INFO] [stdout] 22 |     async fn read_all(&self) -> Result<Vec<u8>> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `write` are never used
[INFO] [stdout]   --> src/shard/writer.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl<W: StorageProvider> ShardWriter<W> {
[INFO] [stdout]    | --------------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn new(id: ByteCounter, writer: W)  -> Self  {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub async fn write(&mut self, key: &str, data: &[u8], metadata: Option<&[u8]>) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `writer`, and `reader` are never read
[INFO] [stdout]   --> src/shard/shard.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Shard<S: StorageProvider> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 14 |     id: ByteCounter,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 15 |     writer: ShardWriter<S>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     reader: ShardReader<S>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `build` and `process_shard` are never used
[INFO] [stdout]    --> src/index/bucket.rs:85:18
[INFO] [stdout]     |
[INFO] [stdout]  73 | impl BucketIndex {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub async fn build<P: StorageProvider>(
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn process_shard(index: &mut BucketIndex, data: &[u8]) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 52.32s
[INFO] running `Command { std: "docker" "inspect" "37cda89cba9aee0327a96fb5cc83304095ffb073e9607a3b1ce12c8cdc39400f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "37cda89cba9aee0327a96fb5cc83304095ffb073e9607a3b1ce12c8cdc39400f", kill_on_drop: false }`
[INFO] [stdout] 37cda89cba9aee0327a96fb5cc83304095ffb073e9607a3b1ce12c8cdc39400f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] af94110a9b7b035f43eea941f414f421bd0a181fd14416f61f8d8b72ed137c85
[INFO] running `Command { std: "docker" "start" "-a" "af94110a9b7b035f43eea941f414f421bd0a181fd14416f61f8d8b72ed137c85", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling mockall_derive v0.13.1
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling bitflags v2.8.0
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling downcast v0.11.0
[INFO] [stderr]    Compiling fragile v2.0.0
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling tempfile v3.15.0
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.11
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling async-trait v0.1.85
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v2.0.11
[INFO] [stderr]    Compiling mockall v0.13.1
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling serde_bytes v0.11.15
[INFO] [stderr]    Compiling byte_counter v1.0.0
[INFO] [stderr]    Compiling shardpack v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bucket.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let mut file = self.provider.read(&last_shard_path).await?;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/bucket.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{Read, Write};
[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 import: `Read`
[INFO] [stdout]   --> src/bucket.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/bucket.rs:91:35
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub async fn write(&mut self, key:  &str, data:  &Vec<u8>, metadata: Option<Vec<u8>>)  -> Result<()> {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metadata`
[INFO] [stdout]   --> src/bucket.rs:91:64
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub async fn write(&mut self, key:  &str, data:  &Vec<u8>, metadata: Option<Vec<u8>>)  -> Result<()> {
[INFO] [stdout]    |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/bucket.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let index = self.index.write().await;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index_entry`
[INFO] [stdout]    --> src/bucket.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let index_entry = IndexEntry::new(
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/shard/writer.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub async fn write(&mut self, key: &str, data: &[u8], metadata: Option<&[u8]>) -> Result<()> {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/index/bucket.rs:129:22
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn process_shard(index: &mut BucketIndex, data: &[u8]) -> Result<()> {
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/index/bucket.rs:129:47
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn process_shard(index: &mut BucketIndex, data: &[u8]) -> Result<()> {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_next_shard_id` is never used
[INFO] [stdout]    --> src/bucket.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl<P: StorageProvider> Bucket<P> {
[INFO] [stdout]     | ---------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 190 |     async fn get_next_shard_id(&self) -> Result<usize> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_LOCAL_STORAGE_PATH` is never used
[INFO] [stdout]  --> src/storage.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const DEFAULT_LOCAL_STORAGE_PATH: &str = "./local_bucket";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalStorageProvider` is never constructed
[INFO] [stdout]   --> src/storage.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct LocalStorageProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl LocalStorageProvider {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 26 |     pub async fn new<P: Into<PathBuf>>(root: P) -> Result<Self> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_all` is never used
[INFO] [stdout]   --> src/shard/reader.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<W: StorageProvider> ShardReader<W> {
[INFO] [stdout]    | --------------------------------------- method in this implementation
[INFO] [stdout] 21 |     
[INFO] [stdout] 22 |     async fn read_all(&self) -> Result<Vec<u8>> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `write` are never used
[INFO] [stdout]   --> src/shard/writer.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl<W: StorageProvider> ShardWriter<W> {
[INFO] [stdout]    | --------------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn new(id: ByteCounter, writer: W)  -> Self  {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub async fn write(&mut self, key: &str, data: &[u8], metadata: Option<&[u8]>) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `writer`, and `reader` are never read
[INFO] [stdout]   --> src/shard/shard.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Shard<S: StorageProvider> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 14 |     id: ByteCounter,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 15 |     writer: ShardWriter<S>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     reader: ShardReader<S>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `build` and `process_shard` are never used
[INFO] [stdout]    --> src/index/bucket.rs:85:18
[INFO] [stdout]     |
[INFO] [stdout]  73 | impl BucketIndex {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub async fn build<P: StorageProvider>(
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn process_shard(index: &mut BucketIndex, data: &[u8]) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bucket.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let mut file = self.provider.read(&last_shard_path).await?;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/bucket.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{Read, Write};
[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 import: `Read`
[INFO] [stdout]   --> src/bucket.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/bucket.rs:91:35
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub async fn write(&mut self, key:  &str, data:  &Vec<u8>, metadata: Option<Vec<u8>>)  -> Result<()> {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metadata`
[INFO] [stdout]   --> src/bucket.rs:91:64
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub async fn write(&mut self, key:  &str, data:  &Vec<u8>, metadata: Option<Vec<u8>>)  -> Result<()> {
[INFO] [stdout]    |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/bucket.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let index = self.index.write().await;
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index_entry`
[INFO] [stdout]    --> src/bucket.rs:123:13
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let index_entry = IndexEntry::new(
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index_entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/shard/writer.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub async fn write(&mut self, key: &str, data: &[u8], metadata: Option<&[u8]>) -> Result<()> {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/index/bucket.rs:129:22
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn process_shard(index: &mut BucketIndex, data: &[u8]) -> Result<()> {
[INFO] [stdout]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/index/bucket.rs:129:47
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn process_shard(index: &mut BucketIndex, data: &[u8]) -> Result<()> {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_next_shard_id` is never used
[INFO] [stdout]    --> src/bucket.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl<P: StorageProvider> Bucket<P> {
[INFO] [stdout]     | ---------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 190 |     async fn get_next_shard_id(&self) -> Result<usize> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_LOCAL_STORAGE_PATH` is never used
[INFO] [stdout]  --> src/storage.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const DEFAULT_LOCAL_STORAGE_PATH: &str = "./local_bucket";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalStorageProvider` is never constructed
[INFO] [stdout]   --> src/storage.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct LocalStorageProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/storage.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl LocalStorageProvider {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 26 |     pub async fn new<P: Into<PathBuf>>(root: P) -> Result<Self> {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_all` is never used
[INFO] [stdout]   --> src/shard/reader.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<W: StorageProvider> ShardReader<W> {
[INFO] [stdout]    | --------------------------------------- method in this implementation
[INFO] [stdout] 21 |     
[INFO] [stdout] 22 |     async fn read_all(&self) -> Result<Vec<u8>> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `writer`, and `reader` are never read
[INFO] [stdout]   --> src/shard/shard.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Shard<S: StorageProvider> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 14 |     id: ByteCounter,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 15 |     writer: ShardWriter<S>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     reader: ShardReader<S>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `build` and `process_shard` are never used
[INFO] [stdout]    --> src/index/bucket.rs:85:18
[INFO] [stdout]     |
[INFO] [stdout]  73 | impl BucketIndex {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub async fn build<P: StorageProvider>(
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn process_shard(index: &mut BucketIndex, data: &[u8]) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 38.93s
[INFO] running `Command { std: "docker" "inspect" "af94110a9b7b035f43eea941f414f421bd0a181fd14416f61f8d8b72ed137c85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af94110a9b7b035f43eea941f414f421bd0a181fd14416f61f8d8b72ed137c85", kill_on_drop: false }`
[INFO] [stdout] af94110a9b7b035f43eea941f414f421bd0a181fd14416f61f8d8b72ed137c85
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 58f99238a44af4ae451df3fb0ccc97da146d15cc6277ffd070e3c7cbb7eb4a5d
[INFO] running `Command { std: "docker" "start" "-a" "58f99238a44af4ae451df3fb0ccc97da146d15cc6277ffd070e3c7cbb7eb4a5d", kill_on_drop: false }`
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/bucket.rs:105:13
[INFO] [stderr]     |
[INFO] [stderr] 105 |         let mut file = self.provider.read(&last_shard_path).await?;
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]   --> src/bucket.rs:12:21
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::io::{Read, Write};
[INFO] [stderr]    |                     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Read`
[INFO] [stderr]   --> src/bucket.rs:12:15
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::io::{Read, Write};
[INFO] [stderr]    |               ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/bucket.rs:91:35
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub async fn write(&mut self, key:  &str, data:  &Vec<u8>, metadata: Option<Vec<u8>>)  -> Result<()> {
[INFO] [stderr]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `metadata`
[INFO] [stderr]   --> src/bucket.rs:91:64
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub async fn write(&mut self, key:  &str, data:  &Vec<u8>, metadata: Option<Vec<u8>>)  -> Result<()> {
[INFO] [stderr]    |                                                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metadata`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> src/bucket.rs:92:13
[INFO] [stderr]    |
[INFO] [stderr] 92 |         let index = self.index.write().await;
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index_entry`
[INFO] [stderr]    --> src/bucket.rs:123:13
[INFO] [stderr]     |
[INFO] [stderr] 123 |         let index_entry = IndexEntry::new(
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index_entry`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]   --> src/shard/writer.rs:86:35
[INFO] [stderr]    |
[INFO] [stderr] 86 |     pub async fn write(&mut self, key: &str, data: &[u8], metadata: Option<&[u8]>) -> Result<()> {
[INFO] [stderr]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/index/bucket.rs:129:22
[INFO] [stderr]     |
[INFO] [stderr] 129 |     fn process_shard(index: &mut BucketIndex, data: &[u8]) -> Result<()> {
[INFO] [stderr]     |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]    --> src/index/bucket.rs:129:47
[INFO] [stderr]     |
[INFO] [stderr] 129 |     fn process_shard(index: &mut BucketIndex, data: &[u8]) -> Result<()> {
[INFO] [stderr]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_next_shard_id` is never used
[INFO] [stderr]    --> src/bucket.rs:190:14
[INFO] [stderr]     |
[INFO] [stderr]  80 | impl<P: StorageProvider> Bucket<P> {
[INFO] [stderr]     | ---------------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 190 |     async fn get_next_shard_id(&self) -> Result<usize> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEFAULT_LOCAL_STORAGE_PATH` is never used
[INFO] [stderr]  --> src/storage.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | const DEFAULT_LOCAL_STORAGE_PATH: &str = "./local_bucket";
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LocalStorageProvider` is never constructed
[INFO] [stderr]   --> src/storage.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct LocalStorageProvider {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/storage.rs:26:18
[INFO] [stderr]    |
[INFO] [stderr] 25 | impl LocalStorageProvider {
[INFO] [stderr]    | ------------------------- associated function in this implementation
[INFO] [stderr] 26 |     pub async fn new<P: Into<PathBuf>>(root: P) -> Result<Self> {
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `read_all` is never used
[INFO] [stderr]   --> src/shard/reader.rs:22:14
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl<W: StorageProvider> ShardReader<W> {
[INFO] [stderr]    | --------------------------------------- method in this implementation
[INFO] [stderr] 21 |     
[INFO] [stderr] 22 |     async fn read_all(&self) -> Result<Vec<u8>> {
[INFO] [stderr]    |              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `write` are never used
[INFO] [stderr]   --> src/shard/writer.rs:60:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | impl<W: StorageProvider> ShardWriter<W> {
[INFO] [stderr]    | --------------------------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 60 |     pub fn new(id: ByteCounter, writer: W)  -> Self  {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 86 |     pub async fn write(&mut self, key: &str, data: &[u8], metadata: Option<&[u8]>) -> Result<()> {
[INFO] [stderr]    |                  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id`, `writer`, and `reader` are never read
[INFO] [stderr]   --> src/shard/shard.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct Shard<S: StorageProvider> {
[INFO] [stderr]    |            ----- fields in this struct
[INFO] [stderr] 14 |     id: ByteCounter,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 15 |     writer: ShardWriter<S>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 16 |     reader: ShardReader<S>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `build` and `process_shard` are never used
[INFO] [stderr]    --> src/index/bucket.rs:85:18
[INFO] [stderr]     |
[INFO] [stderr]  73 | impl BucketIndex {
[INFO] [stderr]     | ---------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  85 |     pub async fn build<P: StorageProvider>(
[INFO] [stderr]     |                  ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 129 |     fn process_shard(index: &mut BucketIndex, data: &[u8]) -> Result<()> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `shardpack` (lib) generated 18 warnings (run `cargo fix --lib -p shardpack` to apply 8 suggestions)
[INFO] [stderr] warning: `shardpack` (lib test) generated 17 warnings (17 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/shardpack-ea9e516b2d92efeb)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test shard::writer::tests::test_write_exceeds_shard_size ... ok
[INFO] [stdout] test shard::writer::tests::test_write_success_no_metadata ... ok
[INFO] [stdout] test shard::writer::tests::test_storage_operations ... ok
[INFO] [stdout] test shard::writer::tests::test_shard_writer_new ... ok
[INFO] [stdout] test shard::writer::tests::test_write_multiple_entries ... ok
[INFO] [stdout] test shard::writer::tests::test_write_checksum ... ok
[INFO] [stdout] test shard::writer::tests::test_write_success_with_metadata ... ok
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/shardpack-ea9e516b2d92efeb` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "58f99238a44af4ae451df3fb0ccc97da146d15cc6277ffd070e3c7cbb7eb4a5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "58f99238a44af4ae451df3fb0ccc97da146d15cc6277ffd070e3c7cbb7eb4a5d", kill_on_drop: false }`
[INFO] [stdout] 58f99238a44af4ae451df3fb0ccc97da146d15cc6277ffd070e3c7cbb7eb4a5d
