[INFO] fetching crate foobar_db 0.0.1...
[INFO] testing foobar_db-0.0.1 against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] extracting crate foobar_db 0.0.1 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate foobar_db 0.0.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate foobar_db 0.0.1
[INFO] tweaked toml for crates.io crate foobar_db 0.0.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate foobar_db 0.0.1 on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate foobar_db 0.0.1 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cargo-platform v0.1.8
[INFO] [stderr]   Downloaded vergen-lib v0.1.4
[INFO] [stderr]   Downloaded vergen v9.0.1
[INFO] [stderr]   Downloaded redox_syscall v0.5.6
[INFO] [stderr]   Downloaded sysinfo v0.31.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6303827d8cbe51deed4ce1319f47345014c847a19d444228a4eecb7adf45ff6e
[INFO] running `Command { std: "docker" "start" "-a" "6303827d8cbe51deed4ce1319f47345014c847a19d444228a4eecb7adf45ff6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6303827d8cbe51deed4ce1319f47345014c847a19d444228a4eecb7adf45ff6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6303827d8cbe51deed4ce1319f47345014c847a19d444228a4eecb7adf45ff6e", kill_on_drop: false }`
[INFO] [stdout] 6303827d8cbe51deed4ce1319f47345014c847a19d444228a4eecb7adf45ff6e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 92cededf2056794b20adf7b1d12408b865c3f64fab7bd2412cf781e651e20db6
[INFO] running `Command { std: "docker" "start" "-a" "92cededf2056794b20adf7b1d12408b865c3f64fab7bd2412cf781e651e20db6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling libc v0.2.159
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling camino v1.1.9
[INFO] [stderr]    Compiling anyhow v1.0.93
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling regex-syntax v0.8.4
[INFO] [stderr]    Compiling ryu v1.0.18
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling vergen-lib v0.1.4
[INFO] [stderr]    Compiling vergen v9.0.1
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling clap_builder v4.5.21
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling bytes v1.8.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling syn v2.0.87
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling time v0.3.36
[INFO] [stderr]    Compiling mio v1.0.2
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling regex-automata v0.4.7
[INFO] [stderr]    Compiling sysinfo v0.31.4
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]    Compiling regex v1.10.6
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]    Compiling tokio v1.41.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]    Compiling clap v4.5.21
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling cargo-platform v0.1.8
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling cargo_metadata v0.18.1
[INFO] [stderr]    Compiling foobar_db v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/db/lru.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, Instant};
[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: `ParseError` and `Parser`
[INFO] [stdout]  --> src/protocal/parser_test.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::protocal::parser::{ParseError, Parser};
[INFO] [stdout]   |                               ^^^^^^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/protocal/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod parser_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protocal::resp::RespValue`
[INFO] [stdout]  --> src/protocal/parser_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::protocal::resp::RespValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/protocal/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod parser_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/protocal/parser_test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/protocal/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod parser_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protocal::resp::RespValue`
[INFO] [stdout]  --> src/protocal/resp_test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::protocal::resp::RespValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/protocal/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod resp_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/protocal/resp_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/protocal/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod resp_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TcpStream`
[INFO] [stdout]  --> src/server/server.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]   |                               ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/server/server.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![warn(unused_imports)]
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trace`
[INFO] [stdout]   --> src/server/server.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info, trace, warn};
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/server/client.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let n = match self.reader.read_buf(&mut self.parser.buffer).await {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache` is never read
[INFO] [stdout]   --> src/db/db.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct DB<S, K, V>
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     cache: Arc<LruCache<K, V>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Entry` is never constructed
[INFO] [stdout]  --> src/db/lru.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Entry<V> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `map`, `queue`, and `capacity` are never read
[INFO] [stdout]   --> src/db/lru.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct LruCache<K, V> {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 14 |     map: HashMap<K, (V, Instant)>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 15 |     queue: VecDeque<K>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `put` are never used
[INFO] [stdout]   --> src/db/lru.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | / impl<K, V> LruCache<K, V>
[INFO] [stdout] 20 | | where
[INFO] [stdout] 21 | |     K: Hash + Eq + Clone,
[INFO] [stdout] 22 | |     V: Clone,
[INFO] [stdout]    | |_____________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |       pub fn get(&mut self, key: &K) -> Option<V> {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |       pub fn put(&mut self, key: K, value: V) {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `operations`, `hits`, and `misses` are never read
[INFO] [stdout]   --> src/db/storage.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | struct StorageStats {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 67 |     operations: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 68 |     hits: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 69 |     misses: u64,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StorageStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.71s
[INFO] running `Command { std: "docker" "inspect" "92cededf2056794b20adf7b1d12408b865c3f64fab7bd2412cf781e651e20db6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "92cededf2056794b20adf7b1d12408b865c3f64fab7bd2412cf781e651e20db6", kill_on_drop: false }`
[INFO] [stdout] 92cededf2056794b20adf7b1d12408b865c3f64fab7bd2412cf781e651e20db6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 783f28909ccd188c7c34a3dabd8129fb821db059e4425a505f62067e666d8507
[INFO] running `Command { std: "docker" "start" "-a" "783f28909ccd188c7c34a3dabd8129fb821db059e4425a505f62067e666d8507", kill_on_drop: false }`
[INFO] [stderr]    Compiling test-case-core v3.3.1
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/db/lru.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, Instant};
[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: `ParseError` and `Parser`
[INFO] [stdout]  --> src/protocal/parser_test.rs:1:31
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::protocal::parser::{ParseError, Parser};
[INFO] [stdout]   |                               ^^^^^^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/protocal/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod parser_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protocal::resp::RespValue`
[INFO] [stdout]  --> src/protocal/parser_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::protocal::resp::RespValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/protocal/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod parser_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/protocal/parser_test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/protocal/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod parser_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protocal::resp::RespValue`
[INFO] [stdout]  --> src/protocal/resp_test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::protocal::resp::RespValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/protocal/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod resp_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/protocal/resp_test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/protocal/mod.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod resp_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TcpStream`
[INFO] [stdout]  --> src/server/server.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]   |                               ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/server/server.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![warn(unused_imports)]
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trace`
[INFO] [stdout]   --> src/server/server.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info, trace, warn};
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/server/client.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let n = match self.reader.read_buf(&mut self.parser.buffer).await {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache` is never read
[INFO] [stdout]   --> src/db/db.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct DB<S, K, V>
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     cache: Arc<LruCache<K, V>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Entry` is never constructed
[INFO] [stdout]  --> src/db/lru.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Entry<V> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `map`, `queue`, and `capacity` are never read
[INFO] [stdout]   --> src/db/lru.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct LruCache<K, V> {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 14 |     map: HashMap<K, (V, Instant)>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 15 |     queue: VecDeque<K>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `put` are never used
[INFO] [stdout]   --> src/db/lru.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | / impl<K, V> LruCache<K, V>
[INFO] [stdout] 20 | | where
[INFO] [stdout] 21 | |     K: Hash + Eq + Clone,
[INFO] [stdout] 22 | |     V: Clone,
[INFO] [stdout]    | |_____________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |       pub fn get(&mut self, key: &K) -> Option<V> {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |       pub fn put(&mut self, key: K, value: V) {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `operations`, `hits`, and `misses` are never read
[INFO] [stdout]   --> src/db/storage.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | struct StorageStats {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 67 |     operations: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 68 |     hits: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 69 |     misses: u64,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StorageStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling test-case-macros v3.3.1
[INFO] [stderr]    Compiling test-case v3.3.1
[INFO] [stderr]    Compiling foobar_db v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/db/lru.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, Instant};
[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: `TcpStream`
[INFO] [stdout]  --> src/server/server.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]   |                               ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]  --> src/server/server.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![warn(unused_imports)]
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trace`
[INFO] [stdout]   --> src/server/server.rs:10:35
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info, trace, warn};
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/protocal/parser_test.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |         let mut large_array = String::from("*1000\r\n");
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/protocal/parser_test.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let message = format!("${}\r\n{}\r\n", large_string.len(), large_string);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/server/client.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let n = match self.reader.read_buf(&mut self.parser.buffer).await {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache` is never read
[INFO] [stdout]   --> src/db/db.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct DB<S, K, V>
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     cache: Arc<LruCache<K, V>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Entry` is never constructed
[INFO] [stdout]  --> src/db/lru.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Entry<V> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `map`, `queue`, and `capacity` are never read
[INFO] [stdout]   --> src/db/lru.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct LruCache<K, V> {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 14 |     map: HashMap<K, (V, Instant)>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 15 |     queue: VecDeque<K>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `put` are never used
[INFO] [stdout]   --> src/db/lru.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | / impl<K, V> LruCache<K, V>
[INFO] [stdout] 20 | | where
[INFO] [stdout] 21 | |     K: Hash + Eq + Clone,
[INFO] [stdout] 22 | |     V: Clone,
[INFO] [stdout]    | |_____________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |       pub fn get(&mut self, key: &K) -> Option<V> {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |       pub fn put(&mut self, key: K, value: V) {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `operations`, `hits`, and `misses` are never read
[INFO] [stdout]   --> src/db/storage.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | struct StorageStats {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] 67 |     operations: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 68 |     hits: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 69 |     misses: u64,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StorageStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.22s
[INFO] running `Command { std: "docker" "inspect" "783f28909ccd188c7c34a3dabd8129fb821db059e4425a505f62067e666d8507", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "783f28909ccd188c7c34a3dabd8129fb821db059e4425a505f62067e666d8507", kill_on_drop: false }`
[INFO] [stdout] 783f28909ccd188c7c34a3dabd8129fb821db059e4425a505f62067e666d8507
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 689756e1bd4628379fd9ccdcd8e84998116e4d929905d9bbe671f9630b09250b
[INFO] running `Command { std: "docker" "start" "-a" "689756e1bd4628379fd9ccdcd8e84998116e4d929905d9bbe671f9630b09250b", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]  --> src/db/lru.rs:5:17
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::time::{Duration, Instant};
[INFO] [stderr]   |                 ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParseError` and `Parser`
[INFO] [stderr]  --> src/protocal/parser_test.rs:1:31
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::protocal::parser::{ParseError, Parser};
[INFO] [stderr]   |                               ^^^^^^^^^^  ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]  --> src/protocal/mod.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub mod parser_test;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::protocal::resp::RespValue`
[INFO] [stderr]  --> src/protocal/parser_test.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::protocal::resp::RespValue;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]  --> src/protocal/mod.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub mod parser_test;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::borrow::Cow`
[INFO] [stderr]  --> src/protocal/parser_test.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::borrow::Cow;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]  --> src/protocal/mod.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub mod parser_test;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::protocal::resp::RespValue`
[INFO] [stderr]  --> src/protocal/resp_test.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::protocal::resp::RespValue;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]  --> src/protocal/mod.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub mod resp_test;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::borrow::Cow`
[INFO] [stderr]  --> src/protocal/resp_test.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::borrow::Cow;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stderr]  --> src/protocal/mod.rs:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub mod resp_test;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TcpStream`
[INFO] [stderr]  --> src/server/server.rs:8:31
[INFO] [stderr]   |
[INFO] [stderr] 8 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stderr]   |                               ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]  --> src/server/server.rs:1:9
[INFO] [stderr]   |
[INFO] [stderr] 1 | #![warn(unused_imports)]
[INFO] [stderr]   |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `trace`
[INFO] [stderr]   --> src/server/server.rs:10:35
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tracing::{debug, error, info, trace, warn};
[INFO] [stderr]    |                                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> src/server/client.rs:72:17
[INFO] [stderr]    |
[INFO] [stderr] 72 |             let n = match self.reader.read_buf(&mut self.parser.buffer).await {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `cache` is never read
[INFO] [stderr]   --> src/db/db.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub struct DB<S, K, V>
[INFO] [stderr]    |            -- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 15 |     cache: Arc<LruCache<K, V>>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Entry` is never constructed
[INFO] [stderr]  --> src/db/lru.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | struct Entry<V> {
[INFO] [stderr]   |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `map`, `queue`, and `capacity` are never read
[INFO] [stderr]   --> src/db/lru.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct LruCache<K, V> {
[INFO] [stderr]    |            -------- fields in this struct
[INFO] [stderr] 14 |     map: HashMap<K, (V, Instant)>,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 15 |     queue: VecDeque<K>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 16 |     capacity: usize,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get` and `put` are never used
[INFO] [stderr]   --> src/db/lru.rs:32:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | / impl<K, V> LruCache<K, V>
[INFO] [stderr] 20 | | where
[INFO] [stderr] 21 | |     K: Hash + Eq + Clone,
[INFO] [stderr] 22 | |     V: Clone,
[INFO] [stderr]    | |_____________- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 32 |       pub fn get(&mut self, key: &K) -> Option<V> {
[INFO] [stderr]    |              ^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |       pub fn put(&mut self, key: K, value: V) {
[INFO] [stderr]    |              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `operations`, `hits`, and `misses` are never read
[INFO] [stderr]   --> src/db/storage.rs:67:5
[INFO] [stderr]    |
[INFO] [stderr] 66 | struct StorageStats {
[INFO] [stderr]    |        ------------ fields in this struct
[INFO] [stderr] 67 |     operations: u64,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 68 |     hits: u64,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 69 |     misses: u64,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `StorageStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/protocal/parser_test.rs:316:13
[INFO] [stderr]     |
[INFO] [stderr] 316 |         let mut large_array = String::from("*1000\r\n");
[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 variable: `message`
[INFO] [stderr]    --> src/protocal/parser_test.rs:287:13
[INFO] [stderr]     |
[INFO] [stderr] 287 |         let message = format!("${}\r\n{}\r\n", large_string.len(), large_string);
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> src/server/client.rs:72:17
[INFO] [stderr]    |
[INFO] [stderr] 72 |             let n = match self.reader.read_buf(&mut self.parser.buffer).await {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: `foobar_db` (lib) generated 14 warnings (run `cargo fix --lib -p foobar_db` to apply 9 suggestions)
[INFO] [stderr] warning: `foobar_db` (lib test) generated 11 warnings (8 duplicates) (run `cargo fix --lib -p foobar_db --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/foobar_db-62a0899c8a27dd07)
[INFO] [stdout] 
[INFO] [stdout] running 39 tests
[INFO] [stdout] test db::storage::tests::test_clone ... ok
[INFO] [stdout] test db::storage::tests::test_basic_operations ... ok
[INFO] [stdout] test protocal::command::tests::test_invalid_command ... ok
[INFO] [stdout] test protocal::command::tests::test_parse_set_command ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_array_chunks ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_array_length_mismatch ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_exceeding_maximum_depth ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_integer ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_invalid_integer_format ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_integer_chunks ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_invalid_type_marker ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_large_bulk_string_chunks ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_missing_crlf ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_error ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_array ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_simple_string ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_invalid_length ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_big_number ... ok
[INFO] [stdout] test protocal::command::tests::test_parse_get_command ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_boolean ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_complex_nested_structures ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_double ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_error ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_integer ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_into_owned ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_map ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_push ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_is_none ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_verbatim_string ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_bulk_string_chunks ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_large_messages ... ok
[INFO] [stdout] test db::storage::tests::test_concurrent_access ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_error_message_chunks ... ok
[INFO] [stdout] test protocal::parser_test::tests::test_incomplete_messages ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_bulk_error ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_bulk_string ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_set ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_simple_string ... ok
[INFO] [stdout] test protocal::resp_test::tests::test_null ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/server.rs (/opt/rustwide/target/debug/deps/foobar_db-9d057f4275bfa216)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/client_tests.rs (/opt/rustwide/target/debug/deps/client_tests-ba7771c9a20354af)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_multiple_commands has been running for over 60 seconds
[INFO] [stdout] test test_set_get_commands has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "689756e1bd4628379fd9ccdcd8e84998116e4d929905d9bbe671f9630b09250b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "689756e1bd4628379fd9ccdcd8e84998116e4d929905d9bbe671f9630b09250b", kill_on_drop: false }`
[INFO] [stdout] 689756e1bd4628379fd9ccdcd8e84998116e4d929905d9bbe671f9630b09250b
