[INFO] fetching crate Xorfilter 0.0.10...
[INFO] testing Xorfilter-0.0.10 against 1.47.0 for beta-1.48-1
[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 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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 `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "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" "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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] de05ca5ff1780a2ad5593bbf7067b044c04ee95e2027c3790db7908aacdc7897
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "de05ca5ff1780a2ad5593bbf7067b044c04ee95e2027c3790db7908aacdc7897", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "de05ca5ff1780a2ad5593bbf7067b044c04ee95e2027c3790db7908aacdc7897", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "de05ca5ff1780a2ad5593bbf7067b044c04ee95e2027c3790db7908aacdc7897", kill_on_drop: false }`
[INFO] [stdout] de05ca5ff1780a2ad5593bbf7067b044c04ee95e2027c3790db7908aacdc7897
[INFO] running `Command { std: "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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eae4e37a3ed859af3a1f20b6c76c7e1202acb5ef0061a41259f13cb0c1d87d07
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "eae4e37a3ed859af3a1f20b6c76c7e1202acb5ef0061a41259f13cb0c1d87d07", kill_on_drop: false }`
[INFO] [stderr]    Compiling Xorfilter v0.0.10 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type `xorset` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct xorset {
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Xorset`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `hashes` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct hashes {
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to upper camel case: `Hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `keyindex` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct keyindex {
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Keyindex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         while true {
[INFO] [stdout]     |         ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:262:46
[INFO] [stdout]     |
[INFO] [stdout] 262 |                         keyindexvar.index += (2*self.filter.BlockLength);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn splitmix64(mut seed: u64) -> u64 {
[INFO] [stdout]    |                   ----^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut hash = mixsplit(k, self.filter.Seed);
[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:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut r0 = hash as u32;
[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:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut r1 = rotl64(hash, 21) as u32;
[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:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut r2 = rotl64(hash, 42) as u32;
[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:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut rngcounter: u64 = 1;
[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:188:25
[INFO] [stdout]     |
[INFO] [stdout] 188 |                     let mut keyindexvar = Q0[Q0size];
[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:323:13
[INFO] [stdout]     |
[INFO] [stdout] 323 |         let mut hash = mixsplit(key, self.filter.Seed);
[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:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let mut r0 = hash as u32;
[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:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let mut r1 = rotl64(hash, 21) as u32;
[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:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let mut r2 = rotl64(hash, 42) as u32; 
[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:328:13
[INFO] [stdout]     |
[INFO] [stdout] 328 |         let mut h0 = reduce(r0, self.filter.BlockLength);
[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:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let mut h1 = reduce(r1, self.filter.BlockLength) + self.filter.BlockLength;
[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:330:13
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let mut h2 = reduce(r2, self.filter.BlockLength) + 2*self.filter.BlockLength;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `Xorfilter` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout]   = help: convert the identifier to snake case: `xorfilter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Seed` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:3:2
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Seed: u64,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to snake case (notice the capitalization): `seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BlockLength` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:4:2
[INFO] [stdout]   |
[INFO] [stdout] 4 |     BlockLength: u32,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: convert the identifier to snake case: `block_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Fingerprints` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:5:2
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Fingerprints: Vec<u8> 
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `fingerprints`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q0` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let mut Q0: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `q0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut Q1: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `q1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let mut Q2: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `q2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q0size` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:155:21
[INFO] [stdout]     |
[INFO] [stdout] 155 |             let mut Q0size = 0;
[INFO] [stdout]     |                     ^^^^^^ help: convert the identifier to snake case: `q0size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q1size` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |             let mut Q1size = 0;
[INFO] [stdout]     |                     ^^^^^^ help: convert the identifier to snake case: `q1size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q2size` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 |             let mut Q2size = 0;
[INFO] [stdout]     |                     ^^^^^^ help: convert the identifier to snake case: `q2size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 29 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.77s
[INFO] running `Command { std: "docker" "inspect" "eae4e37a3ed859af3a1f20b6c76c7e1202acb5ef0061a41259f13cb0c1d87d07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eae4e37a3ed859af3a1f20b6c76c7e1202acb5ef0061a41259f13cb0c1d87d07", kill_on_drop: false }`
[INFO] [stdout] eae4e37a3ed859af3a1f20b6c76c7e1202acb5ef0061a41259f13cb0c1d87d07
[INFO] running `Command { std: "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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ccfcb25236abdefcbc2346a2b6b81f60def56fa8bde50a0f5f689ec1d02d4a85
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "ccfcb25236abdefcbc2346a2b6b81f60def56fa8bde50a0f5f689ec1d02d4a85", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling getrandom v0.1.13
[INFO] [stderr]    Compiling serde v1.0.104
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling syn v1.0.11
[INFO] [stderr]    Compiling same-file v1.0.5
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]    Compiling num-traits v0.2.10
[INFO] [stdout] warning: type `xorset` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct xorset {
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Xorset`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `hashes` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct hashes {
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to upper camel case: `Hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `keyindex` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct keyindex {
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Keyindex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         while true {
[INFO] [stdout]     |         ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:262:46
[INFO] [stdout]     |
[INFO] [stdout] 262 |                         keyindexvar.index += (2*self.filter.BlockLength);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn splitmix64(mut seed: u64) -> u64 {
[INFO] [stdout]    |                   ----^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling itertools v0.8.2
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut hash = mixsplit(k, self.filter.Seed);
[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:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut r0 = hash as u32;
[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:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut r1 = rotl64(hash, 21) as u32;
[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:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut r2 = rotl64(hash, 42) as u32;
[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:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut rngcounter: u64 = 1;
[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:188:25
[INFO] [stdout]     |
[INFO] [stdout] 188 |                     let mut keyindexvar = Q0[Q0size];
[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:323:13
[INFO] [stdout]     |
[INFO] [stdout] 323 |         let mut hash = mixsplit(key, self.filter.Seed);
[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:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let mut r0 = hash as u32;
[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:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let mut r1 = rotl64(hash, 21) as u32;
[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:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let mut r2 = rotl64(hash, 42) as u32; 
[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:328:13
[INFO] [stdout]     |
[INFO] [stdout] 328 |         let mut h0 = reduce(r0, self.filter.BlockLength);
[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:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let mut h1 = reduce(r1, self.filter.BlockLength) + self.filter.BlockLength;
[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:330:13
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let mut h2 = reduce(r2, self.filter.BlockLength) + 2*self.filter.BlockLength;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `Xorfilter` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout]   = help: convert the identifier to snake case: `xorfilter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Seed` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:3:2
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Seed: u64,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to snake case (notice the capitalization): `seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BlockLength` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:4:2
[INFO] [stdout]   |
[INFO] [stdout] 4 |     BlockLength: u32,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: convert the identifier to snake case: `block_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Fingerprints` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:5:2
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Fingerprints: Vec<u8> 
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `fingerprints`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q0` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let mut Q0: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `q0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut Q1: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `q1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let mut Q2: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `q2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q0size` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:155:21
[INFO] [stdout]     |
[INFO] [stdout] 155 |             let mut Q0size = 0;
[INFO] [stdout]     |                     ^^^^^^ help: convert the identifier to snake case: `q0size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q1size` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |             let mut Q1size = 0;
[INFO] [stdout]     |                     ^^^^^^ help: convert the identifier to snake case: `q1size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q2size` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 |             let mut Q2size = 0;
[INFO] [stdout]     |                     ^^^^^^ help: convert the identifier to snake case: `q2size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 29 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling c2-chacha v0.2.3
[INFO] [stderr]    Compiling clap v2.33.0
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]    Compiling walkdir v2.2.9
[INFO] [stderr]    Compiling crossbeam-queue v0.2.1
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling crossbeam-deque v0.7.2
[INFO] [stderr]    Compiling regex-automata v0.1.8
[INFO] [stderr]    Compiling num_cpus v1.11.1
[INFO] [stderr]    Compiling atty v0.2.13
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling criterion-plot v0.4.0
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]    Compiling rand_os v0.2.2
[INFO] [stderr]    Compiling rand_xoshiro v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.2.1
[INFO] [stderr]    Compiling rand v0.7.2
[INFO] [stderr]    Compiling csv-core v0.1.6
[INFO] [stderr]    Compiling rayon v1.3.0
[INFO] [stderr]    Compiling serde_derive v1.0.104
[INFO] [stderr]    Compiling serde_json v1.0.44
[INFO] [stderr]    Compiling bstr v0.2.8
[INFO] [stderr]    Compiling csv v1.1.1
[INFO] [stderr]    Compiling tinytemplate v1.0.3
[INFO] [stderr]    Compiling criterion v0.3.0
[INFO] [stderr]    Compiling Xorfilter v0.0.10 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type `xorset` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct xorset {
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Xorset`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `hashes` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct hashes {
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to upper camel case: `Hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `keyindex` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct keyindex {
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Keyindex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> src/lib.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         while true {
[INFO] [stdout]     |         ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:262:46
[INFO] [stdout]     |
[INFO] [stdout] 262 |                         keyindexvar.index += (2*self.filter.BlockLength);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn splitmix64(mut seed: u64) -> u64 {
[INFO] [stdout]    |                   ----^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let mut hash = mixsplit(k, self.filter.Seed);
[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:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut r0 = hash as u32;
[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:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut r1 = rotl64(hash, 21) as u32;
[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:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut r2 = rotl64(hash, 42) as u32;
[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:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut rngcounter: u64 = 1;
[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:188:25
[INFO] [stdout]     |
[INFO] [stdout] 188 |                     let mut keyindexvar = Q0[Q0size];
[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:323:13
[INFO] [stdout]     |
[INFO] [stdout] 323 |         let mut hash = mixsplit(key, self.filter.Seed);
[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:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let mut r0 = hash as u32;
[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:326:13
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let mut r1 = rotl64(hash, 21) as u32;
[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:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |         let mut r2 = rotl64(hash, 42) as u32; 
[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:328:13
[INFO] [stdout]     |
[INFO] [stdout] 328 |         let mut h0 = reduce(r0, self.filter.BlockLength);
[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:329:13
[INFO] [stdout]     |
[INFO] [stdout] 329 |         let mut h1 = reduce(r1, self.filter.BlockLength) + self.filter.BlockLength;
[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:330:13
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let mut h2 = reduce(r2, self.filter.BlockLength) + 2*self.filter.BlockLength;
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `Xorfilter` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout]   = help: convert the identifier to snake case: `xorfilter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Seed` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:3:2
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Seed: u64,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to snake case (notice the capitalization): `seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `BlockLength` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:4:2
[INFO] [stdout]   |
[INFO] [stdout] 4 |     BlockLength: u32,
[INFO] [stdout]   |     ^^^^^^^^^^^ help: convert the identifier to snake case: `block_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Fingerprints` should have a snake case name
[INFO] [stdout]  --> src/lib.rs:5:2
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Fingerprints: Vec<u8> 
[INFO] [stdout]   |     ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `fingerprints`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q0` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:131:17
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let mut Q0: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `q0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut Q1: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `q1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:133:17
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let mut Q2: Vec<keyindex> = vec![keyindex {hash: 0, index: 0}; self.filter.BlockLength as usize]; 
[INFO] [stdout]     |                 ^^ help: convert the identifier to snake case: `q2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q0size` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:155:21
[INFO] [stdout]     |
[INFO] [stdout] 155 |             let mut Q0size = 0;
[INFO] [stdout]     |                     ^^^^^^ help: convert the identifier to snake case: `q0size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q1size` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |             let mut Q1size = 0;
[INFO] [stdout]     |                     ^^^^^^ help: convert the identifier to snake case: `q1size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q2size` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:157:21
[INFO] [stdout]     |
[INFO] [stdout] 157 |             let mut Q2size = 0;
[INFO] [stdout]     |                     ^^^^^^ help: convert the identifier to snake case: `q2size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `test_geth0`
[INFO] [stdout]  --> tests/xorfilter.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 |     fn test_geth0() {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `test_get1`
[INFO] [stdout]  --> tests/xorfilter.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn test_get1() {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `test_geth2`
[INFO] [stdout]   --> tests/xorfilter.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn test_geth2() {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 29 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1m 03s
[INFO] running `Command { std: "docker" "inspect" "ccfcb25236abdefcbc2346a2b6b81f60def56fa8bde50a0f5f689ec1d02d4a85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ccfcb25236abdefcbc2346a2b6b81f60def56fa8bde50a0f5f689ec1d02d4a85", kill_on_drop: false }`
[INFO] [stdout] ccfcb25236abdefcbc2346a2b6b81f60def56fa8bde50a0f5f689ec1d02d4a85
[INFO] running `Command { std: "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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 927569ffe623528d6acb3796d8bac01026f0721a0df212637d05d442e61e28ec
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "927569ffe623528d6acb3796d8bac01026f0721a0df212637d05d442e61e28ec", kill_on_drop: false }`
[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: 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] warning: 29 warnings emitted
[INFO] [stderr] 
[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: 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] warning: 29 warnings emitted
[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: 3 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/Xorfilter-868583a431958d1a
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/xor8-4e59bee4764fb7e0
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/xorfilter-c10463a6f83da746
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests Xorfilter
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::test_contains ... ok
[INFO] [stdout] test tests::test_populate ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr] warning: type `xorset` should have an upper camel case name
[INFO] [stderr]   --> /opt/rustwide/workdir/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]   --> /opt/rustwide/workdir/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]   --> /opt/rustwide/workdir/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: unnecessary parentheses around assigned value
[INFO] [stderr]    --> /opt/rustwide/workdir/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: 4 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "927569ffe623528d6acb3796d8bac01026f0721a0df212637d05d442e61e28ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "927569ffe623528d6acb3796d8bac01026f0721a0df212637d05d442e61e28ec", kill_on_drop: false }`
[INFO] [stdout] 927569ffe623528d6acb3796d8bac01026f0721a0df212637d05d442e61e28ec
