[INFO] cloning repository https://github.com/joshradin/relational-search
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/joshradin/relational-search" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoshradin%2Frelational-search", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoshradin%2Frelational-search'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c485bf218d8a59c53c78bbfd29e44b6a91f0d585
[INFO] checking joshradin/relational-search against master#507271bc119683008ec719ecee48814e8ac86c65 for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoshradin%2Frelational-search" "/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/joshradin/relational-search
[INFO] finished tweaking git repo https://github.com/joshradin/relational-search
[INFO] tweaked toml for git repo https://github.com/joshradin/relational-search written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/joshradin/relational-search on toolchain 507271bc119683008ec719ecee48814e8ac86c65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/joshradin/relational-search 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" "+507271bc119683008ec719ecee48814e8ac86c65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_yaml v0.9.25
[INFO] [stderr]   Downloaded async-stream v0.3.5
[INFO] [stderr]   Downloaded parking v2.1.0
[INFO] [stderr]   Downloaded crossbeam v0.8.2
[INFO] [stderr]   Downloaded memoffset v0.9.0
[INFO] [stderr]   Downloaded async-stream-impl v0.3.5
[INFO] [stderr]   Downloaded memmap v0.7.0
[INFO] [stderr]   Downloaded atomic-waker v1.1.1
[INFO] [stderr]   Downloaded hermit-abi v0.3.2
[INFO] [stderr]   Downloaded atomic-polyfill v0.1.11
[INFO] [stderr]   Downloaded iter-read v0.3.1
[INFO] [stderr]   Downloaded hexdump v0.1.1
[INFO] [stderr]   Downloaded cobs v0.2.3
[INFO] [stderr]   Downloaded intmap v0.7.1
[INFO] [stderr]   Downloaded to_method v1.1.0
[INFO] [stderr]   Downloaded merge_derive v0.1.0
[INFO] [stderr]   Downloaded spinning v0.1.0
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.3
[INFO] [stderr]   Downloaded blocking v1.3.1
[INFO] [stderr]   Downloaded concurrent-queue v2.2.0
[INFO] [stderr]   Downloaded merge v0.1.0
[INFO] [stderr]   Downloaded critical-section v1.1.2
[INFO] [stderr]   Downloaded bitfield v0.14.0
[INFO] [stderr]   Downloaded async-task v4.4.0
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.15
[INFO] [stderr]   Downloaded argon2 v0.5.2
[INFO] [stderr]   Downloaded clap v4.4.3
[INFO] [stderr]   Downloaded itertools v0.4.19
[INFO] [stderr]   Downloaded postcard v1.0.7
[INFO] [stderr]   Downloaded unsafe-libyaml v0.2.9
[INFO] [stderr]   Downloaded heapless v0.7.16
[INFO] [stderr]   Downloaded interprocess v1.2.1
[INFO] [stderr]   Downloaded serde-pickle v1.1.1
[INFO] [stderr]   Downloaded syn v2.0.32
[INFO] [stderr]   Downloaded fern v0.6.2
[INFO] [stderr]   Downloaded num-bigfloat v1.7.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0e0679312246d8470695fd2006eec87eba2641d5daa83528cf964044c2bbe82e
[INFO] running `Command { std: "docker" "start" "-a" "0e0679312246d8470695fd2006eec87eba2641d5daa83528cf964044c2bbe82e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0e0679312246d8470695fd2006eec87eba2641d5daa83528cf964044c2bbe82e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0e0679312246d8470695fd2006eec87eba2641d5daa83528cf964044c2bbe82e", kill_on_drop: false }`
[INFO] [stdout] 0e0679312246d8470695fd2006eec87eba2641d5daa83528cf964044c2bbe82e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d96e074a583f776a5a37f3371b09e524301dca68cec34e7cb0f15358a7cb9d06
[INFO] running `Command { std: "docker" "start" "-a" "d96e074a583f776a5a37f3371b09e524301dca68cec34e7cb0f15358a7cb9d06", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling semver v1.0.18
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]    Compiling serde v1.0.188
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling parking_lot_core v0.9.8
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling lock_api v0.4.10
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]     Checking smallvec v1.11.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]     Checking subtle v2.5.0
[INFO] [stderr]     Checking event-listener v2.5.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling crossbeam-queue v0.3.8
[INFO] [stderr]     Checking waker-fn v1.1.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking parking v2.1.0
[INFO] [stderr]    Compiling rustix v0.38.13
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking async-lock v2.8.0
[INFO] [stderr]     Checking hash32 v0.2.1
[INFO] [stderr]     Checking async-task v4.4.0
[INFO] [stderr]    Compiling async-trait v0.1.73
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.7
[INFO] [stderr]     Checking concurrent-queue v2.2.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking atomic-waker v1.1.1
[INFO] [stderr]     Checking base64ct v1.6.0
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]    Compiling syn v2.0.32
[INFO] [stderr]     Checking crossbeam-channel v0.5.8
[INFO] [stderr]     Checking anstyle-parse v0.2.1
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking spinning v0.1.0
[INFO] [stderr]     Checking anstyle-query v1.0.0
[INFO] [stderr]     Checking cpufeatures v0.2.9
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking zeroize v1.6.0
[INFO] [stderr]     Checking base64 v0.21.4
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking itertools v0.4.19
[INFO] [stderr]     Checking fastrand v2.0.0
[INFO] [stderr]     Checking to_method v1.1.0
[INFO] [stderr]     Checking intmap v0.7.1
[INFO] [stderr]     Checking cobs v0.2.3
[INFO] [stderr]     Checking anstyle v1.0.3
[INFO] [stderr]    Compiling heapless v0.7.16
[INFO] [stderr]    Compiling interprocess v1.2.1
[INFO] [stderr]     Checking secrecy v0.8.0
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]     Checking clap_lex v0.5.1
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking anstream v0.5.0
[INFO] [stderr]     Checking bitfield v0.14.0
[INFO] [stderr]     Checking indexmap v2.0.0
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]     Checking iter-read v0.3.1
[INFO] [stderr]     Checking unsafe-libyaml v0.2.9
[INFO] [stderr]     Checking crossbeam v0.8.2
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking hexdump v0.1.1
[INFO] [stderr]     Checking clap_builder v4.4.2
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking mio v0.8.8
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.1
[INFO] [stderr]     Checking socket2 v0.5.4
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking uuid v1.4.1
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking argon2 v0.5.2
[INFO] [stderr]    Compiling merge_derive v0.1.0
[INFO] [stderr]     Checking merge v0.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.188
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling thiserror-impl v1.0.48
[INFO] [stderr]    Compiling async-stream-impl v0.3.5
[INFO] [stderr]    Compiling clap_derive v4.4.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.26
[INFO] [stderr]     Checking async-stream v0.3.5
[INFO] [stderr]     Checking tokio v1.32.0
[INFO] [stderr]     Checking thiserror v1.0.48
[INFO] [stderr]     Checking futures-util v0.3.28
[INFO] [stderr]     Checking clap v4.4.3
[INFO] [stderr]     Checking futures-executor v0.3.28
[INFO] [stderr]     Checking futures v0.3.28
[INFO] [stderr]     Checking tokio-util v0.7.8
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking bitflags v2.4.0
[INFO] [stderr]     Checking num-bigfloat v1.7.0
[INFO] [stderr]     Checking serde-pickle v1.1.1
[INFO] [stderr]     Checking serde_yaml v0.9.25
[INFO] [stderr]     Checking blocking v1.3.1
[INFO] [stderr]     Checking fern v0.6.2
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking postcard v1.0.7
[INFO] [stderr]     Checking tempfile v3.8.0
[INFO] [stderr]     Checking docatlas-core v0.1.0 (/opt/rustwide/workdir/crates/docatlas-core)
[INFO] [stdout] warning: unused import: `Salt`
[INFO] [stdout]  --> crates/docatlas-core/src/auth/authentication.rs:3:49
[INFO] [stdout]   |
[INFO] [stdout] 3 | use argon2::password_hash::{PasswordHashString, Salt, SaltString};
[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: `PasswordHash` and `PasswordVerifier`
[INFO] [stdout]  --> crates/docatlas-core/src/auth/authentication.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use argon2::{PasswordHash, PasswordHasher, PasswordVerifier};
[INFO] [stdout]   |              ^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExposeSecret` and `SecretVec`
[INFO] [stdout]  --> crates/docatlas-core/src/auth/authentication.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use secrecy::{ExposeSecret, SecretVec};
[INFO] [stdout]   |               ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> crates/docatlas-core/src/document.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> crates/docatlas-core/src/fields.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Pointer`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/block.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::{Debug, Display, Formatter, Pointer};
[INFO] [stdout]   |                       ^^^^^^^             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/block.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/block.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::transmute`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::mem::transmute;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ptr` and `slice`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::{io, ptr, slice};
[INFO] [stdout]    |               ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use serde::de::DeserializeOwned;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::ser::Error as SerError`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use serde::ser::Error as SerError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Deserializer`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::persist::block::Block`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/persisted_box.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::persist::block::Block;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::shared::Shared`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/persisted_box.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::shared::Shared;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/persisted_raw_array.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Blocks`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/persisted_vec.rs:12:36
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::persist::block::{Block, Blocks};
[INFO] [stdout]    |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrorKind` and `Error`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{Error, ErrorKind};
[INFO] [stdout]   |               ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::net::SocketAddr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Poll`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::task::{Context, Poll};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `io` and `iter`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{io, iter};
[INFO] [stdout]    |           ^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_stream::stream`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use async_stream::stream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use async_trait::async_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::stream::BoxStream`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures::stream::BoxStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Sink`, `StreamExt`, `Stream`, and `TryStreamExt`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures::{Sink, Stream, StreamExt, TryStreamExt};
[INFO] [stdout]    |               ^^^^  ^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LocalSocketStream`, `OwnedReadHalf as LocalOwnedReadHalf`, and `OwnedWriteHalf as LocalOwnedWriteHalf`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     LocalSocketStream, OwnedReadHalf as LocalOwnedReadHalf, OwnedWriteHalf as LocalOwnedWriteHalf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use serde::de::DeserializeOwned;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use serde::Serialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use thiserror::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncReadExt`, `AsyncRead`, `AsyncWriteExt`, `AsyncWrite`, `BufReader`, `BufWriter`, and `ReadBuf`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt, BufReader, BufWriter, ReadBuf,
[INFO] [stdout]    |     ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedReadHalf` and `OwnedWriteHalf`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:25:23
[INFO] [stdout]    |
[INFO] [stdout] 25 | use tokio::net::tcp::{OwnedReadHalf, OwnedWriteHalf};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use tokio::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Pin` and `pin`
[INFO] [stdout]  --> crates/docatlas-core/src/transport/packet_reader.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::pin::{Pin, pin};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Poll`
[INFO] [stdout]  --> crates/docatlas-core/src/transport/packet_reader.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::task::{Context, Poll};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWrite`
[INFO] [stdout]  --> crates/docatlas-core/src/transport/packet_reader.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{AsyncWrite, Stream};
[INFO] [stdout]   |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> crates/docatlas-core/src/transport/packet_reader.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Salt`
[INFO] [stdout]  --> crates/docatlas-core/src/auth/authentication.rs:3:49
[INFO] [stdout]   |
[INFO] [stdout] 3 | use argon2::password_hash::{PasswordHashString, Salt, SaltString};
[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: `PasswordHash` and `PasswordVerifier`
[INFO] [stdout]  --> crates/docatlas-core/src/auth/authentication.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use argon2::{PasswordHash, PasswordHasher, PasswordVerifier};
[INFO] [stdout]   |              ^^^^^^^^^^^^                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExposeSecret` and `SecretVec`
[INFO] [stdout]  --> crates/docatlas-core/src/auth/authentication.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use secrecy::{ExposeSecret, SecretVec};
[INFO] [stdout]   |               ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> crates/docatlas-core/src/document.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Display`
[INFO] [stdout]  --> crates/docatlas-core/src/fields.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::Display;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `Pointer`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/block.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::{Debug, Display, Formatter, Pointer};
[INFO] [stdout]   |                       ^^^^^^^             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/block.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/block.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::transmute`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::mem::transmute;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ops::{Deref, DerefMut};
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ptr` and `slice`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::{io, ptr, slice};
[INFO] [stdout]    |               ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use serde::de::DeserializeOwned;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::ser::Error as SerError`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use serde::ser::Error as SerError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Deserializer`, `Serialize`, and `Serializer`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | use serde::{Deserialize, Deserializer, Serialize, Serializer};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::persist::block::Block`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/persisted_box.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::persist::block::Block;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::shared::Shared`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/persisted_box.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::shared::Shared;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/persisted_raw_array.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Not`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/persisted_vec.rs:8:40
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Bound, Deref, DerefMut, Not, RangeBounds};
[INFO] [stdout]   |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrorKind` and `Error`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{Error, ErrorKind};
[INFO] [stdout]   |               ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::net::SocketAddr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Poll`
[INFO] [stdout]  --> crates/docatlas-core/src/transport.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::task::{Context, Poll};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `io` and `iter`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{io, iter};
[INFO] [stdout]    |           ^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_stream::stream`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use async_stream::stream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use async_trait::async_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::stream::BoxStream`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use futures::stream::BoxStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Sink`, `StreamExt`, `Stream`, and `TryStreamExt`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | use futures::{Sink, Stream, StreamExt, TryStreamExt};
[INFO] [stdout]    |               ^^^^  ^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LocalSocketStream`, `OwnedReadHalf as LocalOwnedReadHalf`, and `OwnedWriteHalf as LocalOwnedWriteHalf`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     LocalSocketStream, OwnedReadHalf as LocalOwnedReadHalf, OwnedWriteHalf as LocalOwnedWriteHalf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::DeserializeOwned`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use serde::de::DeserializeOwned;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use serde::Serialize;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use thiserror::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncReadExt`, `AsyncRead`, `AsyncWriteExt`, `AsyncWrite`, `BufReader`, `BufWriter`, and `ReadBuf`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt, BufReader, BufWriter, ReadBuf,
[INFO] [stdout]    |     ^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OwnedReadHalf` and `OwnedWriteHalf`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:25:23
[INFO] [stdout]    |
[INFO] [stdout] 25 | use tokio::net::tcp::{OwnedReadHalf, OwnedWriteHalf};
[INFO] [stdout]    |                       ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::net::TcpStream`
[INFO] [stdout]   --> crates/docatlas-core/src/transport.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use tokio::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Pin` and `pin`
[INFO] [stdout]  --> crates/docatlas-core/src/transport/packet_reader.rs:5:16
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::pin::{Pin, pin};
[INFO] [stdout]   |                ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context` and `Poll`
[INFO] [stdout]  --> crates/docatlas-core/src/transport/packet_reader.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::task::{Context, Poll};
[INFO] [stdout]   |                 ^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWrite`
[INFO] [stdout]  --> crates/docatlas-core/src/transport/packet_reader.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::{AsyncWrite, Stream};
[INFO] [stdout]   |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> crates/docatlas-core/src/transport/packet_reader.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Not`
[INFO] [stdout]  --> crates/docatlas-core/src/persist/persisted_vec.rs:8:40
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Bound, Deref, DerefMut, Not, RangeBounds};
[INFO] [stdout]   |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let mut file = File::options()
[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: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/docatlas-core/src/persist/persisted_vec.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_PASSWORD` is never used
[INFO] [stdout]   --> crates/docatlas-core/src/auth/authentication/admin_service.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const DEFAULT_PASSWORD: &[u8] = b"admin";
[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 `file_path` is never read
[INFO] [stdout]   --> crates/docatlas-core/src/auth/authentication/admin_service.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct AdminAuthenticationService {
[INFO] [stdout]    |            -------------------------- field in this struct
[INFO] [stdout] 21 |     hashed_password: PasswordHashString,
[INFO] [stdout] 22 |     file_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AdminAuthenticationService` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create` is never used
[INFO] [stdout]   --> crates/docatlas-core/src/auth/authentication/admin_service.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl AdminAuthenticationService {
[INFO] [stdout]    | ------------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn create<P: AsRef<Path>, A: Into<Option<Vec<u8>>>>(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fields` is never read
[INFO] [stdout]   --> crates/docatlas-core/src/document.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Document {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 12 |     fields: Fields,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Document` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind` and `data` are never read
[INFO] [stdout]   --> crates/docatlas-core/src/fields.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct Field {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 30 |     kind: FieldKind,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 31 |     data: Vec<FieldData>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `documents` are never read
[INFO] [stdout]  --> crates/docatlas-core/src/index.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Index {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 7 |     path: PathBuf,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 8 |     documents: Vec<(Vec<Fields>,)>,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Index` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BlockKey` is never used
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:28:6
[INFO] [stdout]    |
[INFO] [stdout] 28 | type BlockKey = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_SEGMENT_SIZE` is never used
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const DEFAULT_SEGMENT_SIZE: usize = 1028 * 8 * 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockBuilder` is never constructed
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct BlockBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_size`, `open`, and `create` are never used
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl BlockBuilder {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 40 |     /// Sets the size of the block
[INFO] [stdout] 41 |     pub fn with_size(mut self, size: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn open<P: AsRef<Path>>(self, path: P) -> Result<Block, BlockError> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn create(self) -> Result<Block, BlockError> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `size_of` is never used
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn size_of<T: Sized>(count: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blocks` is never constructed
[INFO] [stdout]    --> crates/docatlas-core/src/persist/block.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct Blocks;
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `new` and `builder` are never used
[INFO] [stdout]    --> crates/docatlas-core/src/persist/block.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl Blocks {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn new(&self) -> Block {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn builder(&self) -> BlockBuilder {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MissingSize` and `PathAlreadyOpened` are never constructed
[INFO] [stdout]    --> crates/docatlas-core/src/persist/block.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub enum BlockError {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 140 |     #[error("Must specify capacity ({})", if *is_anon { "anonymous map"} else {"file is not present"})]
[INFO] [stdout] 141 |     MissingSize { is_anon: bool },
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 142 |     #[error("Path {0} already open, only one block can open a file at a time")]
[INFO] [stdout] 143 |     PathAlreadyOpened(PathBuf),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BlockError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PersistedRawArray` is never constructed
[INFO] [stdout]  --> crates/docatlas-core/src/persist/persisted_raw_array.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct PersistedRawArray<T: Persist> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `capacity`, and `reserve` are never used
[INFO] [stdout]   --> crates/docatlas-core/src/persist/persisted_raw_array.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<T: Persist> PersistedRawArray<T> {
[INFO] [stdout]    | ------------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub unsafe fn new(block: Block) -> PersistedRawArray<T> {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub unsafe fn reserve(&mut self, additional: usize) {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `wrapped` is never read
[INFO] [stdout]   --> crates/docatlas-core/src/transport/packet_reader.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Packet<T> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 16 |     wrapped: T,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Packet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/docatlas-core/src/auth/authentication.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn payloads(&self) -> impl Iterator<Item = &AuthenticationRequestPayload> {
[INFO] [stdout]     |                     ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |                              ||
[INFO] [stdout]     |                     |                              |the same lifetime is hidden here
[INFO] [stdout]     |                     |                              the same lifetime is elided here
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn payloads(&self) -> impl Iterator<Item = &AuthenticationRequestPayload<'_>> {
[INFO] [stdout]     |                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]   --> crates/docatlas-core/src/persist/persisted_unsafe_cell.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |             drop(read)
[INFO] [stdout]    |             ^^^^^----^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  argument has type `u8`
[INFO] [stdout]    |
[INFO] [stdout]    = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]    = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/docatlas-core/src/persist/persisted_vec.rs:211:21
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn drain<R>(&mut self, range: R) -> Drain<T>
[INFO] [stdout]     |                     ^^^^^^^^^               ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn drain<R>(&mut self, range: R) -> Drain<'_, T>
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/docatlas-core/src/persist/persisted_vec.rs:219:18
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn split(&self, len: usize) -> Split<T> {
[INFO] [stdout]     |                  ^^^^^                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn split(&self, len: usize) -> Split<'_, T> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/docatlas-core/src/persist/persisted_vec.rs:229:22
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub fn split_mut(&mut self, len: usize) -> SplitMut<T> {
[INFO] [stdout]     |                      ^^^^^^^^^                 ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub fn split_mut(&mut self, len: usize) -> SplitMut<'_, T> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/docatlas-core/src/schema.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn iter(&self) -> SchemaIter {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn iter(&self) -> SchemaIter<'_> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/docatlas-core/src/schema.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn drain<R: RangeBounds<usize>>(&mut self, bounds: R) -> Drain<SchemaField> {
[INFO] [stdout]    |                                         ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn drain<R: RangeBounds<usize>>(&mut self, bounds: R) -> Drain<'_, SchemaField> {
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/docatlas-core/src/shared.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn read(&self) -> SharedReadGuard<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn read(&self) -> SharedReadGuard<'_, T> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/docatlas-core/src/shared.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn try_read(&self) -> Option<SharedReadGuard<T>> {
[INFO] [stdout]    |                     ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn try_read(&self) -> Option<SharedReadGuard<'_, T>> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/docatlas-core/src/shared.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn write(&self) -> SharedWriteGuard<T> {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn write(&self) -> SharedWriteGuard<'_, T> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/docatlas-core/src/shared.rs:38:22
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn try_write(&self) -> Option<SharedWriteGuard<T>> {
[INFO] [stdout]    |                      ^^^^^            ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn try_write(&self) -> Option<SharedWriteGuard<'_, T>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable `else` clause
[INFO] [stdout]    --> crates/docatlas-core/src/auth/authentication.rs:159:90
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let &AuthenticationRequestPayload::Basic { username, password } = &e.payloads[0] else {
[INFO] [stdout]     |         -------------------------------------------------------------------------------- ^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         assigning to binding pattern will always succeed
[INFO] [stdout]     |
[INFO] [stdout]     = note: this pattern always matches, so the else clause is unreachable
[INFO] [stdout]     = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 let mut file = File::options()
[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]    --> crates/docatlas-core/src/persist/block.rs:260:17
[INFO] [stdout]     |
[INFO] [stdout] 260 |             let mut v_mut = block.as_ptr_mut();
[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]    --> crates/docatlas-core/src/persist/block.rs:271:17
[INFO] [stdout]     |
[INFO] [stdout] 271 |             let mut v_mut = block.as_typed_mut_ptr::<(usize, u32)>();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/docatlas-core/src/persist/block.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `segment`
[INFO] [stdout]    --> crates/docatlas-core/src/persist/block.rs:287:17
[INFO] [stdout]     |
[INFO] [stdout] 287 |             let segment = Blocks.builder().open(&file).unwrap();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_segment`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cell`
[INFO] [stdout]   --> crates/docatlas-core/src/persist/persisted_cell.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let cell = PersistedCell::new(block, 32);
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_cell`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking docatlas-daemon v0.1.0 (/opt/rustwide/workdir/crates/docatlas-daemon)
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/docatlas-core/src/persist/persisted_vec.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/docatlas-core/src/persist/persisted_vec.rs:661:13
[INFO] [stdout]     |
[INFO] [stdout] 661 |         let mut lower = split.write(0).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]    --> crates/docatlas-core/src/persist/persisted_vec.rs:663:13
[INFO] [stdout]     |
[INFO] [stdout] 663 |         let mut upper = split.write(1).unwrap();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lower_mut`
[INFO] [stdout]    --> crates/docatlas-core/src/persist/persisted_vec.rs:675:17
[INFO] [stdout]     |
[INFO] [stdout] 675 |             let lower_mut = split.write(0).unwrap();
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lower_mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lower`
[INFO] [stdout]    --> crates/docatlas-core/src/persist/persisted_vec.rs:680:17
[INFO] [stdout]     |
[INFO] [stdout] 680 |             let lower = split.read(0).unwrap();
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_lower`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lower`
[INFO] [stdout]    --> crates/docatlas-core/src/persist.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let lower = PData::<i32>::write_singleton(split.write(0).unwrap(), 32);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_lower`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `upper`
[INFO] [stdout]    --> crates/docatlas-core/src/persist.rs:149:13
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let upper = PData::<i32>::write_singleton(split.write(1).unwrap(), 128);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_upper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file_path` is never read
[INFO] [stdout]   --> crates/docatlas-core/src/auth/authentication/admin_service.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct AdminAuthenticationService {
[INFO] [stdout]    |            -------------------------- field in this struct
[INFO] [stdout] 21 |     hashed_password: PasswordHashString,
[INFO] [stdout] 22 |     file_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AdminAuthenticationService` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fields` is never read
[INFO] [stdout]   --> crates/docatlas-core/src/document.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Document {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 12 |     fields: Fields,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Document` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind` and `data` are never read
[INFO] [stdout]   --> crates/docatlas-core/src/fields.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct Field {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 30 |     kind: FieldKind,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 31 |     data: Vec<FieldData>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `documents` are never read
[INFO] [stdout]  --> crates/docatlas-core/src/index.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Index {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 7 |     path: PathBuf,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 8 |     documents: Vec<(Vec<Fields>,)>,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Index` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BlockKey` is never used
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:28:6
[INFO] [stdout]    |
[INFO] [stdout] 28 | type BlockKey = u64;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `size_of` is never used
[INFO] [stdout]   --> crates/docatlas-core/src/persist/block.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn size_of<T: Sized>(count: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PersistedRawArray` is never constructed
[INFO] [stdout]  --> crates/docatlas-core/src/persist/persisted_raw_array.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct PersistedRawArray<T: Persist> {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `capacity`, and `reserve` are never used
[INFO] [stdout]   --> crates/docatlas-core/src/persist/persisted_raw_array.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl<T: Persist> PersistedRawArray<T> {
[INFO] [stdout]    | ------------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub unsafe fn new(block: Block) -> PersistedRawArray<T> {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub unsafe fn reserve(&mut self, additional: usize) {
[INFO] [stdout]    |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `wrapped` is never read
[INFO] [stdout]   --> crates/docatlas-core/src/transport/packet_reader.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Packet<T> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 16 |     wrapped: T,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Packet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/docatlas-core/src/auth/authentication.rs:111:21
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn payloads(&self) -> impl Iterator<Item = &AuthenticationRequestPayload> {
[INFO] [stdout]     |                     ^^^^^                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |                              ||
[INFO] [stdout]     |                     |                              |the same lifetime is hidden here
[INFO] [stdout]     |                     |                              the same lifetime is elided here
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn payloads(&self) -> impl Iterator<Item = &AuthenticationRequestPayload<'_>> {
[INFO] [stdout]     |                                                                                 ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]   --> crates/docatlas-core/src/persist/persisted_unsafe_cell.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |             drop(read)
[INFO] [stdout]    |             ^^^^^----^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  argument has type `u8`
[INFO] [stdout]    |
[INFO] [stdout]    = note: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]    = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/docatlas-core/src/persist/persisted_vec.rs:211:21
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn drain<R>(&mut self, range: R) -> Drain<T>
[INFO] [stdout]     |                     ^^^^^^^^^               ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn drain<R>(&mut self, range: R) -> Drain<'_, T>
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/docatlas-core/src/persist/persisted_vec.rs:219:18
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn split(&self, len: usize) -> Split<T> {
[INFO] [stdout]     |                  ^^^^^                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn split(&self, len: usize) -> Split<'_, T> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/docatlas-core/src/persist/persisted_vec.rs:229:22
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub fn split_mut(&mut self, len: usize) -> SplitMut<T> {
[INFO] [stdout]     |                      ^^^^^^^^^                 ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub fn split_mut(&mut self, len: usize) -> SplitMut<'_, T> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/docatlas-core/src/schema.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn iter(&self) -> SchemaIter {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn iter(&self) -> SchemaIter<'_> {
[INFO] [stdout]    |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/docatlas-core/src/schema.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn drain<R: RangeBounds<usize>>(&mut self, bounds: R) -> Drain<SchemaField> {
[INFO] [stdout]    |                                         ^^^^^^^^^                ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn drain<R: RangeBounds<usize>>(&mut self, bounds: R) -> Drain<'_, SchemaField> {
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/docatlas-core/src/shared.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn read(&self) -> SharedReadGuard<T> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn read(&self) -> SharedReadGuard<'_, T> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/docatlas-core/src/shared.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn try_read(&self) -> Option<SharedReadGuard<T>> {
[INFO] [stdout]    |                     ^^^^^            ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn try_read(&self) -> Option<SharedReadGuard<'_, T>> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/docatlas-core/src/shared.rs:32:18
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn write(&self) -> SharedWriteGuard<T> {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn write(&self) -> SharedWriteGuard<'_, T> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/docatlas-core/src/shared.rs:38:22
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn try_write(&self) -> Option<SharedWriteGuard<T>> {
[INFO] [stdout]    |                      ^^^^^            ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn try_write(&self) -> Option<SharedWriteGuard<'_, T>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::client::Client`
[INFO] [stdout]  --> crates/docatlas-daemon/src/main_loop.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::client::Client;
[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: `crate::client::Client`
[INFO] [stdout]  --> crates/docatlas-daemon/src/main_loop.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::client::Client;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/docatlas-daemon/src/main_loop.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 |     while let Ok((mut stream, socket)) = listener.accept().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: variable does not need to be mutable
[INFO] [stdout]   --> crates/docatlas-daemon/src/main_loop.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 |     while let Ok((mut stream, socket)) = listener.accept().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: `FutureExt`
[INFO] [stdout]  --> crates/docatlas-daemon/src/client.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::{FutureExt, Sink, SinkExt, Stream, StreamExt};
[INFO] [stdout]   |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> crates/docatlas-daemon/src/client.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use futures::{FutureExt, Sink, SinkExt, Stream, StreamExt};
[INFO] [stdout]   |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sink`
[INFO] [stdout]   --> crates/docatlas-daemon/src/main_loop.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |             let (stream, sink) = stream.into_split();
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_sink`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> crates/docatlas-daemon/src/main_loop.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |             let x = stream.next().await;
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sink`
[INFO] [stdout]   --> crates/docatlas-daemon/src/main_loop.rs:18:26
[INFO] [stdout]    |
[INFO] [stdout] 18 |             let (stream, sink) = stream.into_split();
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_sink`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> crates/docatlas-daemon/src/main_loop.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |             let x = stream.next().await;
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `override_if_value` is never used
[INFO] [stdout]  --> crates/docatlas-daemon/src/config/merge_strategies.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn override_if_value<T: PartialEq>(value: T) -> impl Fn(&mut T, T) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `override_if_value` is never used
[INFO] [stdout]  --> crates/docatlas-daemon/src/config/merge_strategies.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn override_if_value<T: PartialEq>(value: T) -> impl Fn(&mut T, T) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `override_default` is never used
[INFO] [stdout]  --> crates/docatlas-daemon/src/config/merge_strategies.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn override_default<T: Default + PartialEq>() -> impl Fn(&mut T, T) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `override_default` is never used
[INFO] [stdout]  --> crates/docatlas-daemon/src/config/merge_strategies.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn override_default<T: Default + PartialEq>() -> impl Fn(&mut T, T) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> crates/docatlas-daemon/src/bin/docatlas-daemon/main.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::{FutureExt, StreamExt};
[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: `StreamExt`
[INFO] [stdout]  --> crates/docatlas-daemon/src/bin/docatlas-daemon/main.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::{FutureExt, StreamExt};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FutureExt`
[INFO] [stdout]  --> crates/docatlas-daemon/src/bin/docatlas-daemon/main.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::{FutureExt, StreamExt};
[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: `StreamExt`
[INFO] [stdout]  --> crates/docatlas-daemon/src/bin/docatlas-daemon/main.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::{FutureExt, StreamExt};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.54s
[INFO] running `Command { std: "docker" "inspect" "d96e074a583f776a5a37f3371b09e524301dca68cec34e7cb0f15358a7cb9d06", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d96e074a583f776a5a37f3371b09e524301dca68cec34e7cb0f15358a7cb9d06", kill_on_drop: false }`
[INFO] [stdout] d96e074a583f776a5a37f3371b09e524301dca68cec34e7cb0f15358a7cb9d06
