[INFO] crate Xorfilter 0.0.10 is already in cache
[INFO] checking Xorfilter-0.0.10 against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] extracting crate Xorfilter 0.0.10 into /workspace/builds/worker-3/source
[INFO] validating manifest of crates.io crate Xorfilter 0.0.10 on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking crates.io crate Xorfilter 0.0.10
[INFO] finished tweaking crates.io crate Xorfilter 0.0.10
[INFO] tweaked toml for crates.io crate Xorfilter 0.0.10 written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate crates.io crate Xorfilter 0.0.10 already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] f6213925bfe47889a5ecbda3bfff55904adcf1f5deb206686f76defacd0079d2
[INFO] running `"docker" "start" "-a" "f6213925bfe47889a5ecbda3bfff55904adcf1f5deb206686f76defacd0079d2"`
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling syn v1.0.11
[INFO] [stderr]     Checking same-file v1.0.5
[INFO] [stderr]     Checking Xorfilter v0.0.10 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling num-traits v0.2.10
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]     Checking getrandom v0.1.13
[INFO] [stderr]     Checking num_cpus v1.11.1
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking crossbeam-queue v0.2.1
[INFO] [stderr]     Checking serde_json v1.0.44
[INFO] [stderr] warning: type `xorset` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct xorset {
[INFO] [stderr]    |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Xorset`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `hashes` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct hashes {
[INFO] [stderr]    |            ^^^^^^ help: convert the identifier to upper camel case: `Hashes`
[INFO] [stderr] 
[INFO] [stderr] warning: type `keyindex` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct keyindex {
[INFO] [stderr]    |            ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Keyindex`
[INFO] [stderr] 
[INFO] [stderr] warning: denote infinite loops with `loop { ... }`
[INFO] [stderr]    --> src/lib.rs:140:9
[INFO] [stderr]     |
[INFO] [stderr] 140 |         while true {
[INFO] [stderr]     |         ^^^^^^^^^^ help: use `loop`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(while_true)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/lib.rs:262:46
[INFO] [stderr]     |
[INFO] [stderr] 262 |                         keyindexvar.index += (2*self.filter.BlockLength);
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr]     Checking walkdir v2.2.9
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:45:19
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub fn splitmix64(mut seed: u64) -> u64 {
[INFO] [stderr]    |                   ----^^^^
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:88:13
[INFO] [stderr]    |
[INFO] [stderr] 88 |         let mut hash = mixsplit(k, self.filter.Seed);
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let mut r0 = hash as u32;
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:90:13
[INFO] [stderr]    |
[INFO] [stderr] 90 |         let mut r1 = rotl64(hash, 21) as u32;
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:91:13
[INFO] [stderr]    |
[INFO] [stderr] 91 |         let mut r2 = rotl64(hash, 42) as u32;
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:125:13
[INFO] [stderr]     |
[INFO] [stderr] 125 |         let mut rngcounter: u64 = 1;
[INFO] [stderr]     |             ----^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:188:25
[INFO] [stderr]     |
[INFO] [stderr] 188 |                     let mut keyindexvar = Q0[Q0size];
[INFO] [stderr]     |                         ----^^^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:323:13
[INFO] [stderr]     |
[INFO] [stderr] 323 |         let mut hash = mixsplit(key, self.filter.Seed);
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:325:13
[INFO] [stderr]     |
[INFO] [stderr] 325 |         let mut r0 = hash as u32;
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:326:13
[INFO] [stderr]     |
[INFO] [stderr] 326 |         let mut r1 = rotl64(hash, 21) as u32;
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:327:13
[INFO] [stderr]     |
[INFO] [stderr] 327 |         let mut r2 = rotl64(hash, 42) as u32; 
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:328:13
[INFO] [stderr]     |
[INFO] [stderr] 328 |         let mut h0 = reduce(r0, self.filter.BlockLength);
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:329:13
[INFO] [stderr]     |
[INFO] [stderr] 329 |         let mut h1 = reduce(r1, self.filter.BlockLength) + self.filter.BlockLength;
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:330:13
[INFO] [stderr]     |
[INFO] [stderr] 330 |         let mut h2 = reduce(r2, self.filter.BlockLength) + 2*self.filter.BlockLength;
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: crate `Xorfilter` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr]   = help: convert the identifier to snake case: `xorfilter`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Seed` should have a snake case name
[INFO] [stderr]  --> src/lib.rs:3:2
[INFO] [stderr]   |
[INFO] [stderr] 3 |     Seed: u64,
[INFO] [stderr]   |     ^^^^ help: convert the identifier to snake case (notice the capitalization): `seed`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `BlockLength` should have a snake case name
[INFO] [stderr]  --> src/lib.rs:4:2
[INFO] [stderr]   |
[INFO] [stderr] 4 |     BlockLength: u32,
[INFO] [stderr]   |     ^^^^^^^^^^^ help: convert the identifier to snake case: `block_length`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Fingerprints` should have a snake case name
[INFO] [stderr]  --> src/lib.rs:5:2
[INFO] [stderr]   |
[INFO] [stderr] 5 |     Fingerprints: Vec<u8> 
[INFO] [stderr]   |     ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `fingerprints`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Q0` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:131:17
[INFO] [stderr]     |
[INFO] [stderr] 131 |         let mut Q0: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stderr]     |                 ^^ help: convert the identifier to snake case: `q0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Q1` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:132:17
[INFO] [stderr]     |
[INFO] [stderr] 132 |         let mut Q1: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stderr]     |                 ^^ help: convert the identifier to snake case: `q1`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Q2` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:133:17
[INFO] [stderr]     |
[INFO] [stderr] 133 |         let mut Q2: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stderr]     |                 ^^ help: convert the identifier to snake case: `q2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Q0size` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:155:21
[INFO] [stderr]     |
[INFO] [stderr] 155 |             let mut Q0size = 0;
[INFO] [stderr]     |                     ^^^^^^ help: convert the identifier to snake case: `q0size`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Q1size` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:156:21
[INFO] [stderr]     |
[INFO] [stderr] 156 |             let mut Q1size = 0;
[INFO] [stderr]     |                     ^^^^^^ help: convert the identifier to snake case: `q1size`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Q2size` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:157:21
[INFO] [stderr]     |
[INFO] [stderr] 157 |             let mut Q2size = 0;
[INFO] [stderr]     |                     ^^^^^^ help: convert the identifier to snake case: `q2size`
[INFO] [stderr] 
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking crossbeam-epoch v0.8.0
[INFO] [stderr]     Checking rand_chacha v0.2.1
[INFO] [stderr]     Checking rand_os v0.2.2
[INFO] [stderr]     Checking rand_xoshiro v0.3.1
[INFO] [stderr]     Checking rand v0.7.2
[INFO] [stderr]     Checking csv-core v0.1.6
[INFO] [stderr]     Checking bstr v0.2.8
[INFO] [stderr]     Checking crossbeam-deque v0.7.2
[INFO] [stderr]     Checking rayon-core v1.7.0
[INFO] [stderr]     Checking criterion-plot v0.4.0
[INFO] [stderr]     Checking csv v1.1.1
[INFO] [stderr]     Checking rayon v1.3.0
[INFO] [stderr]     Checking tinytemplate v1.0.3
[INFO] [stderr]    Compiling serde_derive v1.0.104
[INFO] [stderr]     Checking criterion v0.3.0
[INFO] [stderr] warning: type `xorset` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct xorset {
[INFO] [stderr]    |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Xorset`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `hashes` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct hashes {
[INFO] [stderr]    |            ^^^^^^ help: convert the identifier to upper camel case: `Hashes`
[INFO] [stderr] 
[INFO] [stderr] warning: type `keyindex` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct keyindex {
[INFO] [stderr]    |            ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Keyindex`
[INFO] [stderr] 
[INFO] [stderr] warning: denote infinite loops with `loop { ... }`
[INFO] [stderr]    --> src/lib.rs:140:9
[INFO] [stderr]     |
[INFO] [stderr] 140 |         while true {
[INFO] [stderr]     |         ^^^^^^^^^^ help: use `loop`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(while_true)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/lib.rs:262:46
[INFO] [stderr]     |
[INFO] [stderr] 262 |                         keyindexvar.index += (2*self.filter.BlockLength);
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `test_geth0`
[INFO] [stderr]  --> tests/xorfilter.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 |     fn test_geth0() {
[INFO] [stderr]   |        ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `test_get1`
[INFO] [stderr]  --> tests/xorfilter.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 |     fn test_get1() {
[INFO] [stderr]   |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `test_geth2`
[INFO] [stderr]   --> tests/xorfilter.rs:13:8
[INFO] [stderr]    |
[INFO] [stderr] 13 |     fn test_geth2() {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:45:19
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub fn splitmix64(mut seed: u64) -> u64 {
[INFO] [stderr]    |                   ----^^^^
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:88:13
[INFO] [stderr]    |
[INFO] [stderr] 88 |         let mut hash = mixsplit(k, self.filter.Seed);
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let mut r0 = hash as u32;
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:90:13
[INFO] [stderr]    |
[INFO] [stderr] 90 |         let mut r1 = rotl64(hash, 21) as u32;
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:91:13
[INFO] [stderr]    |
[INFO] [stderr] 91 |         let mut r2 = rotl64(hash, 42) as u32;
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:125:13
[INFO] [stderr]     |
[INFO] [stderr] 125 |         let mut rngcounter: u64 = 1;
[INFO] [stderr]     |             ----^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:188:25
[INFO] [stderr]     |
[INFO] [stderr] 188 |                     let mut keyindexvar = Q0[Q0size];
[INFO] [stderr]     |                         ----^^^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:323:13
[INFO] [stderr]     |
[INFO] [stderr] 323 |         let mut hash = mixsplit(key, self.filter.Seed);
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:325:13
[INFO] [stderr]     |
[INFO] [stderr] 325 |         let mut r0 = hash as u32;
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:326:13
[INFO] [stderr]     |
[INFO] [stderr] 326 |         let mut r1 = rotl64(hash, 21) as u32;
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:327:13
[INFO] [stderr]     |
[INFO] [stderr] 327 |         let mut r2 = rotl64(hash, 42) as u32; 
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:328:13
[INFO] [stderr]     |
[INFO] [stderr] 328 |         let mut h0 = reduce(r0, self.filter.BlockLength);
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:329:13
[INFO] [stderr]     |
[INFO] [stderr] 329 |         let mut h1 = reduce(r1, self.filter.BlockLength) + self.filter.BlockLength;
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:330:13
[INFO] [stderr]     |
[INFO] [stderr] 330 |         let mut h2 = reduce(r2, self.filter.BlockLength) + 2*self.filter.BlockLength;
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: crate `Xorfilter` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr]   = help: convert the identifier to snake case: `xorfilter`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Seed` should have a snake case name
[INFO] [stderr]  --> src/lib.rs:3:2
[INFO] [stderr]   |
[INFO] [stderr] 3 |     Seed: u64,
[INFO] [stderr]   |     ^^^^ help: convert the identifier to snake case (notice the capitalization): `seed`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `BlockLength` should have a snake case name
[INFO] [stderr]  --> src/lib.rs:4:2
[INFO] [stderr]   |
[INFO] [stderr] 4 |     BlockLength: u32,
[INFO] [stderr]   |     ^^^^^^^^^^^ help: convert the identifier to snake case: `block_length`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Fingerprints` should have a snake case name
[INFO] [stderr]  --> src/lib.rs:5:2
[INFO] [stderr]   |
[INFO] [stderr] 5 |     Fingerprints: Vec<u8> 
[INFO] [stderr]   |     ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `fingerprints`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Q0` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:131:17
[INFO] [stderr]     |
[INFO] [stderr] 131 |         let mut Q0: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stderr]     |                 ^^ help: convert the identifier to snake case: `q0`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Q1` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:132:17
[INFO] [stderr]     |
[INFO] [stderr] 132 |         let mut Q1: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stderr]     |                 ^^ help: convert the identifier to snake case: `q1`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Q2` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:133:17
[INFO] [stderr]     |
[INFO] [stderr] 133 |         let mut Q2: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stderr]     |                 ^^ help: convert the identifier to snake case: `q2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Q0size` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:155:21
[INFO] [stderr]     |
[INFO] [stderr] 155 |             let mut Q0size = 0;
[INFO] [stderr]     |                     ^^^^^^ help: convert the identifier to snake case: `q0size`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Q1size` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:156:21
[INFO] [stderr]     |
[INFO] [stderr] 156 |             let mut Q1size = 0;
[INFO] [stderr]     |                     ^^^^^^ help: convert the identifier to snake case: `q1size`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Q2size` should have a snake case name
[INFO] [stderr]    --> src/lib.rs:157:21
[INFO] [stderr]     |
[INFO] [stderr] 157 |             let mut Q2size = 0;
[INFO] [stderr]     |                     ^^^^^^ help: convert the identifier to snake case: `q2size`
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `new` in crate `Xorfilter`
[INFO] [stderr]   --> benches/xorfilter.rs:16:37
[INFO] [stderr]    |
[INFO] [stderr] 16 |     let mut xor_filter = Xorfilter::new();
[INFO] [stderr]    |                                     ^^^ not found in `Xorfilter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `::Xorfilter::*`
[INFO] [stderr]  --> benches/xorfilter.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ::Xorfilter::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]   --> benches/xorfilter.rs:31:20
[INFO] [stderr]    |
[INFO] [stderr] 31 |          keys.push((rng.gen::<u64>()));
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::prelude`
[INFO] [stderr]  --> benches/xorfilter.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rand::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0425`.
[INFO] [stderr] error: could not compile `Xorfilter`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "f6213925bfe47889a5ecbda3bfff55904adcf1f5deb206686f76defacd0079d2"`
[INFO] running `"docker" "rm" "-f" "f6213925bfe47889a5ecbda3bfff55904adcf1f5deb206686f76defacd0079d2"`
[INFO] [stdout] f6213925bfe47889a5ecbda3bfff55904adcf1f5deb206686f76defacd0079d2
