[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#9e293ae9f8abecb0be5105787d181518c9012a19 for pr-146440-1 [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 9e293ae9f8abecb0be5105787d181518c9012a19 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9e293ae9f8abecb0be5105787d181518c9012a19" "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" "+9e293ae9f8abecb0be5105787d181518c9012a19" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: Cargo.toml: `panic` setting is ignored for `bench` profile [INFO] [stderr] warning: `cuckoo-hashtable` (manifest) generated 1 warning [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cc v1.2.34 [INFO] [stderr] Downloaded test-log v0.2.18 [INFO] [stderr] Downloaded tcmalloc v0.3.0 [INFO] [stderr] Downloaded test-log-macros v0.2.18 [INFO] [stderr] Downloaded iai v0.1.1 [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" "+9e293ae9f8abecb0be5105787d181518c9012a19" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4004bcbe3eee5a59530f94899559eb6d53976bdf33928366f29fff20ccce17bc [INFO] running `Command { std: "docker" "start" "-a" "4004bcbe3eee5a59530f94899559eb6d53976bdf33928366f29fff20ccce17bc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4004bcbe3eee5a59530f94899559eb6d53976bdf33928366f29fff20ccce17bc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4004bcbe3eee5a59530f94899559eb6d53976bdf33928366f29fff20ccce17bc", kill_on_drop: false }` [INFO] [stdout] 4004bcbe3eee5a59530f94899559eb6d53976bdf33928366f29fff20ccce17bc [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" "+9e293ae9f8abecb0be5105787d181518c9012a19" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8339ebf7675522f63fa9f82fe87349e971cecfa6ba8413a6a8defc3ca071a50c [INFO] running `Command { std: "docker" "start" "-a" "8339ebf7675522f63fa9f82fe87349e971cecfa6ba8413a6a8defc3ca071a50c", kill_on_drop: false }` [INFO] [stderr] warning: Cargo.toml: `panic` setting is ignored for `bench` profile [INFO] [stderr] warning: `cuckoo-hashtable` (manifest) generated 1 warning [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking anstyle-query v1.1.4 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking anstream v0.6.20 [INFO] [stderr] Checking crossbeam-queue v0.3.12 [INFO] [stderr] Checking clap_builder v4.5.41 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking env_filter v0.1.3 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking crossbeam v0.8.4 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking thread_local v1.1.9 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Checking humantime v2.2.0 [INFO] [stderr] Checking env_logger v0.11.8 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Checking oorandom v11.1.5 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking arc-swap v1.7.1 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking iai v0.1.1 [INFO] [stderr] Checking rayon v1.10.0 [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 signal-hook-registry v1.4.5 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking clap v4.5.41 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking tempfile v3.21.0 [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 twox-hash v1.6.3 [INFO] [stderr] Checking test-log v0.2.18 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking tokio v1.46.1 [INFO] [stderr] Checking env_logger v0.10.2 [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(¤t_key, ¤t_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::::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(&self, ptr: *mut T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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::()); [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 [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, CuckooError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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, layout: Layout) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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, CuckooError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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, layout: Layout) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::::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, CuckooError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::::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 [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, layout: Layout) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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 [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 [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 { [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 { [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> { [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> { [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 { [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 { [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 { [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 { [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> { [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> { [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 { [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 { [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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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 { [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 { [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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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 { [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 { [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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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 { [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 { [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 MigrationState { [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>>>>> { [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 CuckooMap { [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>>>>) { [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 { [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 { [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, 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(¤t_key, ¤t_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::::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(&self, ptr: *mut T) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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::()); [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 [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, CuckooError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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, layout: Layout) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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, CuckooError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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, layout: Layout) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::::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, CuckooError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::::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 [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, layout: Layout) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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 [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 [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 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 { [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 { [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> { [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> { [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 { [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 { [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 { [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 { [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> { [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> { [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 { [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 { [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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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 { [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 { [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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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 { [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 { [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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for more information, see [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 { [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 { [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 MigrationState { [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>>>>> { [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 CuckooMap { [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>>>>) { [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> { [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 { [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 { [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, 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 26.17s [INFO] running `Command { std: "docker" "inspect" "8339ebf7675522f63fa9f82fe87349e971cecfa6ba8413a6a8defc3ca071a50c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8339ebf7675522f63fa9f82fe87349e971cecfa6ba8413a6a8defc3ca071a50c", kill_on_drop: false }` [INFO] [stdout] 8339ebf7675522f63fa9f82fe87349e971cecfa6ba8413a6a8defc3ca071a50c