[INFO] cloning repository https://github.com/andrewlidong/keystonelight
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/andrewlidong/keystonelight" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrewlidong%2Fkeystonelight", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrewlidong%2Fkeystonelight'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e7f606d5d58b25a427d0264e9bb47176fb2425bc
[INFO] checking andrewlidong/keystonelight against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandrewlidong%2Fkeystonelight" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/andrewlidong/keystonelight
[INFO] finished tweaking git repo https://github.com/andrewlidong/keystonelight
[INFO] tweaked toml for git repo https://github.com/andrewlidong/keystonelight written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/andrewlidong/keystonelight on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/andrewlidong/keystonelight 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: explicit `package.readme` can be inferred
[INFO] [stderr]   --> Cargo.toml:47:1
[INFO] [stderr]    |
[INFO] [stderr] 47 | readme = "README.md"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::manual_readme` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.readme`
[INFO] [stderr] warning: `keystonelight` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ctrlc v3.4.6
[INFO] [stderr]   Downloaded crossbeam v0.2.12
[INFO] [stderr]   Downloaded flock v0.2.0
[INFO] [stderr]   Downloaded rustyline v12.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 992cdb594e899cafb4c7275d18605da2818e49267ff25b0073dd0193db0c7588
[INFO] running `Command { std: "docker" "start" "992cdb594e899cafb4c7275d18605da2818e49267ff25b0073dd0193db0c7588", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "992cdb594e899cafb4c7275d18605da2818e49267ff25b0073dd0193db0c7588", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "992cdb594e899cafb4c7275d18605da2818e49267ff25b0073dd0193db0c7588" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "992cdb594e899cafb4c7275d18605da2818e49267ff25b0073dd0193db0c7588", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "992cdb594e899cafb4c7275d18605da2818e49267ff25b0073dd0193db0c7588" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: explicit `package.readme` can be inferred
[INFO] [stderr]   --> Cargo.toml:47:1
[INFO] [stderr]    |
[INFO] [stderr] 47 | readme = "README.md"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::manual_readme` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.readme`
[INFO] [stderr] warning: `keystonelight` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]     Checking crossbeam v0.2.12
[INFO] [stderr]    Compiling rustix v1.0.5
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking getrandom v0.3.2
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking uuid v1.16.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking signal-hook v0.3.17
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking tempfile v3.19.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking flock v0.2.0
[INFO] [stderr]     Checking rustyline v12.0.0
[INFO] [stderr]     Checking ctrlc v3.4.6
[INFO] [stderr]     Checking keystonelight v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::protocol::parse_command`
[INFO] [stdout]   --> src/client/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use crate::protocol::parse_command;
[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: `AtomicUsize` and `Ordering`
[INFO] [stdout]  --> src/thread_pool.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protocol::parse_command`
[INFO] [stdout]   --> src/client/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use crate::protocol::parse_command;
[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: `AtomicUsize` and `Ordering`
[INFO] [stdout]  --> src/thread_pool.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_file`
[INFO] [stdout]    --> src/server/mod.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         log_file: P2,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_file`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/mod.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout] 374 |                         let mut storage = storage.lock().unwrap();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/server/mod.rs:382:29
[INFO] [stdout]     |
[INFO] [stdout] 382 |                         let mut storage = storage.lock().unwrap();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/mod.rs:390:29
[INFO] [stdout]     |
[INFO] [stdout] 390 |                         let mut storage = storage.lock().unwrap();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unlock` is never used
[INFO] [stdout]    --> src/storage/log.rs:219:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl LogFile {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn unlock(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/thread_pool.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | struct Worker {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 153 |     id: usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/mod.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     rl.add_history_entry(line.as_str());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let _ = rl.add_history_entry(line.as_str());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_file`
[INFO] [stdout]    --> src/server/mod.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         log_file: P2,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_file`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> tests/stress/concurrent_operations.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[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: `std::time::Duration`
[INFO] [stdout]  --> tests/stress/concurrent_operations.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tempfile::tempdir`
[INFO] [stdout]  --> tests/stress/concurrent_operations.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tempfile::tempdir;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> tests/stress/persistence.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `concurrent_operations::*`
[INFO] [stdout]  --> tests/stress/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use concurrent_operations::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error_injection::*`
[INFO] [stdout]  --> tests/stress/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use error_injection::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `large_data::*`
[INFO] [stdout]   --> tests/stress/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use large_data::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `many_clients::*`
[INFO] [stdout]   --> tests/stress/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use many_clients::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `persistence::*`
[INFO] [stdout]   --> tests/stress/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use persistence::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `varied_operations::*`
[INFO] [stdout]   --> tests/stress/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use varied_operations::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/mod.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout] 374 |                         let mut storage = storage.lock().unwrap();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/server/mod.rs:382:29
[INFO] [stdout]     |
[INFO] [stdout] 382 |                         let mut storage = storage.lock().unwrap();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/mod.rs:390:29
[INFO] [stdout]     |
[INFO] [stdout] 390 |                         let mut storage = storage.lock().unwrap();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protocol::parse_command`
[INFO] [stdout]   --> src/client/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use crate::protocol::parse_command;
[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: `AtomicUsize` and `Ordering`
[INFO] [stdout]  --> src/thread_pool.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unlock` is never used
[INFO] [stdout]    --> src/storage/log.rs:219:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl LogFile {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn unlock(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/thread_pool.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | struct Worker {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 153 |     id: usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::protocol::parse_command`
[INFO] [stdout]   --> src/client/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use crate::protocol::parse_command;
[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: `AtomicUsize` and `Ordering`
[INFO] [stdout]  --> src/thread_pool.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::atomic::{AtomicUsize, Ordering};
[INFO] [stdout]   |                         ^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/mod.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     rl.add_history_entry(line.as_str());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let _ = rl.add_history_entry(line.as_str());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_file`
[INFO] [stdout]    --> src/server/mod.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         log_file: P2,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_file`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/mod.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout] 374 |                         let mut storage = storage.lock().unwrap();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/server/mod.rs:382:29
[INFO] [stdout]     |
[INFO] [stdout] 382 |                         let mut storage = storage.lock().unwrap();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/mod.rs:390:29
[INFO] [stdout]     |
[INFO] [stdout] 390 |                         let mut storage = storage.lock().unwrap();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run_interactive` is never used
[INFO] [stdout]    --> src/client/mod.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl Client {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn run_interactive(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Response` is never used
[INFO] [stdout]    --> src/protocol/mod.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub enum Response {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_THREAD_COUNT` is never used
[INFO] [stdout]   --> src/server/mod.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | const DEFAULT_THREAD_COUNT: usize = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/server/mod.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl Server {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn new() -> io::Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unlock` is never used
[INFO] [stdout]    --> src/storage/log.rs:219:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl LogFile {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn unlock(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/thread_pool.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | struct Worker {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 153 |     id: usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/mod.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     rl.add_history_entry(line.as_str());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let _ = rl.add_history_entry(line.as_str());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `log_file`
[INFO] [stdout]    --> src/server/mod.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         log_file: P2,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_file`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/mod.rs:374:29
[INFO] [stdout]     |
[INFO] [stdout] 374 |                         let mut storage = storage.lock().unwrap();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/server/mod.rs:382:29
[INFO] [stdout]     |
[INFO] [stdout] 382 |                         let mut storage = storage.lock().unwrap();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/mod.rs:390:29
[INFO] [stdout]     |
[INFO] [stdout] 390 |                         let mut storage = storage.lock().unwrap();
[INFO] [stdout]     |                             ----^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/stress/concurrent_operations.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |             let mut errors = 0;
[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: method `run_interactive` is never used
[INFO] [stdout]    --> src/client/mod.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl Client {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn run_interactive(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Response` is never used
[INFO] [stdout]    --> src/protocol/mod.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub enum Response {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_THREAD_COUNT` is never used
[INFO] [stdout]   --> src/server/mod.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | const DEFAULT_THREAD_COUNT: usize = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/server/mod.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl Server {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn new() -> io::Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unlock` is never used
[INFO] [stdout]    --> src/storage/log.rs:219:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl LogFile {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn unlock(&self) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]    --> src/thread_pool.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | struct Worker {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 153 |     id: usize,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/stress/persistence.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let mut rng = rand::thread_rng();
[INFO] [stdout]    |                 ----^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> tests/stress/persistence.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |             let mut rng = rand::thread_rng();
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_CLIENTS` is never used
[INFO] [stdout]  --> tests/stress/concurrent_operations.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const NUM_CLIENTS: usize = 10;
[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 `OPERATIONS_PER_CLIENT` is never used
[INFO] [stdout]   --> tests/stress/concurrent_operations.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const OPERATIONS_PER_CLIENT: usize = 100;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TIMEOUT_SECONDS` is never used
[INFO] [stdout]   --> tests/stress/concurrent_operations.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const TIMEOUT_SECONDS: u64 = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_concurrent_operations` is never used
[INFO] [stdout]   --> tests/stress/concurrent_operations.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn test_concurrent_operations(db: Arc<Database>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/client/mod.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     rl.add_history_entry(line.as_str());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 146 |                     let _ = rl.add_history_entry(line.as_str());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `ctrlc`
[INFO] [stderr]   --> Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | ctrlc = "3.4"
[INFO] [stderr]    | ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `ctrlc`
[INFO] [stderr] warning: unused dependency `flock`
[INFO] [stderr]   --> Cargo.toml:12:1
[INFO] [stderr]    |
[INFO] [stderr] 12 | flock = "0.2.0"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `flock`
[INFO] [stderr] warning: unused dependency `lazy_static`
[INFO] [stderr]   --> Cargo.toml:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | lazy_static = "1.4"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `lazy_static`
[INFO] [stderr] warning: unused dependency `uuid`
[INFO] [stderr]   --> Cargo.toml:26:15
[INFO] [stderr]    |
[INFO] [stderr] 26 | [dependencies.uuid]
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `uuid`
[INFO] [stderr] help: to still use for development builds, move to `dev-dependencies`
[INFO] [stderr] warning: `keystonelight` (manifest) generated 4 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.47s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.29.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 9`
[INFO] running `Command { std: "docker" "inspect" "992cdb594e899cafb4c7275d18605da2818e49267ff25b0073dd0193db0c7588", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "992cdb594e899cafb4c7275d18605da2818e49267ff25b0073dd0193db0c7588", kill_on_drop: false }`
[INFO] [stdout] 992cdb594e899cafb4c7275d18605da2818e49267ff25b0073dd0193db0c7588
