[INFO] cloning repository https://github.com/cpard/cuckoo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cpard/cuckoo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcpard%2Fcuckoo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcpard%2Fcuckoo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a8c60e2d43a1e061d2909b1faeee8e308ff06afc
[INFO] building cpard/cuckoo against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcpard%2Fcuckoo" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cpard/cuckoo
[INFO] finished tweaking git repo https://github.com/cpard/cuckoo
[INFO] tweaked toml for git repo https://github.com/cpard/cuckoo written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cpard/cuckoo on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cpard/cuckoo already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bytemuck v1.7.2
[INFO] [stderr]   Downloaded retain_mut v0.1.4
[INFO] [stderr]   Downloaded roaring v0.8.0
[INFO] [stderr]   Downloaded libc v0.2.103
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a0a8ab4ce9b0b47a48aea25228ca19bf81d88a0de149f7e1fc92a9c920ada3d2
[INFO] running `Command { std: "docker" "start" "-a" "a0a8ab4ce9b0b47a48aea25228ca19bf81d88a0de149f7e1fc92a9c920ada3d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a0a8ab4ce9b0b47a48aea25228ca19bf81d88a0de149f7e1fc92a9c920ada3d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a0a8ab4ce9b0b47a48aea25228ca19bf81d88a0de149f7e1fc92a9c920ada3d2", kill_on_drop: false }`
[INFO] [stdout] a0a8ab4ce9b0b47a48aea25228ca19bf81d88a0de149f7e1fc92a9c920ada3d2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 10e5f344f9fe8476a3136bb7aad9bc73dbdfc02e177e17e8cd3870fc5e9d4217
[INFO] running `Command { std: "docker" "start" "-a" "10e5f344f9fe8476a3136bb7aad9bc73dbdfc02e177e17e8cd3870fc5e9d4217", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.103
[INFO] [stderr]    Compiling retain_mut v0.1.4
[INFO] [stderr]    Compiling once_cell v1.8.0
[INFO] [stderr]    Compiling bytemuck v1.7.2
[INFO] [stderr]    Compiling ahash v0.7.4
[INFO] [stderr]    Compiling roaring v0.8.0
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling cuckoomap v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `AHasher`
[INFO] [stdout]  --> src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ahash::{AHasher, RandomState};
[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::borrow::BorrowMut`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:228:21
[INFO] [stdout]     |
[INFO] [stdout] 228 |             let i = (((r & self.config.hash_mask) as usize) % (j+1 as usize));
[INFO] [stdout]     |                     ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 228 -             let i = (((r & self.config.hash_mask) as usize) % (j+1 as usize));
[INFO] [stdout] 228 +             let i = ((r & self.config.hash_mask) as usize) % (j+1 as usize);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:368:44
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn update(&mut self, key: K, value: T, mut hashes: Vec<u64>) -> (bool,bool,i64,i64) {
[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: `hashes`
[INFO] [stdout]    --> src/lib.rs:368:44
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn update(&mut self, key: K, value: T, mut hashes: Vec<u64>) -> (bool,bool,i64,i64) {
[INFO] [stdout]     |                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hashes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `K`
[INFO] [stdout]    --> src/lib.rs:378:26
[INFO] [stdout]     |
[INFO] [stdout] 378 |                     Some(K) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_K`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `K`
[INFO] [stdout]    --> src/lib.rs:399:22
[INFO] [stdout]     |
[INFO] [stdout] 399 |                 Some(K) => {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_K`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |         let mut bucket = self.buckets.get_mut(b_index as usize).unwrap();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:440:17
[INFO] [stdout]     |
[INFO] [stdout] 440 |                 _ => panic!("index out of bound kind of situation")
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/lib.rs:440:17
[INFO] [stdout]     |
[INFO] [stdout] 432 |                 None => {
[INFO] [stdout]     |                 ---- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 436 |                 Some(ind) => {
[INFO] [stdout]     |                 --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 440 |                 _ => panic!("index out of bound kind of situation")
[INFO] [stdout]     |                 ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hashes`
[INFO] [stdout]    --> src/lib.rs:421:45
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn try_add(&mut self, key: K, value: T, hashes: Vec<u64>, ignore: bool, except: i64) -> bool {
[INFO] [stdout]     |                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:451:13
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let mut old_hashes = hashes.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:464:17
[INFO] [stdout]     |
[INFO] [stdout] 464 |             let mut bucket = self.buckets.get_mut(h as usize).unwrap();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `step`
[INFO] [stdout]    --> src/lib.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |         for step in 0..max {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/lib.rs:473:29
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 (None, Some(v)) => return true,
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/lib.rs:510:25
[INFO] [stdout]     |
[INFO] [stdout] 510 |                    Some(val) => {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HASH_BITS` is never used
[INFO] [stdout]   --> src/lib.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const HASH_BITS: i64 = 64;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]   --> src/lib.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Config {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/lib.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl Config {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 47 |     fn new(bucket_shift: i64,
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bucket` is never constructed
[INFO] [stdout]   --> src/lib.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct Bucket<K, T> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `stash`, `add`, `replace`, `get`, and `next_available_slot` are never used
[INFO] [stdout]    --> src/lib.rs:85:8
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl<K: Clone + Debug, T: Clone + Debug> Bucket<K, T> {
[INFO] [stdout]     | ----------------------------------------------------- associated items in this implementation
[INFO] [stdout]  85 |     fn new(config: &Config) -> Bucket<K, T> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     fn stash(config: &Config) -> Bucket<K, T> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn add(&mut self, index: i64, key: K, value: T) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn replace(&mut self, index: u64, key: K, value: T) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn get(&mut self, index: u64) -> (Option<K>, Option<T>) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn next_available_slot(&mut self) -> Option<u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cuckoo` is never constructed
[INFO] [stdout]    --> src/lib.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | struct Cuckoo<K, T> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/lib.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | impl<K: Hash + Clone + Debug + std::cmp::PartialEq, T: Clone + Debug> Cuckoo<K, T> {
[INFO] [stdout]     | ---------------------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout] 180 |
[INFO] [stdout] 181 |     fn new(mut config: Config) -> Cuckoo<K, T> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn reseed(&mut self) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn shuffle(&mut self, hashes: &mut Vec<u64>, mut r: i64) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     fn len(self) -> i64 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     fn hashes(&mut self, key: &K) -> Vec<u64> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     fn delete(&mut self, key: K) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn try_delete(&mut self, key: K) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     fn put(&mut self, key: K, value: T) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn try_insert(&mut self, key: K, value: T) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     fn update(&mut self, key: K, value: T, mut hashes: Vec<u64>) -> (bool,bool,i64,i64) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     fn add_at(&mut self, key: K, value: T, b_index: i64, index: i64) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     fn try_add(&mut self, key: K, value: T, hashes: Vec<u64>, ignore: bool, except: i64) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 446 |     fn greedy_add(&mut self, key: K, value: T, mut hashes: Vec<u64>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     fn get(&mut self, key: K) -> Option<T> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 520 |     fn load_factor(&self) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 524 |     fn grow(&mut self, delta: i8) -> bool {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         std::mem::replace(&mut self.values[index as usize], Some(value));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[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] 102 |         let _ = std::mem::replace(&mut self.values[index as usize], Some(value));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         std::mem::replace(&mut self.keys[index as usize], Some(key));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let _ = std::mem::replace(&mut self.keys[index as usize], Some(key));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `add` that must be used
[INFO] [stdout]    --> src/lib.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         index.add(index);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this returns the result of the operation, without modifying the original
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let _ = index.add(index);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         std::mem::replace(&mut self.values[index as usize], Some(value));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let _ = std::mem::replace(&mut self.values[index as usize], Some(value));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         std::mem::replace(&mut self.keys[index as usize], Some(key));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let _ = std::mem::replace(&mut self.keys[index as usize], Some(key));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `add` that must be used
[INFO] [stdout]    --> src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         index.add(index);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this returns the result of the operation, without modifying the original
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let _ = index.add(index);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |             std::mem::replace(&mut hashes[i as usize], j_val);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let _ = std::mem::replace(&mut hashes[i as usize], j_val);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |             std::mem::replace(&mut hashes[j as usize], i_val);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 234 |             let _ = std::mem::replace(&mut hashes[j as usize], i_val);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `K` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:378:26
[INFO] [stdout]     |
[INFO] [stdout] 378 |                     Some(K) => {
[INFO] [stdout]     |                          ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `K` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:399:22
[INFO] [stdout]     |
[INFO] [stdout] 399 |                 Some(K) => {
[INFO] [stdout]     |                      ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.27s
[INFO] running `Command { std: "docker" "inspect" "10e5f344f9fe8476a3136bb7aad9bc73dbdfc02e177e17e8cd3870fc5e9d4217", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10e5f344f9fe8476a3136bb7aad9bc73dbdfc02e177e17e8cd3870fc5e9d4217", kill_on_drop: false }`
[INFO] [stdout] 10e5f344f9fe8476a3136bb7aad9bc73dbdfc02e177e17e8cd3870fc5e9d4217
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] acb82b3010e9cc554c81b4d0bccdb45ae360d0d1ae88cfe66a70e5908c0244a3
[INFO] running `Command { std: "docker" "start" "-a" "acb82b3010e9cc554c81b4d0bccdb45ae360d0d1ae88cfe66a70e5908c0244a3", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `AHasher`
[INFO] [stdout]  --> src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ahash::{AHasher, RandomState};
[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::borrow::BorrowMut`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:228:21
[INFO] [stdout]     |
[INFO] [stdout] 228 |             let i = (((r & self.config.hash_mask) as usize) % (j+1 as usize));
[INFO] [stdout]     |                     ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 228 -             let i = (((r & self.config.hash_mask) as usize) % (j+1 as usize));
[INFO] [stdout] 228 +             let i = ((r & self.config.hash_mask) as usize) % (j+1 as usize);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:368:44
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn update(&mut self, key: K, value: T, mut hashes: Vec<u64>) -> (bool,bool,i64,i64) {
[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: `hashes`
[INFO] [stdout]    --> src/lib.rs:368:44
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn update(&mut self, key: K, value: T, mut hashes: Vec<u64>) -> (bool,bool,i64,i64) {
[INFO] [stdout]     |                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hashes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `K`
[INFO] [stdout]    --> src/lib.rs:378:26
[INFO] [stdout]     |
[INFO] [stdout] 378 |                     Some(K) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_K`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `K`
[INFO] [stdout]    --> src/lib.rs:399:22
[INFO] [stdout]     |
[INFO] [stdout] 399 |                 Some(K) => {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_K`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |         let mut bucket = self.buckets.get_mut(b_index as usize).unwrap();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:440:17
[INFO] [stdout]     |
[INFO] [stdout] 440 |                 _ => panic!("index out of bound kind of situation")
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/lib.rs:440:17
[INFO] [stdout]     |
[INFO] [stdout] 432 |                 None => {
[INFO] [stdout]     |                 ---- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 436 |                 Some(ind) => {
[INFO] [stdout]     |                 --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 440 |                 _ => panic!("index out of bound kind of situation")
[INFO] [stdout]     |                 ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling cuckoomap v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `hashes`
[INFO] [stdout]    --> src/lib.rs:421:45
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn try_add(&mut self, key: K, value: T, hashes: Vec<u64>, ignore: bool, except: i64) -> bool {
[INFO] [stdout]     |                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:451:13
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let mut old_hashes = hashes.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:464:17
[INFO] [stdout]     |
[INFO] [stdout] 464 |             let mut bucket = self.buckets.get_mut(h as usize).unwrap();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `step`
[INFO] [stdout]    --> src/lib.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |         for step in 0..max {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/lib.rs:473:29
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 (None, Some(v)) => return true,
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/lib.rs:510:25
[INFO] [stdout]     |
[INFO] [stdout] 510 |                    Some(val) => {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HASH_BITS` is never used
[INFO] [stdout]   --> src/lib.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const HASH_BITS: i64 = 64;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Config` is never constructed
[INFO] [stdout]   --> src/lib.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Config {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/lib.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl Config {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 47 |     fn new(bucket_shift: i64,
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bucket` is never constructed
[INFO] [stdout]   --> src/lib.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct Bucket<K, T> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `stash`, `add`, `replace`, `get`, and `next_available_slot` are never used
[INFO] [stdout]    --> src/lib.rs:85:8
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl<K: Clone + Debug, T: Clone + Debug> Bucket<K, T> {
[INFO] [stdout]     | ----------------------------------------------------- associated items in this implementation
[INFO] [stdout]  85 |     fn new(config: &Config) -> Bucket<K, T> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     fn stash(config: &Config) -> Bucket<K, T> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn add(&mut self, index: i64, key: K, value: T) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn replace(&mut self, index: u64, key: K, value: T) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn get(&mut self, index: u64) -> (Option<K>, Option<T>) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn next_available_slot(&mut self) -> Option<u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cuckoo` is never constructed
[INFO] [stdout]    --> src/lib.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | struct Cuckoo<K, T> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/lib.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | impl<K: Hash + Clone + Debug + std::cmp::PartialEq, T: Clone + Debug> Cuckoo<K, T> {
[INFO] [stdout]     | ---------------------------------------------------------------------------------- associated items in this implementation
[INFO] [stdout] 180 |
[INFO] [stdout] 181 |     fn new(mut config: Config) -> Cuckoo<K, T> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn reseed(&mut self) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn shuffle(&mut self, hashes: &mut Vec<u64>, mut r: i64) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     fn len(self) -> i64 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     fn hashes(&mut self, key: &K) -> Vec<u64> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     fn delete(&mut self, key: K) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn try_delete(&mut self, key: K) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     fn put(&mut self, key: K, value: T) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn try_insert(&mut self, key: K, value: T) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     fn update(&mut self, key: K, value: T, mut hashes: Vec<u64>) -> (bool,bool,i64,i64) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     fn add_at(&mut self, key: K, value: T, b_index: i64, index: i64) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     fn try_add(&mut self, key: K, value: T, hashes: Vec<u64>, ignore: bool, except: i64) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 446 |     fn greedy_add(&mut self, key: K, value: T, mut hashes: Vec<u64>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     fn get(&mut self, key: K) -> Option<T> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 520 |     fn load_factor(&self) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 524 |     fn grow(&mut self, delta: i8) -> bool {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         std::mem::replace(&mut self.values[index as usize], Some(value));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[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] 102 |         let _ = std::mem::replace(&mut self.values[index as usize], Some(value));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         std::mem::replace(&mut self.keys[index as usize], Some(key));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let _ = std::mem::replace(&mut self.keys[index as usize], Some(key));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `add` that must be used
[INFO] [stdout]    --> src/lib.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         index.add(index);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this returns the result of the operation, without modifying the original
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let _ = index.add(index);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         std::mem::replace(&mut self.values[index as usize], Some(value));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let _ = std::mem::replace(&mut self.values[index as usize], Some(value));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         std::mem::replace(&mut self.keys[index as usize], Some(key));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let _ = std::mem::replace(&mut self.keys[index as usize], Some(key));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `add` that must be used
[INFO] [stdout]    --> src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         index.add(index);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this returns the result of the operation, without modifying the original
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let _ = index.add(index);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |             std::mem::replace(&mut hashes[i as usize], j_val);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let _ = std::mem::replace(&mut hashes[i as usize], j_val);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |             std::mem::replace(&mut hashes[j as usize], i_val);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 234 |             let _ = std::mem::replace(&mut hashes[j as usize], i_val);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `K` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:378:26
[INFO] [stdout]     |
[INFO] [stdout] 378 |                     Some(K) => {
[INFO] [stdout]     |                          ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `K` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:399:22
[INFO] [stdout]     |
[INFO] [stdout] 399 |                 Some(K) => {
[INFO] [stdout]     |                      ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AHasher`
[INFO] [stdout]  --> src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ahash::{AHasher, RandomState};
[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::borrow::BorrowMut`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:228:21
[INFO] [stdout]     |
[INFO] [stdout] 228 |             let i = (((r & self.config.hash_mask) as usize) % (j+1 as usize));
[INFO] [stdout]     |                     ^                                                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 228 -             let i = (((r & self.config.hash_mask) as usize) % (j+1 as usize));
[INFO] [stdout] 228 +             let i = ((r & self.config.hash_mask) as usize) % (j+1 as usize);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AHasher` and `RandomState`
[INFO] [stdout]    --> src/lib.rs:603:17
[INFO] [stdout]     |
[INFO] [stdout] 603 |     use ahash::{AHasher, RandomState};
[INFO] [stdout]     |                 ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BuildHasher` and `Hasher`
[INFO] [stdout]    --> src/lib.rs:604:21
[INFO] [stdout]     |
[INFO] [stdout] 604 |     use std::hash::{Hasher, BuildHasher};
[INFO] [stdout]     |                     ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:368:44
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn update(&mut self, key: K, value: T, mut hashes: Vec<u64>) -> (bool,bool,i64,i64) {
[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: `hashes`
[INFO] [stdout]    --> src/lib.rs:368:44
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn update(&mut self, key: K, value: T, mut hashes: Vec<u64>) -> (bool,bool,i64,i64) {
[INFO] [stdout]     |                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hashes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `K`
[INFO] [stdout]    --> src/lib.rs:378:26
[INFO] [stdout]     |
[INFO] [stdout] 378 |                     Some(K) => {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_K`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `K`
[INFO] [stdout]    --> src/lib.rs:399:22
[INFO] [stdout]     |
[INFO] [stdout] 399 |                 Some(K) => {
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_K`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |         let mut bucket = self.buckets.get_mut(b_index as usize).unwrap();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:440:17
[INFO] [stdout]     |
[INFO] [stdout] 440 |                 _ => panic!("index out of bound kind of situation")
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/lib.rs:440:17
[INFO] [stdout]     |
[INFO] [stdout] 432 |                 None => {
[INFO] [stdout]     |                 ---- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 436 |                 Some(ind) => {
[INFO] [stdout]     |                 --------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 440 |                 _ => panic!("index out of bound kind of situation")
[INFO] [stdout]     |                 ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hashes`
[INFO] [stdout]    --> src/lib.rs:421:45
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn try_add(&mut self, key: K, value: T, hashes: Vec<u64>, ignore: bool, except: i64) -> bool {
[INFO] [stdout]     |                                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:451:13
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let mut old_hashes = hashes.clone();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:464:17
[INFO] [stdout]     |
[INFO] [stdout] 464 |             let mut bucket = self.buckets.get_mut(h as usize).unwrap();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `step`
[INFO] [stdout]    --> src/lib.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |         for step in 0..max {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/lib.rs:473:29
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 (None, Some(v)) => return true,
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/lib.rs:510:25
[INFO] [stdout]     |
[INFO] [stdout] 510 |                    Some(val) => {
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:610:13
[INFO] [stdout]     |
[INFO] [stdout] 610 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:613:13
[INFO] [stdout]     |
[INFO] [stdout] 613 |         let mut hash = cuckoo.hashes(&0);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:624:13
[INFO] [stdout]     |
[INFO] [stdout] 624 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:627:13
[INFO] [stdout]     |
[INFO] [stdout] 627 |         let mut hash = cuckoo.hashes(&0);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:637:13
[INFO] [stdout]     |
[INFO] [stdout] 637 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:640:13
[INFO] [stdout]     |
[INFO] [stdout] 640 |         let mut hash = cuckoo.hashes(&0);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:655:13
[INFO] [stdout]     |
[INFO] [stdout] 655 |         let mut hash = cuckoo.hashes(&0);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:667:13
[INFO] [stdout]     |
[INFO] [stdout] 667 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:670:13
[INFO] [stdout]     |
[INFO] [stdout] 670 |         let mut hash = cuckoo.hashes(&0);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:683:13
[INFO] [stdout]     |
[INFO] [stdout] 683 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:717:13
[INFO] [stdout]     |
[INFO] [stdout] 717 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:736:13
[INFO] [stdout]     |
[INFO] [stdout] 736 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:751:13
[INFO] [stdout]     |
[INFO] [stdout] 751 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:766:13
[INFO] [stdout]     |
[INFO] [stdout] 766 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:776:13
[INFO] [stdout]     |
[INFO] [stdout] 776 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:779:13
[INFO] [stdout]     |
[INFO] [stdout] 779 |         let mut res = cuckoo.hashes(&123456);
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:780:13
[INFO] [stdout]     |
[INFO] [stdout] 780 |         let mut res1 = cuckoo.hashes(&123456);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:794:13
[INFO] [stdout]     |
[INFO] [stdout] 794 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:801:13
[INFO] [stdout]     |
[INFO] [stdout] 801 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:802:13
[INFO] [stdout]     |
[INFO] [stdout] 802 |         let mut cuckoo: Cuckoo<i32, String> = Cuckoo::new(conf_val);
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:811:13
[INFO] [stdout]     |
[INFO] [stdout] 811 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:831:13
[INFO] [stdout]     |
[INFO] [stdout] 831 |         let mut conf_val = Config::default();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:832:13
[INFO] [stdout]     |
[INFO] [stdout] 832 |         let mut cuckoo: Cuckoo<i32, String> = Cuckoo::new(conf_val);
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rehash_threshold` and `bucket_length` are never read
[INFO] [stdout]   --> src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Config {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     rehash_threshold: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     bucket_length: i64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Config` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/lib.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl Config {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 47 |     fn new(bucket_shift: i64,
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `put` and `load_factor` are never used
[INFO] [stdout]    --> src/lib.rs:320:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | impl<K: Hash + Clone + Debug + std::cmp::PartialEq, T: Clone + Debug> Cuckoo<K, T> {
[INFO] [stdout]     | ---------------------------------------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 320 |     fn put(&mut self, key: K, value: T) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 520 |     fn load_factor(&self) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         std::mem::replace(&mut self.values[index as usize], Some(value));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[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] 102 |         let _ = std::mem::replace(&mut self.values[index as usize], Some(value));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         std::mem::replace(&mut self.keys[index as usize], Some(key));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let _ = std::mem::replace(&mut self.keys[index as usize], Some(key));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `add` that must be used
[INFO] [stdout]    --> src/lib.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         index.add(index);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this returns the result of the operation, without modifying the original
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let _ = index.add(index);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         std::mem::replace(&mut self.values[index as usize], Some(value));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let _ = std::mem::replace(&mut self.values[index as usize], Some(value));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         std::mem::replace(&mut self.keys[index as usize], Some(key));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let _ = std::mem::replace(&mut self.keys[index as usize], Some(key));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `add` that must be used
[INFO] [stdout]    --> src/lib.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         index.add(index);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this returns the result of the operation, without modifying the original
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let _ = index.add(index);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |             std::mem::replace(&mut hashes[i as usize], j_val);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 233 |             let _ = std::mem::replace(&mut hashes[i as usize], j_val);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::mem::replace` that must be used
[INFO] [stdout]    --> src/lib.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |             std::mem::replace(&mut hashes[j as usize], i_val);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 234 |             let _ = std::mem::replace(&mut hashes[j as usize], i_val);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `K` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:378:26
[INFO] [stdout]     |
[INFO] [stdout] 378 |                     Some(K) => {
[INFO] [stdout]     |                          ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `K` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:399:22
[INFO] [stdout]     |
[INFO] [stdout] 399 |                 Some(K) => {
[INFO] [stdout]     |                      ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.61s
[INFO] running `Command { std: "docker" "inspect" "acb82b3010e9cc554c81b4d0bccdb45ae360d0d1ae88cfe66a70e5908c0244a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "acb82b3010e9cc554c81b4d0bccdb45ae360d0d1ae88cfe66a70e5908c0244a3", kill_on_drop: false }`
[INFO] [stdout] acb82b3010e9cc554c81b4d0bccdb45ae360d0d1ae88cfe66a70e5908c0244a3
