[INFO] cloning repository https://github.com/wuyu123/CuckooHashRust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wuyu123/CuckooHashRust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwuyu123%2FCuckooHashRust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwuyu123%2FCuckooHashRust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 72f43f83bb9a74b86d4d942098d0ca4428e0961a
[INFO] checking wuyu123/CuckooHashRust against master#507271bc119683008ec719ecee48814e8ac86c65 for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwuyu123%2FCuckooHashRust" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/wuyu123/CuckooHashRust
[INFO] finished tweaking git repo https://github.com/wuyu123/CuckooHashRust
[INFO] tweaked toml for git repo https://github.com/wuyu123/CuckooHashRust written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wuyu123/CuckooHashRust 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/wuyu123/CuckooHashRust 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] warning: `panic` setting is ignored for `bench` profile
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded twox-hash v1.6.3
[INFO] [stderr]   Downloaded cfg-if v1.0.1
[INFO] [stderr]   Downloaded static_assertions v1.1.0
[INFO] [stderr]   Downloaded wasi v0.11.1+wasi-snapshot-preview1
[INFO] [stderr]   Downloaded test-log v0.2.18
[INFO] [stderr]   Downloaded ciborium-ll v0.2.2
[INFO] [stderr]   Downloaded arc-swap v1.7.1
[INFO] [stderr]   Downloaded ciborium-io v0.2.2
[INFO] [stderr]   Downloaded adler2 v2.0.1
[INFO] [stderr]   Downloaded slab v0.4.10
[INFO] [stderr]   Downloaded lock_api v0.4.13
[INFO] [stderr]   Downloaded thiserror v1.0.69
[INFO] [stderr]   Downloaded thiserror-impl v1.0.69
[INFO] [stderr]   Downloaded autocfg v1.5.0
[INFO] [stderr]   Downloaded rustc-demangle v0.1.25
[INFO] [stderr]   Downloaded tracing-log v0.2.0
[INFO] [stderr]   Downloaded parking_lot v0.12.4
[INFO] [stderr]   Downloaded parking_lot_core v0.9.11
[INFO] [stderr]   Downloaded smallvec v1.15.1
[INFO] [stderr]   Downloaded matchers v0.2.0
[INFO] [stderr]   Downloaded test-log-macros v0.2.18
[INFO] [stderr]   Downloaded anstyle v1.0.11
[INFO] [stderr]   Downloaded colorchoice v1.0.4
[INFO] [stderr]   Downloaded mimalloc v0.1.48
[INFO] [stderr]   Downloaded is-terminal v0.4.16
[INFO] [stderr]   Downloaded redox_syscall v0.5.13
[INFO] [stderr]   Downloaded env_filter v0.1.3
[INFO] [stderr]   Downloaded windows-targets v0.53.3
[INFO] [stderr]   Downloaded windows-link v0.1.3
[INFO] [stderr]   Downloaded crossbeam v0.8.4
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.100
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.100
[INFO] [stderr]   Downloaded clap_lex v0.7.5
[INFO] [stderr]   Downloaded thread_local v1.1.9
[INFO] [stderr]   Downloaded once_cell_polyfill v1.70.1
[INFO] [stderr]   Downloaded tcmalloc v0.3.0
[INFO] [stderr]   Downloaded socket2 v0.5.10
[INFO] [stderr]   Downloaded is_terminal_polyfill v1.70.1
[INFO] [stderr]   Downloaded num_cpus v1.17.0
[INFO] [stderr]   Downloaded iai v0.1.1
[INFO] [stderr]   Downloaded cast v0.3.0
[INFO] [stderr]   Downloaded valuable v0.1.1
[INFO] [stderr]   Downloaded utf8parse v0.2.2
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.10
[INFO] [stderr]   Downloaded jemallocator v0.5.4
[INFO] [stderr]   Downloaded hex v0.4.3
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.12
[INFO] [stderr]   Downloaded plotters-svg v0.3.7
[INFO] [stderr]   Downloaded humantime v2.2.0
[INFO] [stderr]   Downloaded plotters-backend v0.3.7
[INFO] [stderr]   Downloaded criterion-plot v0.5.0
[INFO] [stderr]   Downloaded nu-ansi-term v0.50.1
[INFO] [stderr]   Downloaded env_logger v0.11.8
[INFO] [stderr]   Downloaded anstream v0.6.20
[INFO] [stderr]   Downloaded anstyle-query v1.1.4
[INFO] [stderr]   Downloaded errno v0.3.13
[INFO] [stderr]   Downloaded hermit-abi v0.5.2
[INFO] [stderr]   Downloaded termcolor v1.4.1
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.100
[INFO] [stderr]   Downloaded rustversion v1.0.21
[INFO] [stderr]   Downloaded tracing-core v0.1.34
[INFO] [stderr]   Downloaded tempfile v3.21.0
[INFO] [stderr]   Downloaded crunchy v0.2.4
[INFO] [stderr]   Downloaded anes v0.1.6
[INFO] [stderr]   Downloaded anstyle-parse v0.2.7
[INFO] [stderr]   Downloaded env_logger v0.10.2
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.100
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.100
[INFO] [stderr]   Downloaded bumpalo v3.19.0
[INFO] [stderr]   Downloaded clap v4.5.41
[INFO] [stderr]   Downloaded ciborium v0.2.2
[INFO] [stderr]   Downloaded half v2.6.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.26
[INFO] [stderr]   Downloaded io-uring v0.7.8
[INFO] [stderr]   Downloaded miniz_oxide v0.8.9
[INFO] [stderr]   Downloaded sharded-slab v0.1.7
[INFO] [stderr]   Downloaded oorandom v11.1.5
[INFO] [stderr]   Downloaded js-sys v0.3.77
[INFO] [stderr]   Downloaded r-efi v5.3.0
[INFO] [stderr]   Downloaded rayon-core v1.12.1
[INFO] [stderr]   Downloaded prometheus v0.13.4
[INFO] [stderr]   Downloaded mio v1.0.4
[INFO] [stderr]   Downloaded memchr v2.7.5
[INFO] [stderr]   Downloaded criterion v0.5.1
[INFO] [stderr]   Downloaded cc v1.2.34
[INFO] [stderr]   Downloaded rayon v1.10.0
[INFO] [stderr]   Downloaded plotters v0.3.7
[INFO] [stderr]   Downloaded clap_builder v4.5.41
[INFO] [stderr]   Downloaded zerocopy v0.8.26
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.20
[INFO] [stderr]   Downloaded syn v2.0.104
[INFO] [stderr]   Downloaded rustix v1.0.8
[INFO] [stderr]   Downloaded ahash v0.8.12
[INFO] [stderr]   Downloaded libmimalloc-sys v0.1.44
[INFO] [stderr]   Downloaded web-sys v0.3.77
[INFO] [stderr]   Downloaded libc v0.2.174
[INFO] [stderr]   Downloaded tokio v1.46.1
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.53.0
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.53.0
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.53.0
[INFO] [stderr]   Downloaded windows_i686_gnullvm v0.53.0
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.53.0
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.53.0
[INFO] [stderr]   Downloaded jemalloc-sys v0.5.4+5.3.0-patched
[INFO] [stderr]   Downloaded windows_i686_msvc v0.53.0
[INFO] [stderr]   Downloaded windows_i686_gnu v0.53.0
[INFO] [stderr]   Downloaded windows-sys v0.60.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] d35b0769c4eac684c22c8cbe872b21c51d8cd3454949def322008969179fb3d8
[INFO] running `Command { std: "docker" "start" "-a" "d35b0769c4eac684c22c8cbe872b21c51d8cd3454949def322008969179fb3d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d35b0769c4eac684c22c8cbe872b21c51d8cd3454949def322008969179fb3d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d35b0769c4eac684c22c8cbe872b21c51d8cd3454949def322008969179fb3d8", kill_on_drop: false }`
[INFO] [stdout] d35b0769c4eac684c22c8cbe872b21c51d8cd3454949def322008969179fb3d8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] d4fae2e1dbe02385a11d62351594f5f2e5353c6cc7bca2747b0401fcbe04b356
[INFO] running `Command { std: "docker" "start" "-a" "d4fae2e1dbe02385a11d62351594f5f2e5353c6cc7bca2747b0401fcbe04b356", kill_on_drop: false }`
[INFO] [stderr] warning: `panic` setting is ignored for `bench` profile
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]     Checking cfg-if v1.0.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking anstyle v1.0.11
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking clap_lex v0.7.5
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking anstyle-query v1.1.4
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking clap_builder v4.5.41
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking anstream v0.6.20
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking humantime v2.2.0
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking arc-swap v1.7.1
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]     Checking iai v0.1.1
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking clap v4.5.41
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking tempfile v3.21.0
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling test-log-macros v0.2.18
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]     Checking test-log v0.2.18
[INFO] [stderr]     Checking tokio v1.46.1
[INFO] [stderr]     Checking cuckoo-hashtable v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/types.rs:5:122
[INFO] [stdout]   |
[INFO] [stdout] 5 | ..., Hasher}, sync::{atomic::{AtomicU32, AtomicU64, Ordering}, Arc, Mutex}, time::{Duration, SystemTime}
[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: `DefaultMemoryAllocator`, `GlobalStatsRecorder`, `SimdStrategy`, `SlotHandle`, and `SlotStateFlags`
[INFO] [stdout]   --> src/map/cuckoo_map.rs:7:14
[INFO] [stdout]    |
[INFO] [stdout]  7 |     memory::{DefaultMemoryAllocator, SlotHandle}, 
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]  8 |     simd::{SimdSearcher, SimdStrategy}, 
[INFO] [stdout]    |                          ^^^^^^^^^^^^
[INFO] [stdout]  9 |     stats::recorder::{GlobalStatsRecorder, StatsRecorder}, 
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     types::{Fingerprint, Key, OperationType, QueueType, SlotStateFlags, Value, GLOBAL_THREAD_POOL}, 
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SlotStateFlags`
[INFO] [stdout]  --> src/map/bucket.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 |     types::{Fingerprint, Key, SlotStateFlags, Value},
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/map/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashStrategy`, `Key`, `MemoryAllocator`, `SimdSearcher`, `StatsRecorder`, and `Value`
[INFO] [stdout]   --> src/map/mod.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{HashStrategy, Key, MemoryAllocator, SimdSearcher, StatsRecorder, Value};
[INFO] [stdout]    |             ^^^^^^^^^^^^  ^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SlotMetadata`
[INFO] [stdout]  --> src/memory/slot_allocator.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 |     memory::{ slot::SlotHandle, SlotMetadata},
[INFO] [stdout]   |                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocationStats` and `DefaultMemoryAllocator`
[INFO] [stdout]  --> src/memory/pool.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 |         allocator::{AllocationStats, AllocatorFactory, MemoryAllocator, MemoryStats},
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         slot::{Slot, SlotMetadata},
[INFO] [stdout] 9 |         slot_allocator::{SlotAllocator, SlotStats}, DefaultMemoryAllocator,
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DefaultFingerprintGenerator`
[INFO] [stdout]  --> src/hash/strategy.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 |     hash::{fingerprint::FingerprintGenerator, DefaultFingerprintGenerator},
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ahash::RandomState`
[INFO] [stdout]  --> src/hash/strategy.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ahash::RandomState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BuildHasher` and `Hash`
[INFO] [stdout]   --> src/hash/strategy.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     hash::{BuildHasher, Hash, Hasher},
[INFO] [stdout]    |            ^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::CuckooError`
[INFO] [stdout]  --> src/stats/operation.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     error::CuckooError, types::OperationType,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hasher`
[INFO] [stdout]   --> src/hash/strategy.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 |     hash::{BuildHasher, Hash, Hasher},
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let thread_id = thread::current().id();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:288:13
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let thread_id = thread::current().id();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let thread_id = thread::current().id();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:408:13
[INFO] [stdout]     |
[INFO] [stdout] 408 |         let thread_id = thread::current().id();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `iteration` is assigned to, but never used
[INFO] [stdout]    --> src/map/cuckoo_map.rs:525:13
[INFO] [stdout]     |
[INFO] [stdout] 525 |         let mut iteration = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_iteration` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:526:13
[INFO] [stdout]     |
[INFO] [stdout] 526 |         let thread_id = thread::current().id();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `iteration` is never read
[INFO] [stdout]    --> src/map/cuckoo_map.rs:536:13
[INFO] [stdout]     |
[INFO] [stdout] 536 |             iteration += 1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:720:13
[INFO] [stdout]     |
[INFO] [stdout] 720 |         let thread_id = thread::current().id();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:766:34
[INFO] [stdout]     |
[INFO] [stdout] 766 | ...   if let Err(e) =  self.insert_to_new_table(&current_key, &current_value, new_buckets, new_buckets.read().unwrap().len(),&versi...
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:779:36
[INFO] [stdout]     |
[INFO] [stdout] 779 |                         if let Err(e) = self.complete_migration() {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:803:32
[INFO] [stdout]     |
[INFO] [stdout] 803 |                     if let Err(e) = self.complete_migration() {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/map/cuckoo_map.rs:835:26
[INFO] [stdout]     |
[INFO] [stdout] 835 |      let (mut h1, mut h2,mut fp) ={
[INFO] [stdout]     |                          ----^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:829:9
[INFO] [stdout]     |
[INFO] [stdout] 829 |     let thread_id = thread::current().id();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1027:14
[INFO] [stdout]      |
[INFO] [stdout] 1027 |          let thread_id = thread::current().id();
[INFO] [stdout]      |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1089:9
[INFO] [stdout]      |
[INFO] [stdout] 1089 |         value: &V,
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fp`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1090:9
[INFO] [stdout]      |
[INFO] [stdout] 1090 |         fp: Fingerprint,
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_fp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1099:14
[INFO] [stdout]      |
[INFO] [stdout] 1099 |          let thread_id = thread::current().id();
[INFO] [stdout]      |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1171:13
[INFO] [stdout]      |
[INFO] [stdout] 1171 |         let thread_id = thread::current().id();
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1249:13
[INFO] [stdout]      |
[INFO] [stdout] 1249 |         let thread_id = thread::current().id();
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1261:13
[INFO] [stdout]      |
[INFO] [stdout] 1261 |         for depth in 0..self.config.max_kick_depth {
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1348:25
[INFO] [stdout]      |
[INFO] [stdout] 1348 |                     let result = match migrate_result {
[INFO] [stdout]      |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1353:29
[INFO] [stdout]      |
[INFO] [stdout] 1353 |                         Err(e) => {
[INFO] [stdout]      |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1376:21
[INFO] [stdout]      |
[INFO] [stdout] 1376 |                 let result = match migrate_result {
[INFO] [stdout]      |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1381:25
[INFO] [stdout]      |
[INFO] [stdout] 1381 |                     Err(e) => {
[INFO] [stdout]      |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_load`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1676:9
[INFO] [stdout]      |
[INFO] [stdout] 1676 |     let current_load = self.load_factor();
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_load`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1753:14
[INFO] [stdout]      |
[INFO] [stdout] 1753 |          let thread_id = thread::current().id();
[INFO] [stdout]      |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1797:28
[INFO] [stdout]      |
[INFO] [stdout] 1797 |                 if let Err(e) = self.migrate_bucket(
[INFO] [stdout]      |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_bucket_count`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1784:9
[INFO] [stdout]      |
[INFO] [stdout] 1784 |         new_bucket_count:usize,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_bucket_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1786:13
[INFO] [stdout]      |
[INFO] [stdout] 1786 |         let this = self.clone();
[INFO] [stdout]      |             ^^^^ help: if this is intentional, prefix it with an underscore: `_this`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1866:23
[INFO] [stdout]      |
[INFO] [stdout] 1866 |            if let Err(e) = self.insert_to_new_table(&key, &value, new_buckets,new_bucket_count, &version_guard,true) {
[INFO] [stdout]      |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `failed_count`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1873:13
[INFO] [stdout]      |
[INFO] [stdout] 1873 |         let failed_count = failed_keys.len();
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_failed_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1882:13
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         let thread_id = thread::current().id();
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:2082:21
[INFO] [stdout]      |
[INFO] [stdout] 2082 |                 let thread_id = thread::current().id();
[INFO] [stdout]      |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:2090:17
[INFO] [stdout]      |
[INFO] [stdout] 2090 |             Err(e) => {
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loaded_key`
[INFO] [stdout]    --> src/map/bucket.rs:180:10
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let (loaded_key, loaded_value) = slot.load();
[INFO] [stdout]     |          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loaded_value`
[INFO] [stdout]    --> src/map/bucket.rs:180:22
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let (loaded_key, loaded_value) = slot.load();
[INFO] [stdout]     |                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::drop_in_place` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/memory/allocator.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |             ptr.drop_in_place();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/memory/allocator.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     unsafe fn deallocate_and_drop<T>(&self, ptr: *mut T) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `memory::allocator::MemoryAllocator::deallocate` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/memory/allocator.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             self.deallocate(NonNull::new(ptr.cast()).unwrap(), Layout::new::<T>());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::GlobalAlloc::alloc` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/memory/allocator.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let ptr = System.alloc(layout);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/memory/allocator.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     unsafe fn allocate(&self, layout: Layout) -> Result<NonNull<u8>, CuckooError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::GlobalAlloc::dealloc` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/memory/allocator.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         System.dealloc(ptr.as_ptr(), layout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/memory/allocator.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `memory::allocator::MemoryAllocator::allocate` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/memory/allocator.rs:123:19
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let ptr = self.inner.allocate(layout)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/memory/allocator.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     unsafe fn allocate(&self, layout: Layout) -> Result<NonNull<u8>, CuckooError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `memory::allocator::MemoryAllocator::deallocate` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/memory/allocator.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         self.inner.deallocate(ptr, layout);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/memory/allocator.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/memory/allocator.rs:208:23
[INFO] [stdout]     |
[INFO] [stdout] 208 |             return Ok(NonNull::new_unchecked(ptr));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/memory/allocator.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     unsafe fn allocate(&self, layout: Layout) -> Result<NonNull<u8>, CuckooError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::GlobalAlloc::alloc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/memory/allocator.rs:212:19
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let ptr = System.alloc(self.block_layout);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/memory/allocator.rs:221:16
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Ok(NonNull::new_unchecked(ptr))
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::GlobalAlloc::dealloc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/memory/allocator.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |             System.dealloc(ptr.as_ptr(), layout);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/memory/allocator.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/memory/pool.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |             let mut new_node = Owned::new(SlotMetadataNode {
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_node`
[INFO] [stdout]    --> src/memory/pool.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let new_node = Owned::new(SlotMetadataNode {
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/memory/pool.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let mut new_node = Owned::new(SlotMetadataNode {
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_node`
[INFO] [stdout]    --> src/memory/pool.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let new_node = Owned::new(SlotMetadataNode {
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/hash/fingerprint.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let xor = _mm256_xor_si256(hash, chunk);
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]    |
[INFO] [stdout]    = help: in order for the call to be safe, the context requires the following additional target feature: avx2
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/hash/fingerprint.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | unsafe fn fnv_hash_step(hash: __m256i, chunk: __m256i, prime: __m256i) -> __m256i {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm256_mullo_epi32` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/hash/fingerprint.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     _mm256_mullo_epi32(xor, prime)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]    |
[INFO] [stdout]    = help: in order for the call to be safe, the context requires the following additional target feature: avx2
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]   --> src/simd/searcher.rs:88:29
[INFO] [stdout]    |
[INFO] [stdout] 88 |     unsafe fn search(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Option<usize> {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]   --> src/simd/searcher.rs:88:53
[INFO] [stdout]    |
[INFO] [stdout] 88 |     unsafe fn search(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Option<usize> {
[INFO] [stdout]    |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]   --> src/simd/searcher.rs:93:35
[INFO] [stdout]    |
[INFO] [stdout] 93 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needles`
[INFO] [stdout]   --> src/simd/searcher.rs:93:59
[INFO] [stdout]    |
[INFO] [stdout] 93 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]    |                                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_needles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]    --> src/simd/searcher.rs:102:33
[INFO] [stdout]     |
[INFO] [stdout] 102 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]    --> src/simd/searcher.rs:102:57
[INFO] [stdout]     |
[INFO] [stdout] 102 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]     |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]    --> src/simd/searcher.rs:115:29
[INFO] [stdout]     |
[INFO] [stdout] 115 |     unsafe fn search(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Option<usize> {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]    --> src/simd/searcher.rs:115:53
[INFO] [stdout]     |
[INFO] [stdout] 115 |     unsafe fn search(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Option<usize> {
[INFO] [stdout]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]    --> src/simd/searcher.rs:120:35
[INFO] [stdout]     |
[INFO] [stdout] 120 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needles`
[INFO] [stdout]    --> src/simd/searcher.rs:120:59
[INFO] [stdout]     |
[INFO] [stdout] 120 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]     |                                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_needles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]    --> src/simd/searcher.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]    --> src/simd/searcher.rs:129:57
[INFO] [stdout]     |
[INFO] [stdout] 129 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]     |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd::searcher::SimdSearcher::search` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd/searcher.rs:144:28
[INFO] [stdout]     |
[INFO] [stdout] 144 |             .map(|&needle| self.search(bucket, needle))
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd/searcher.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd::searcher::SimdSearcher::search` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/simd/avx2.rs:53:26
[INFO] [stdout]    |
[INFO] [stdout] 53 |             results.push(self.search(bucket, needle));
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/simd/avx2.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]   --> src/simd/avx2.rs:63:33
[INFO] [stdout]    |
[INFO] [stdout] 63 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]   --> src/simd/avx2.rs:63:57
[INFO] [stdout]    |
[INFO] [stdout] 63 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]    |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd::searcher::SimdSearcher::search` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/simd/sse4.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |             results.push(self.search(bucket, needle));
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/simd/sse4.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]   --> src/simd/sse4.rs:62:33
[INFO] [stdout]    |
[INFO] [stdout] 62 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]   --> src/simd/sse4.rs:62:57
[INFO] [stdout]    |
[INFO] [stdout] 62 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]    |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd::searcher::SimdSearcher::search` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/simd/scalar.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |             .map(|&needle| self.search(bucket, needle))
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/simd/scalar.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 |   unsafe  fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd::searcher::SimdSearcher::search` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/simd/hybrid.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             self.scalar_searcher.search(bucket, needle)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/simd/hybrid.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 |    unsafe fn search(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Option<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd::searcher::SimdSearcher::search_batch` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/simd/hybrid.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             self.scalar_searcher.search_batch(bucket, needles)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/simd/hybrid.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 |    unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]   --> src/simd/hybrid.rs:60:33
[INFO] [stdout]    |
[INFO] [stdout] 60 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]   --> src/simd/hybrid.rs:60:57
[INFO] [stdout]    |
[INFO] [stdout] 60 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]    |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op_type`
[INFO] [stdout]    --> src/stats/recorder.rs:229:38
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn record_operation_count(&self, op_type: OperationType) {
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_op_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/stats/operation.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             _ => return,
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/stats/operation.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |             OperationType::Insert => self.insert_count.fetch_add(1, Ordering::Relaxed),
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] 123 |             OperationType::Get => self.get_count.fetch_add(1, Ordering::Relaxed),
[INFO] [stdout]     |             ------------------ matches some of the same values
[INFO] [stdout] 124 |             OperationType::Remove => self.remove_count.fetch_add(1, Ordering::Relaxed),
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] 125 |             OperationType::Update => self.update_count.fetch_add(1, Ordering::Relaxed),
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 133 |             _ => return,
[INFO] [stdout]     |             ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op_type`
[INFO] [stdout]    --> src/stats/operation.rs:255:28
[INFO] [stdout]     |
[INFO] [stdout] 255 |     fn record_count(&self, op_type: OperationType) {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_op_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]   --> src/version/tracker.rs:66:61
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn record_success(&self, operation_type: OperationType, duration: Duration) {
[INFO] [stdout]    |                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]   --> src/version/tracker.rs:72:62
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn record_conflict(&self, operation_type: OperationType, duration: Duration) {
[INFO] [stdout]    |                                                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `VERSION_MASK` and `STATE_MASK` are never used
[INFO] [stdout]    --> src/types.rs:134:11
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl AtomicSlotState {
[INFO] [stdout]     | -------------------- associated constants in this implementation
[INFO] [stdout] 133 |     const FINGERPRINT_MASK: u32 = 0x0000_03FF; // 位0-9 (10位)
[INFO] [stdout] 134 |     const VERSION_MASK: u32 = 0x3FFF_C000;     // 位10-25 (16位)
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 135 |     const STATE_MASK: u32 = 0xFC00_0000;       // 位26-31 (6位)
[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 `0` is never read
[INFO] [stdout]    --> src/types.rs:386:23
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub struct PoolHandle(usize);
[INFO] [stdout]     |            ---------- ^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `PoolHandle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/map/cuckoo_map.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl<K: Key, V: Value> MigrationState<K, V> {
[INFO] [stdout]     | ------------------------------------------- methods in this implementation
[INFO] [stdout] 110 |     fn should_use_new_buckets(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn can_transition_to(&self, new_state: &Self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn get_bucket_array(&self) -> Option<&Arc<RwLock<Vec<Arc<Bucket<K, V>>>>>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn is_migrating(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn is_completed(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn is_switched(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn is_active(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `bucket_load` and `validate_migration` are never used
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1122:4
[INFO] [stdout]      |
[INFO] [stdout]  649 | impl<K: Key + Clone + Send + Sync, V: Value + Clone + Send + Sync> CuckooMap<K, V> {
[INFO] [stdout]      | ---------------------------------------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1122 | fn bucket_load(&self, bucket_idx: usize) -> f32 {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1810 |     fn validate_migration(&self, new_buckets: &Arc<RwLock<Vec<Arc<Bucket<K, V>>>>>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fnv_hash_step` is never used
[INFO] [stdout]   --> src/hash/fingerprint.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | unsafe fn fnv_hash_step(hash: __m256i, chunk: __m256i, prime: __m256i) -> __m256i {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1731:17
[INFO] [stdout]      |
[INFO] [stdout] 1731 |     pub fn iter(&self) -> CuckooMapIter<K, V> {
[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]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1731 |     pub fn iter(&self) -> CuckooMapIter<'_, K, V> {
[INFO] [stdout]      |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1742:9
[INFO] [stdout]      |
[INFO] [stdout] 1742 |         self.start_migration(plan);
[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] 1742 |         let _ = self.start_migration(plan);
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: returned pointer of `as_ptr` call is never null, so checking it for null will always return false
[INFO] [stdout]   --> src/memory/allocator.rs:49:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |             if ptr.as_ptr().is_null() {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(useless_ptr_null_checks)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/memory/slot.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn try_lock(&self, expected_fp: Fingerprint, guard: &VersionGuard) -> Result<SlotGuard, CuckooError> {
[INFO] [stdout]    |                     ^^^^^ the lifetime is elided here                                ^^^^^^^^^ the same lifetime is hidden 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] 79 |     pub fn try_lock(&self, expected_fp: Fingerprint, guard: &VersionGuard) -> Result<SlotGuard<'_>, CuckooError> {
[INFO] [stdout]    |                                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stdout] warning: unused imports: `CuckooError` and `map::cuckoo_map::MigrationPlan`
[INFO] [stdout]  --> tests/integration.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     map::cuckoo_map::MigrationPlan,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     types::ByteKey,
[INFO] [stdout] 8 |     CuckooError, CuckooMap, 
[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::thread`
[INFO] [stdout]   --> tests/integration.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> tests/integration.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/types.rs:5:122
[INFO] [stdout]   |
[INFO] [stdout] 5 | ..., Hasher}, sync::{atomic::{AtomicU32, AtomicU64, Ordering}, Arc, Mutex}, time::{Duration, SystemTime}
[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: `DefaultMemoryAllocator`, `GlobalStatsRecorder`, `SlotHandle`, and `SlotStateFlags`
[INFO] [stdout]   --> src/map/cuckoo_map.rs:7:14
[INFO] [stdout]    |
[INFO] [stdout]  7 |     memory::{DefaultMemoryAllocator, SlotHandle}, 
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]  8 |     simd::{SimdSearcher, SimdStrategy}, 
[INFO] [stdout]  9 |     stats::recorder::{GlobalStatsRecorder, StatsRecorder}, 
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     types::{Fingerprint, Key, OperationType, QueueType, SlotStateFlags, Value, GLOBAL_THREAD_POOL}, 
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `thread` and `time::Duration`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:2195:26
[INFO] [stdout]      |
[INFO] [stdout] 2195 |     use std::{sync::Arc, thread, time::Duration};
[INFO] [stdout]      |                          ^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LevelFilter`, `debug`, `error`, `info`, and `warn`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:2196:15
[INFO] [stdout]      |
[INFO] [stdout] 2196 |     use log::{LevelFilter, info, debug, warn, error};
[INFO] [stdout]      |               ^^^^^^^^^^^  ^^^^  ^^^^^  ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SlotStateFlags`
[INFO] [stdout]  --> src/map/bucket.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 |     types::{Fingerprint, Key, SlotStateFlags, Value},
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::DefaultFingerprintGenerator`
[INFO] [stdout]    --> src/map/bucket.rs:340:9
[INFO] [stdout]     |
[INFO] [stdout] 340 |         hash::DefaultFingerprintGenerator,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/map/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashStrategy`, `Key`, `MemoryAllocator`, `SimdSearcher`, `StatsRecorder`, and `Value`
[INFO] [stdout]   --> src/map/mod.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{HashStrategy, Key, MemoryAllocator, SimdSearcher, StatsRecorder, Value};
[INFO] [stdout]    |             ^^^^^^^^^^^^  ^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> src/memory/allocator.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SlotMetadata`
[INFO] [stdout]  --> src/memory/slot_allocator.rs:6:33
[INFO] [stdout]   |
[INFO] [stdout] 6 |     memory::{ slot::SlotHandle, SlotMetadata},
[INFO] [stdout]   |                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocationStats` and `DefaultMemoryAllocator`
[INFO] [stdout]  --> src/memory/pool.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 |         allocator::{AllocationStats, AllocatorFactory, MemoryAllocator, MemoryStats},
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |         slot::{Slot, SlotMetadata},
[INFO] [stdout] 9 |         slot_allocator::{SlotAllocator, SlotStats}, DefaultMemoryAllocator,
[INFO] [stdout]   |                                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ahash::RandomState`
[INFO] [stdout]  --> src/hash/strategy.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ahash::RandomState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BuildHasher`
[INFO] [stdout]   --> src/hash/strategy.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     hash::{BuildHasher, Hash, Hasher},
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::CuckooError`
[INFO] [stdout]  --> src/stats/operation.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     error::CuckooError, types::OperationType,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let thread_id = thread::current().id();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:288:13
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let thread_id = thread::current().id();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let thread_id = thread::current().id();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:408:13
[INFO] [stdout]     |
[INFO] [stdout] 408 |         let thread_id = thread::current().id();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `iteration` is assigned to, but never used
[INFO] [stdout]    --> src/map/cuckoo_map.rs:525:13
[INFO] [stdout]     |
[INFO] [stdout] 525 |         let mut iteration = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_iteration` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:526:13
[INFO] [stdout]     |
[INFO] [stdout] 526 |         let thread_id = thread::current().id();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `iteration` is never read
[INFO] [stdout]    --> src/map/cuckoo_map.rs:536:13
[INFO] [stdout]     |
[INFO] [stdout] 536 |             iteration += 1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:720:13
[INFO] [stdout]     |
[INFO] [stdout] 720 |         let thread_id = thread::current().id();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:766:34
[INFO] [stdout]     |
[INFO] [stdout] 766 | ...   if let Err(e) =  self.insert_to_new_table(&current_key, &current_value, new_buckets, new_buckets.read().unwrap().len(),&versi...
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:779:36
[INFO] [stdout]     |
[INFO] [stdout] 779 |                         if let Err(e) = self.complete_migration() {
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:803:32
[INFO] [stdout]     |
[INFO] [stdout] 803 |                     if let Err(e) = self.complete_migration() {
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/map/cuckoo_map.rs:835:26
[INFO] [stdout]     |
[INFO] [stdout] 835 |      let (mut h1, mut h2,mut fp) ={
[INFO] [stdout]     |                          ----^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]    --> src/map/cuckoo_map.rs:829:9
[INFO] [stdout]     |
[INFO] [stdout] 829 |     let thread_id = thread::current().id();
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1027:14
[INFO] [stdout]      |
[INFO] [stdout] 1027 |          let thread_id = thread::current().id();
[INFO] [stdout]      |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1089:9
[INFO] [stdout]      |
[INFO] [stdout] 1089 |         value: &V,
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fp`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1090:9
[INFO] [stdout]      |
[INFO] [stdout] 1090 |         fp: Fingerprint,
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_fp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1099:14
[INFO] [stdout]      |
[INFO] [stdout] 1099 |          let thread_id = thread::current().id();
[INFO] [stdout]      |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1171:13
[INFO] [stdout]      |
[INFO] [stdout] 1171 |         let thread_id = thread::current().id();
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1249:13
[INFO] [stdout]      |
[INFO] [stdout] 1249 |         let thread_id = thread::current().id();
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1261:13
[INFO] [stdout]      |
[INFO] [stdout] 1261 |         for depth in 0..self.config.max_kick_depth {
[INFO] [stdout]      |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1348:25
[INFO] [stdout]      |
[INFO] [stdout] 1348 |                     let result = match migrate_result {
[INFO] [stdout]      |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1353:29
[INFO] [stdout]      |
[INFO] [stdout] 1353 |                         Err(e) => {
[INFO] [stdout]      |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1376:21
[INFO] [stdout]      |
[INFO] [stdout] 1376 |                 let result = match migrate_result {
[INFO] [stdout]      |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1381:25
[INFO] [stdout]      |
[INFO] [stdout] 1381 |                     Err(e) => {
[INFO] [stdout]      |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_load`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1676:9
[INFO] [stdout]      |
[INFO] [stdout] 1676 |     let current_load = self.load_factor();
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_load`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1753:14
[INFO] [stdout]      |
[INFO] [stdout] 1753 |          let thread_id = thread::current().id();
[INFO] [stdout]      |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1797:28
[INFO] [stdout]      |
[INFO] [stdout] 1797 |                 if let Err(e) = self.migrate_bucket(
[INFO] [stdout]      |                            ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_bucket_count`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1784:9
[INFO] [stdout]      |
[INFO] [stdout] 1784 |         new_bucket_count:usize,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_bucket_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1786:13
[INFO] [stdout]      |
[INFO] [stdout] 1786 |         let this = self.clone();
[INFO] [stdout]      |             ^^^^ help: if this is intentional, prefix it with an underscore: `_this`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1866:23
[INFO] [stdout]      |
[INFO] [stdout] 1866 |            if let Err(e) = self.insert_to_new_table(&key, &value, new_buckets,new_bucket_count, &version_guard,true) {
[INFO] [stdout]      |                       ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `failed_count`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1873:13
[INFO] [stdout]      |
[INFO] [stdout] 1873 |         let failed_count = failed_keys.len();
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_failed_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1882:13
[INFO] [stdout]      |
[INFO] [stdout] 1882 |         let thread_id = thread::current().id();
[INFO] [stdout]      |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_id`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:2082:21
[INFO] [stdout]      |
[INFO] [stdout] 2082 |                 let thread_id = thread::current().id();
[INFO] [stdout]      |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/map/cuckoo_map.rs:2090:17
[INFO] [stdout]      |
[INFO] [stdout] 2090 |             Err(e) => {
[INFO] [stdout]      |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loaded_key`
[INFO] [stdout]    --> src/map/bucket.rs:180:10
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let (loaded_key, loaded_value) = slot.load();
[INFO] [stdout]     |          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loaded_value`
[INFO] [stdout]    --> src/map/bucket.rs:180:22
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let (loaded_key, loaded_value) = slot.load();
[INFO] [stdout]     |                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_loaded_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/map/bucket.rs:528:10
[INFO] [stdout]     |
[INFO] [stdout] 528 |     for (i, slot) in bucket.slots().iter().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `version_guard`
[INFO] [stdout]    --> src/map/bucket.rs:536:13
[INFO] [stdout]     |
[INFO] [stdout] 536 |         let version_guard = bucket.version.begin_operation(OperationType::Get);
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_version_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::mut_ptr::<impl *mut T>::drop_in_place` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/memory/allocator.rs:63:13
[INFO] [stdout]    |
[INFO] [stdout] 63 |             ptr.drop_in_place();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/memory/allocator.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     unsafe fn deallocate_and_drop<T>(&self, ptr: *mut T) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `memory::allocator::MemoryAllocator::deallocate` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/memory/allocator.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |             self.deallocate(NonNull::new(ptr.cast()).unwrap(), Layout::new::<T>());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::GlobalAlloc::alloc` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/memory/allocator.rs:77:19
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let ptr = System.alloc(layout);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/memory/allocator.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     unsafe fn allocate(&self, layout: Layout) -> Result<NonNull<u8>, CuckooError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::GlobalAlloc::dealloc` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/memory/allocator.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         System.dealloc(ptr.as_ptr(), layout);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/memory/allocator.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `memory::allocator::MemoryAllocator::allocate` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/memory/allocator.rs:123:19
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let ptr = self.inner.allocate(layout)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/memory/allocator.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     unsafe fn allocate(&self, layout: Layout) -> Result<NonNull<u8>, CuckooError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `memory::allocator::MemoryAllocator::deallocate` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/memory/allocator.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         self.inner.deallocate(ptr, layout);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/memory/allocator.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/memory/allocator.rs:208:23
[INFO] [stdout]     |
[INFO] [stdout] 208 |             return Ok(NonNull::new_unchecked(ptr));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/memory/allocator.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     unsafe fn allocate(&self, layout: Layout) -> Result<NonNull<u8>, CuckooError> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::GlobalAlloc::alloc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/memory/allocator.rs:212:19
[INFO] [stdout]     |
[INFO] [stdout] 212 |         let ptr = System.alloc(self.block_layout);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::new_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/memory/allocator.rs:221:16
[INFO] [stdout]     |
[INFO] [stdout] 221 |             Ok(NonNull::new_unchecked(ptr))
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::GlobalAlloc::dealloc` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/memory/allocator.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |             System.dealloc(ptr.as_ptr(), layout);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/memory/allocator.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/memory/pool.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |             let mut new_node = Owned::new(SlotMetadataNode {
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_node`
[INFO] [stdout]    --> src/memory/pool.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let new_node = Owned::new(SlotMetadataNode {
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/memory/pool.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let mut new_node = Owned::new(SlotMetadataNode {
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_node`
[INFO] [stdout]    --> src/memory/pool.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let new_node = Owned::new(SlotMetadataNode {
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm256_xor_si256` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/hash/fingerprint.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let xor = _mm256_xor_si256(hash, chunk);
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]    |
[INFO] [stdout]    = help: in order for the call to be safe, the context requires the following additional target feature: avx2
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/hash/fingerprint.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | unsafe fn fnv_hash_step(hash: __m256i, chunk: __m256i, prime: __m256i) -> __m256i {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm256_mullo_epi32` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/hash/fingerprint.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     _mm256_mullo_epi32(xor, prime)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]    |
[INFO] [stdout]    = help: in order for the call to be safe, the context requires the following additional target feature: avx2
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes`
[INFO] [stdout]   --> src/hash/mod.rs:82:23
[INFO] [stdout]    |
[INFO] [stdout] 82 |         fn from_bytes(bytes: &[u8]) -> Option<Self> where Self: Sized {
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]   --> src/simd/searcher.rs:88:29
[INFO] [stdout]    |
[INFO] [stdout] 88 |     unsafe fn search(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Option<usize> {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]   --> src/simd/searcher.rs:88:53
[INFO] [stdout]    |
[INFO] [stdout] 88 |     unsafe fn search(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Option<usize> {
[INFO] [stdout]    |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]   --> src/simd/searcher.rs:93:35
[INFO] [stdout]    |
[INFO] [stdout] 93 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needles`
[INFO] [stdout]   --> src/simd/searcher.rs:93:59
[INFO] [stdout]    |
[INFO] [stdout] 93 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]    |                                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_needles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]    --> src/simd/searcher.rs:102:33
[INFO] [stdout]     |
[INFO] [stdout] 102 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]    --> src/simd/searcher.rs:102:57
[INFO] [stdout]     |
[INFO] [stdout] 102 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]     |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]    --> src/simd/searcher.rs:115:29
[INFO] [stdout]     |
[INFO] [stdout] 115 |     unsafe fn search(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Option<usize> {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]    --> src/simd/searcher.rs:115:53
[INFO] [stdout]     |
[INFO] [stdout] 115 |     unsafe fn search(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Option<usize> {
[INFO] [stdout]     |                                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]    --> src/simd/searcher.rs:120:35
[INFO] [stdout]     |
[INFO] [stdout] 120 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]     |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needles`
[INFO] [stdout]    --> src/simd/searcher.rs:120:59
[INFO] [stdout]     |
[INFO] [stdout] 120 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]     |                                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_needles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]    --> src/simd/searcher.rs:129:33
[INFO] [stdout]     |
[INFO] [stdout] 129 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]     |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]    --> src/simd/searcher.rs:129:57
[INFO] [stdout]     |
[INFO] [stdout] 129 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]     |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd::searcher::SimdSearcher::search` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd/searcher.rs:144:28
[INFO] [stdout]     |
[INFO] [stdout] 144 |             .map(|&needle| self.search(bucket, needle))
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd/searcher.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd::searcher::SimdSearcher::search` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/simd/avx2.rs:53:26
[INFO] [stdout]    |
[INFO] [stdout] 53 |             results.push(self.search(bucket, needle));
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/simd/avx2.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]   --> src/simd/avx2.rs:63:33
[INFO] [stdout]    |
[INFO] [stdout] 63 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]   --> src/simd/avx2.rs:63:57
[INFO] [stdout]    |
[INFO] [stdout] 63 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]    |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd::searcher::SimdSearcher::search` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/simd/sse4.rs:52:26
[INFO] [stdout]    |
[INFO] [stdout] 52 |             results.push(self.search(bucket, needle));
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/simd/sse4.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]   --> src/simd/sse4.rs:62:33
[INFO] [stdout]    |
[INFO] [stdout] 62 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]   --> src/simd/sse4.rs:62:57
[INFO] [stdout]    |
[INFO] [stdout] 62 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]    |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd::searcher::SimdSearcher::search` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/simd/scalar.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |             .map(|&needle| self.search(bucket, needle))
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/simd/scalar.rs:18:3
[INFO] [stdout]    |
[INFO] [stdout] 18 |   unsafe  fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd::searcher::SimdSearcher::search` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/simd/hybrid.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             self.scalar_searcher.search(bucket, needle)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/simd/hybrid.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 |    unsafe fn search(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Option<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd::searcher::SimdSearcher::search_batch` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/simd/hybrid.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             self.scalar_searcher.search_batch(bucket, needles)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]   --> src/simd/hybrid.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 |    unsafe fn search_batch(&self, bucket: &[Fingerprint], needles: &[Fingerprint]) -> Vec<Option<usize>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket`
[INFO] [stdout]   --> src/simd/hybrid.rs:60:33
[INFO] [stdout]    |
[INFO] [stdout] 60 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `needle`
[INFO] [stdout]   --> src/simd/hybrid.rs:60:57
[INFO] [stdout]    |
[INFO] [stdout] 60 |     unsafe fn search_all(&self, bucket: &[Fingerprint], needle: Fingerprint) -> Vec<usize> {
[INFO] [stdout]    |                                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_needle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op_type`
[INFO] [stdout]    --> src/stats/recorder.rs:229:38
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn record_operation_count(&self, op_type: OperationType) {
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_op_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/stats/operation.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             _ => return,
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/stats/operation.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |             OperationType::Insert => self.insert_count.fetch_add(1, Ordering::Relaxed),
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] 123 |             OperationType::Get => self.get_count.fetch_add(1, Ordering::Relaxed),
[INFO] [stdout]     |             ------------------ matches some of the same values
[INFO] [stdout] 124 |             OperationType::Remove => self.remove_count.fetch_add(1, Ordering::Relaxed),
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] 125 |             OperationType::Update => self.update_count.fetch_add(1, Ordering::Relaxed),
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 133 |             _ => return,
[INFO] [stdout]     |             ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `op_type`
[INFO] [stdout]    --> src/stats/operation.rs:255:28
[INFO] [stdout]     |
[INFO] [stdout] 255 |     fn record_count(&self, op_type: OperationType) {
[INFO] [stdout]     |                            ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_op_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]   --> src/version/tracker.rs:66:61
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn record_success(&self, operation_type: OperationType, duration: Duration) {
[INFO] [stdout]    |                                                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]   --> src/version/tracker.rs:72:62
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn record_conflict(&self, operation_type: OperationType, duration: Duration) {
[INFO] [stdout]    |                                                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/version/tracker.rs:231:19
[INFO] [stdout]     |
[INFO] [stdout] 231 |             .map(|i| {
[INFO] [stdout]     |                   ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `VERSION_MASK` and `STATE_MASK` are never used
[INFO] [stdout]    --> src/types.rs:134:11
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl AtomicSlotState {
[INFO] [stdout]     | -------------------- associated constants in this implementation
[INFO] [stdout] 133 |     const FINGERPRINT_MASK: u32 = 0x0000_03FF; // 位0-9 (10位)
[INFO] [stdout] 134 |     const VERSION_MASK: u32 = 0x3FFF_C000;     // 位10-25 (16位)
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 135 |     const STATE_MASK: u32 = 0xFC00_0000;       // 位26-31 (6位)
[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 `0` is never read
[INFO] [stdout]    --> src/types.rs:386:23
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub struct PoolHandle(usize);
[INFO] [stdout]     |            ---------- ^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout]     = note: `PoolHandle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/map/cuckoo_map.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl<K: Key, V: Value> MigrationState<K, V> {
[INFO] [stdout]     | ------------------------------------------- methods in this implementation
[INFO] [stdout] 110 |     fn should_use_new_buckets(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn can_transition_to(&self, new_state: &Self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn get_bucket_array(&self) -> Option<&Arc<RwLock<Vec<Arc<Bucket<K, V>>>>>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn is_migrating(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn is_completed(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn is_switched(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn is_active(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `bucket_load` and `validate_migration` are never used
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1122:4
[INFO] [stdout]      |
[INFO] [stdout]  649 | impl<K: Key + Clone + Send + Sync, V: Value + Clone + Send + Sync> CuckooMap<K, V> {
[INFO] [stdout]      | ---------------------------------------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1122 | fn bucket_load(&self, bucket_idx: usize) -> f32 {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1810 |     fn validate_migration(&self, new_buckets: &Arc<RwLock<Vec<Arc<Bucket<K, V>>>>>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_logger` is never used
[INFO] [stdout]     --> src/map/cuckoo_map.rs:2201:8
[INFO] [stdout]      |
[INFO] [stdout] 2201 |     fn init_logger() {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_map` is never used
[INFO] [stdout]     --> src/map/cuckoo_map.rs:2220:8
[INFO] [stdout]      |
[INFO] [stdout] 2220 |     fn create_test_map() -> CuckooMap<ByteKey, Vec<u8>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fnv_hash_step` is never used
[INFO] [stdout]   --> src/hash/fingerprint.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | unsafe fn fnv_hash_step(hash: __m256i, chunk: __m256i, prime: __m256i) -> __m256i {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1731:17
[INFO] [stdout]      |
[INFO] [stdout] 1731 |     pub fn iter(&self) -> CuckooMapIter<K, V> {
[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]      = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 1731 |     pub fn iter(&self) -> CuckooMapIter<'_, K, V> {
[INFO] [stdout]      |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> src/map/cuckoo_map.rs:1742:9
[INFO] [stdout]      |
[INFO] [stdout] 1742 |         self.start_migration(plan);
[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] 1742 |         let _ = self.start_migration(plan);
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: returned pointer of `as_ptr` call is never null, so checking it for null will always return false
[INFO] [stdout]   --> src/memory/allocator.rs:49:16
[INFO] [stdout]    |
[INFO] [stdout] 49 |             if ptr.as_ptr().is_null() {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(useless_ptr_null_checks)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: returned pointer of `as_ptr` call is never null, so checking it for null will always return false
[INFO] [stdout]    --> src/memory/allocator.rs:418:22
[INFO] [stdout]     |
[INFO] [stdout] 418 |             assert!(!ptr.as_ptr().is_null());
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: returned pointer of `as_ptr` call is never null, so checking it for null will always return false
[INFO] [stdout]    --> src/memory/pool.rs:295:18
[INFO] [stdout]     |
[INFO] [stdout] 295 |         assert!(!metadata.ptr.as_ptr().is_null());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/memory/slot.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn try_lock(&self, expected_fp: Fingerprint, guard: &VersionGuard) -> Result<SlotGuard, CuckooError> {
[INFO] [stdout]    |                     ^^^^^ the lifetime is elided here                                ^^^^^^^^^ the same lifetime is hidden 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] 79 |     pub fn try_lock(&self, expected_fp: Fingerprint, guard: &VersionGuard) -> Result<SlotGuard<'_>, CuckooError> {
[INFO] [stdout]    |                                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/hash/fingerprint.rs:356:17
[INFO] [stdout]     |
[INFO] [stdout] 356 |         assert!(fp.as_u16() <= 0xFFFF);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 29.01s
[INFO] running `Command { std: "docker" "inspect" "d4fae2e1dbe02385a11d62351594f5f2e5353c6cc7bca2747b0401fcbe04b356", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d4fae2e1dbe02385a11d62351594f5f2e5353c6cc7bca2747b0401fcbe04b356", kill_on_drop: false }`
[INFO] [stdout] d4fae2e1dbe02385a11d62351594f5f2e5353c6cc7bca2747b0401fcbe04b356
