[INFO] fetching crate merklebtree 0.1.5...
[INFO] checking merklebtree-0.1.5 against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] extracting crate merklebtree 0.1.5 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate merklebtree 0.1.5 on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate merklebtree 0.1.5
[INFO] finished tweaking crates.io crate merklebtree 0.1.5
[INFO] tweaked toml for crates.io crate merklebtree 0.1.5 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate crates.io crate merklebtree 0.1.5 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded hex v0.4.0
[INFO] [stderr]   Downloaded weedle v0.10.0
[INFO] [stderr]   Downloaded syn v1.0.7
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.52
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.52
[INFO] [stderr]   Downloaded bumpalo v2.6.0
[INFO] [stderr]   Downloaded untrusted v0.7.0
[INFO] [stderr]   Downloaded sourcefile v0.1.4
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.52
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.52
[INFO] [stderr]   Downloaded web-sys v0.3.29
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.52
[INFO] [stderr]   Downloaded js-sys v0.3.29
[INFO] [stderr]   Downloaded ring v0.16.9
[INFO] [stderr]   Downloaded wasm-bindgen-webidl v0.2.52
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0f4a2556fe185b8e27d9981ab9ab4ece2b5a73e8d456e8887de2f9045a25b7cb
[INFO] running `Command { std: "docker" "start" "-a" "0f4a2556fe185b8e27d9981ab9ab4ece2b5a73e8d456e8887de2f9045a25b7cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0f4a2556fe185b8e27d9981ab9ab4ece2b5a73e8d456e8887de2f9045a25b7cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f4a2556fe185b8e27d9981ab9ab4ece2b5a73e8d456e8887de2f9045a25b7cb", kill_on_drop: false }`
[INFO] [stdout] 0f4a2556fe185b8e27d9981ab9ab4ece2b5a73e8d456e8887de2f9045a25b7cb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7abd75bfbf2c25163ae8670a3b3fe7b90cec95c90490f4469af68858bbfba3f0
[INFO] running `Command { std: "docker" "start" "-a" "7abd75bfbf2c25163ae8670a3b3fe7b90cec95c90490f4469af68858bbfba3f0", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.7
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling cc v1.0.46
[INFO] [stderr]    Compiling serde v1.0.102
[INFO] [stderr]    Compiling libc v0.2.65
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking untrusted v0.7.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking hex v0.4.0
[INFO] [stderr]    Compiling ring v0.16.9
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling serde_derive v1.0.102
[INFO] [stderr]     Checking serde_json v1.0.41
[INFO] [stderr]     Checking merklebtree v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `core::borrow::BorrowMut`
[INFO] [stdout]  --> src/node.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufRead`
[INFO] [stdout]  --> src/node.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::borrow::BorrowMut`
[INFO] [stdout]  --> src/node.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufRead`
[INFO] [stdout]  --> src/node.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/node.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 352 |     if (node_id == -1) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 352 -     if (node_id == -1) {
[INFO] [stdout] 352 +     if node_id == -1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `is_leaf`
[INFO] [stdout]  --> src/merklebtree.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::node::{calculate_hash, is_leaf};
[INFO] [stdout]   |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stdout]  --> src/merklebtree.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> src/iterator.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `position` should have an upper camel case name
[INFO] [stdout]  --> src/iterator.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum position {
[INFO] [stdout]   |          ^^^^^^^^ help: convert the identifier to upper camel case: `Position`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `begin` should have an upper camel case name
[INFO] [stdout]  --> src/iterator.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     begin,
[INFO] [stdout]   |     ^^^^^ help: convert the identifier to upper camel case: `Begin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `between` should have an upper camel case name
[INFO] [stdout]  --> src/iterator.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     between,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to upper camel case: `Between`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `end` should have an upper camel case name
[INFO] [stdout]   --> src/iterator.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     end,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `End`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `btree_iterator` should have an upper camel case name
[INFO] [stdout]   --> src/iterator.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct btree_iterator<'a, T>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BtreeIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/node.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 352 |     if (node_id == -1) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 352 -     if (node_id == -1) {
[INFO] [stdout] 352 +     if node_id == -1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/sgxdb.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 352 |     if (node_id == -1) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 352 -     if (node_id == -1) {
[INFO] [stdout] 352 +     if node_id == -1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `is_leaf`
[INFO] [stdout]  --> src/merklebtree.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::node::{calculate_hash, is_leaf};
[INFO] [stdout]   |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stdout]  --> src/merklebtree.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> src/iterator.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `position` should have an upper camel case name
[INFO] [stdout]  --> src/iterator.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum position {
[INFO] [stdout]   |          ^^^^^^^^ help: convert the identifier to upper camel case: `Position`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `begin` should have an upper camel case name
[INFO] [stdout]  --> src/iterator.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     begin,
[INFO] [stdout]   |     ^^^^^ help: convert the identifier to upper camel case: `Begin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `between` should have an upper camel case name
[INFO] [stdout]  --> src/iterator.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     between,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to upper camel case: `Between`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `end` should have an upper camel case name
[INFO] [stdout]   --> src/iterator.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     end,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `End`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `btree_iterator` should have an upper camel case name
[INFO] [stdout]   --> src/iterator.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct btree_iterator<'a, T>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BtreeIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/sgxdb.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 352 |     if (node_id == -1) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 352 -     if (node_id == -1) {
[INFO] [stdout] 352 +     if node_id == -1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[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/node.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[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: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 |         for i in 0..right_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:478:13
[INFO] [stdout]     |
[INFO] [stdout] 478 |         for i in 0..right_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:507:13
[INFO] [stdout]     |
[INFO] [stdout] 507 |         for i in 0..left_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:514:13
[INFO] [stdout]     |
[INFO] [stdout] 514 |         for i in 0..left_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 |         for i in 0..right_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:478:13
[INFO] [stdout]     |
[INFO] [stdout] 478 |         for i in 0..right_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:507:13
[INFO] [stdout]     |
[INFO] [stdout] 507 |         for i in 0..left_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:514:13
[INFO] [stdout]     |
[INFO] [stdout] 514 |         for i in 0..left_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let mut node = nodes.nodes_map.get(&node_id).unwrap();
[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/node.rs:594:16
[INFO] [stdout]     |
[INFO] [stdout] 594 |             Ok(mut t) => {
[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/node.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let mut node = nodes.nodes_map.get(&node_id).unwrap();
[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/node.rs:594:16
[INFO] [stdout]     |
[INFO] [stdout] 594 |             Ok(mut t) => {
[INFO] [stdout]     |                ----^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/merklebtree.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         for (i, j) in self.nodes_map.iter() {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_in_clone`
[INFO] [stdout]    --> src/merklebtree.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 let node_in_clone = nodes_clone.nodes_map.get(&node.node_id).unwrap();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_in_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/merklebtree.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         for (i, j) in self.nodes_map.iter() {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_in_clone`
[INFO] [stdout]    --> src/merklebtree.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 let node_in_clone = nodes_clone.nodes_map.get(&node.node_id).unwrap();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_in_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/merklebtree.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let mut tree = MerkleBTree {
[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/merklebtree.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let mut tree = MerkleBTree {
[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/merklebtree.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 |             let mut pre_not_existed = node::insert(a, value, nodes.m, nodes);
[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/merklebtree.rs:242:17
[INFO] [stdout]     |
[INFO] [stdout] 242 |             let mut pre_not_existed = clone_insert(a, value, nodes.m, nodes, &mut clone_nodes);
[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/merklebtree.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let mut tree = MerkleBTree {
[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/merklebtree.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let mut tree = MerkleBTree {
[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/merklebtree.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 |             let mut pre_not_existed = node::insert(a, value, nodes.m, nodes);
[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/merklebtree.rs:242:17
[INFO] [stdout]     |
[INFO] [stdout] 242 |             let mut pre_not_existed = clone_insert(a, value, nodes.m, nodes, &mut clone_nodes);
[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/merklebtree.rs:429:31
[INFO] [stdout]     |
[INFO] [stdout] 429 |     pub fn leftItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[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/merklebtree.rs:437:17
[INFO] [stdout]     |
[INFO] [stdout] 437 |             let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[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/merklebtree.rs:462:32
[INFO] [stdout]     |
[INFO] [stdout] 462 |     pub fn rightItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[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/merklebtree.rs:470:17
[INFO] [stdout]     |
[INFO] [stdout] 470 |             let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[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/merklebtree.rs:429:31
[INFO] [stdout]     |
[INFO] [stdout] 429 |     pub fn leftItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[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/merklebtree.rs:437:17
[INFO] [stdout]     |
[INFO] [stdout] 437 |             let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_node`
[INFO] [stdout]    --> src/iterator.rs:280:29
[INFO] [stdout]     |
[INFO] [stdout] 280 |                         let current_node = btree_iterator
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_node`
[INFO] [stdout]    --> src/iterator.rs:297:29
[INFO] [stdout]     |
[INFO] [stdout] 297 |                         let current_node = btree_iterator
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/merklebtree.rs:462:32
[INFO] [stdout]     |
[INFO] [stdout] 462 |     pub fn rightItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[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/merklebtree.rs:470:17
[INFO] [stdout]     |
[INFO] [stdout] 470 |             let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[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/iterator.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 |     mut btree_iterator: &mut btree_iterator<T>,
[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/iterator.rs:363:16
[INFO] [stdout]     |
[INFO] [stdout] 363 | pub fn item<T>(mut btree_iterator: &mut btree_iterator<T>) -> T
[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/iterator.rs:370:20
[INFO] [stdout]     |
[INFO] [stdout] 370 | pub fn contents<T>(mut btree_iterator: &mut btree_iterator<T>) -> Vec<T>
[INFO] [stdout]     |                    ----^^^^^^^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_node`
[INFO] [stdout]    --> src/iterator.rs:280:29
[INFO] [stdout]     |
[INFO] [stdout] 280 |                         let current_node = btree_iterator
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_node`
[INFO] [stdout]    --> src/iterator.rs:297:29
[INFO] [stdout]     |
[INFO] [stdout] 297 |                         let current_node = btree_iterator
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/iterator.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 |     mut btree_iterator: &mut btree_iterator<T>,
[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/iterator.rs:363:16
[INFO] [stdout]     |
[INFO] [stdout] 363 | pub fn item<T>(mut btree_iterator: &mut btree_iterator<T>) -> T
[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/iterator.rs:370:20
[INFO] [stdout]     |
[INFO] [stdout] 370 | pub fn contents<T>(mut btree_iterator: &mut btree_iterator<T>) -> Vec<T>
[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/sgxdb.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 |     let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:568:13
[INFO] [stdout]     |
[INFO] [stdout] 568 |         for i in 0..right_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:579:13
[INFO] [stdout]     |
[INFO] [stdout] 579 |         for i in 0..right_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:622:13
[INFO] [stdout]     |
[INFO] [stdout] 622 |         for i in 0..left_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:634:13
[INFO] [stdout]     |
[INFO] [stdout] 634 |         for i in 0..left_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sgxdb.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 |     let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:568:13
[INFO] [stdout]     |
[INFO] [stdout] 568 |         for i in 0..right_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:579:13
[INFO] [stdout]     |
[INFO] [stdout] 579 |         for i in 0..right_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:622:13
[INFO] [stdout]     |
[INFO] [stdout] 622 |         for i in 0..left_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:634:13
[INFO] [stdout]     |
[INFO] [stdout] 634 |         for i in 0..left_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sgxdb.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let mut node = nodes.nodes_map.get(&node_id).unwrap();
[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/sgxdb.rs:773:16
[INFO] [stdout]     |
[INFO] [stdout] 773 |             Ok(mut t) => {
[INFO] [stdout]     |                ----^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verify_result`
[INFO] [stdout]    --> src/sgxdb.rs:822:13
[INFO] [stdout]     |
[INFO] [stdout] 822 |     let mut verify_result = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verify_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sgxdb.rs:822:9
[INFO] [stdout]     |
[INFO] [stdout] 822 |     let mut verify_result = false;
[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/sgxdb.rs:826:9
[INFO] [stdout]     |
[INFO] [stdout] 826 |     let mut compute_hash;
[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/sgxdb.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let mut node = nodes.nodes_map.get(&node_id).unwrap();
[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/sgxdb.rs:773:16
[INFO] [stdout]     |
[INFO] [stdout] 773 |             Ok(mut t) => {
[INFO] [stdout]     |                ----^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verify_result`
[INFO] [stdout]    --> src/sgxdb.rs:822:13
[INFO] [stdout]     |
[INFO] [stdout] 822 |     let mut verify_result = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verify_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `leftItem` should have a snake case name
[INFO] [stdout]    --> src/merklebtree.rs:429:12
[INFO] [stdout]     |
[INFO] [stdout] 429 |     pub fn leftItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stdout]     |            ^^^^^^^^ help: convert the identifier to snake case: `left_item`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rightItem` should have a snake case name
[INFO] [stdout]    --> src/merklebtree.rs:462:12
[INFO] [stdout]     |
[INFO] [stdout] 462 |     pub fn rightItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to snake case: `right_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/iterator.rs:258:16
[INFO] [stdout]     |
[INFO] [stdout] 258 |             if index - 1 >= 0 {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/iterator.rs:285:28
[INFO] [stdout]     |
[INFO] [stdout] 285 |                         if e - 1 >= 0 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/iterator.rs:302:28
[INFO] [stdout]     |
[INFO] [stdout] 302 |                         if e - 1 >= 0 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sgxdb.rs:822:9
[INFO] [stdout]     |
[INFO] [stdout] 822 |     let mut verify_result = false;
[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/sgxdb.rs:826:9
[INFO] [stdout]     |
[INFO] [stdout] 826 |     let mut compute_hash;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `leftItem` should have a snake case name
[INFO] [stdout]    --> src/merklebtree.rs:429:12
[INFO] [stdout]     |
[INFO] [stdout] 429 |     pub fn leftItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stdout]     |            ^^^^^^^^ help: convert the identifier to snake case: `left_item`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rightItem` should have a snake case name
[INFO] [stdout]    --> src/merklebtree.rs:462:12
[INFO] [stdout]     |
[INFO] [stdout] 462 |     pub fn rightItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to snake case: `right_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/iterator.rs:258:16
[INFO] [stdout]     |
[INFO] [stdout] 258 |             if index - 1 >= 0 {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/iterator.rs:285:28
[INFO] [stdout]     |
[INFO] [stdout] 285 |                         if e - 1 >= 0 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/iterator.rs:302:28
[INFO] [stdout]     |
[INFO] [stdout] 302 |                         if e - 1 >= 0 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest::Digest`
[INFO] [stdout]  --> examples/test_merkle.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ring::digest::Digest;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `merklebtree::node::Node`
[INFO] [stdout]  --> examples/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use merklebtree::node::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> examples/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MerkleBTree`
[INFO] [stdout]  --> tests/utils.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use merklebtree::merklebtree::{MerkleBTree, Nodes};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `merklebtree::node::Node`
[INFO] [stdout]  --> tests/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use merklebtree::node::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> tests/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest::Digest`
[INFO] [stdout]   --> tests/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ring::digest::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> tests/test_sgxdb_verification.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> tests/test_sgxdb_verification.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MerkleBTree`
[INFO] [stdout]  --> tests/utils.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use merklebtree::merklebtree::{MerkleBTree, Nodes};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `merklebtree::node::Node`
[INFO] [stdout]  --> tests/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use merklebtree::node::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> tests/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest::Digest`
[INFO] [stdout]   --> tests/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ring::digest::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest`
[INFO] [stdout]   --> tests/test_sgxdb_verification.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ring::digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MerkleBTree`
[INFO] [stdout]  --> tests/utils.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use merklebtree::merklebtree::{MerkleBTree, Nodes};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `merklebtree::node::Node`
[INFO] [stdout]  --> tests/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use merklebtree::node::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> tests/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest::Digest`
[INFO] [stdout]   --> tests/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ring::digest::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> tests/test_iterator.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> tests/test_iterator.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MerkleBTree`
[INFO] [stdout]  --> tests/utils.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use merklebtree::merklebtree::{MerkleBTree, Nodes};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `merklebtree::node::Node`
[INFO] [stdout]  --> tests/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use merklebtree::node::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `merklebtree::traits::CalculateHash`
[INFO] [stdout]  --> tests/test_persistence.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use merklebtree::traits::CalculateHash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> tests/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest::Digest`
[INFO] [stdout]   --> tests/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ring::digest::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde`
[INFO] [stdout]  --> tests/test_persistence.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde;
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> tests/test_persistence.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> tests/test_put.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> tests/test_put.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MerkleBTree`
[INFO] [stdout]  --> tests/utils.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use merklebtree::merklebtree::{MerkleBTree, Nodes};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `merklebtree::node::Node`
[INFO] [stdout]  --> tests/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use merklebtree::node::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> tests/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest::Digest`
[INFO] [stdout]   --> tests/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ring::digest::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest`
[INFO] [stdout]  --> tests/test_put.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ring::digest;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> tests/test_remove.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> tests/test_remove.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MerkleBTree`
[INFO] [stdout]  --> tests/utils.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use merklebtree::merklebtree::{MerkleBTree, Nodes};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `merklebtree::node::Node`
[INFO] [stdout]  --> tests/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use merklebtree::node::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> tests/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest::Digest`
[INFO] [stdout]   --> tests/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ring::digest::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> tests/test_branch_clone.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]  --> tests/test_branch_clone.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::cmp::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MerkleBTree`
[INFO] [stdout]  --> tests/utils.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use merklebtree::merklebtree::{MerkleBTree, Nodes};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `merklebtree::node::Node`
[INFO] [stdout]  --> tests/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use merklebtree::node::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> tests/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest::Digest`
[INFO] [stdout]   --> tests/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ring::digest::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ring::digest`
[INFO] [stdout]   --> tests/test_branch_clone.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ring::digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `find_id`
[INFO] [stdout]    --> examples/main.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let find_id = find_nodeid_by_branch(&branch, &nodes);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_find_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/main.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let mut branch = vec![0, 0, 0, 2];
[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: unused variable: `node`
[INFO] [stdout]    --> examples/main.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |     let node = nodes.nodes_map.get(&1).unwrap();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test2` is never used
[INFO] [stdout]    --> examples/main.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn test2() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> examples/test_btree.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let mut count = 0;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/test_btree.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[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]    --> examples/test_btree.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let mut count = 0;
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]   --> examples/test_sgxdb.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let (node_id, index, found, mut subnodes) =
[INFO] [stdout]    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> examples/test_sgxdb.rs:66:23
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let (node_id, index, found, mut subnodes) =
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `found`
[INFO] [stdout]   --> examples/test_sgxdb.rs:66:30
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let (node_id, index, found, mut subnodes) =
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]   --> examples/test_sgxdb.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stdout]    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> examples/test_sgxdb.rs:75:23
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/test_sgxdb.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[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: unused variable: `verify_result`
[INFO] [stdout]    --> examples/test_sgxdb.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let mut verify_result = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verify_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/test_sgxdb.rs:155:9
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let mut verify_result = false;
[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]    --> examples/test_sgxdb.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let mut compute_hash;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_subnodes_nodemap` is never used
[INFO] [stdout]    --> examples/test_sgxdb.rs:186:4
[INFO] [stdout]     |
[INFO] [stdout] 186 | fn print_subnodes_nodemap<T>(subnodes: &mut Nodes<T>)
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]   --> tests/test_sgxdb_verification.rs:77:14
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let (node_id, index, found, mut subnodes) =
[INFO] [stdout]    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> tests/test_sgxdb_verification.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let (node_id, index, found, mut subnodes) =
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `found`
[INFO] [stdout]   --> tests/test_sgxdb_verification.rs:77:30
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let (node_id, index, found, mut subnodes) =
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]   --> tests/test_sgxdb_verification.rs:83:14
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stdout]    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> tests/test_sgxdb_verification.rs:83:23
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stdout]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `root_node` is never read
[INFO] [stdout]    --> tests/test_sgxdb_verification.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |             root_node = Node::new_empty(0);
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/test_sgxdb_verification.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[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: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_subnodes_nodemap_existed` is never used
[INFO] [stdout]    --> tests/test_sgxdb_verification.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn print_subnodes_nodemap_existed<T>(subnodes: &mut Nodes<T>)
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_subnodes_nodemap` is never used
[INFO] [stdout]    --> tests/test_sgxdb_verification.rs:178:4
[INFO] [stdout]     |
[INFO] [stdout] 178 | fn print_subnodes_nodemap<T>(subnodes: &mut Nodes<T>)
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/test_remove.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[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]   --> tests/test_remove.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[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]   --> tests/test_remove.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[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]   --> tests/test_remove.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[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]    --> tests/test_remove.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `actual_value` is never read
[INFO] [stdout]   --> tests/test_iterator.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let mut actual_value = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expect_value` is never read
[INFO] [stdout]   --> tests/test_iterator.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut expect_value = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_remove.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[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]   --> tests/test_iterator.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[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: value assigned to `actual_value` is never read
[INFO] [stdout]   --> tests/test_iterator.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let mut actual_value = 0;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_remove.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[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]   --> tests/test_iterator.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[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]   --> tests/test_persistence.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[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]    --> tests/test_iterator.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[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]    --> tests/test_iterator.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[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]    --> tests/test_iterator.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tests/test_persistence.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     for i in 0..vec.len() {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> tests/test_persistence.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         for j in 0..sub_vec.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> tests/test_iterator.rs:413:13
[INFO] [stdout]     |
[INFO] [stdout] 406 |             count => {
[INFO] [stdout]     |             ----- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 413 |             _ => {
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_remove.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[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]    --> tests/test_iterator.rs:327:9
[INFO] [stdout]     |
[INFO] [stdout] 327 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[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]    --> tests/test_iterator.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> tests/test_iterator.rs:516:13
[INFO] [stdout]     |
[INFO] [stdout] 509 |             count => {
[INFO] [stdout]     |             ----- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 516 |             _ => {
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> tests/test_iterator.rs:509:13
[INFO] [stdout]     |
[INFO] [stdout] 509 |             count => {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_remove.rs:340:9
[INFO] [stdout]     |
[INFO] [stdout] 340 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[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]   --> tests/test_put.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[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]    --> tests/test_iterator.rs:431:9
[INFO] [stdout]     |
[INFO] [stdout] 431 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[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]    --> tests/test_iterator.rs:506:13
[INFO] [stdout]     |
[INFO] [stdout] 506 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> tests/test_iterator.rs:586:13
[INFO] [stdout]     |
[INFO] [stdout] 579 |             count => {
[INFO] [stdout]     |             ----- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 586 |             _ => {
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_persistence.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let mut fin = BufReader::new(file);
[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]    --> tests/test_iterator.rs:535:9
[INFO] [stdout]     |
[INFO] [stdout] 535 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[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]    --> tests/test_iterator.rs:576:13
[INFO] [stdout]     |
[INFO] [stdout] 576 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> tests/test_iterator.rs:654:13
[INFO] [stdout]     |
[INFO] [stdout] 647 |             count => {
[INFO] [stdout]     |             ----- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 654 |             _ => {
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> tests/test_iterator.rs:647:13
[INFO] [stdout]     |
[INFO] [stdout] 647 |             count => {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_remove.rs:396:17
[INFO] [stdout]     |
[INFO] [stdout] 396 |             let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[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]    --> tests/test_remove.rs:423:17
[INFO] [stdout]     |
[INFO] [stdout] 423 |             let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stdout]     |                 ----^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_tree_node_item3` is never used
[INFO] [stdout]    --> tests/utils.rs:202:8
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub fn assert_valid_tree_node_item3(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_tree_node_item4` is never used
[INFO] [stdout]    --> tests/utils.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn assert_valid_tree_node_item4(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_iterator.rs:604:9
[INFO] [stdout]     |
[INFO] [stdout] 604 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[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]    --> tests/test_iterator.rs:644:13
[INFO] [stdout]     |
[INFO] [stdout] 644 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> tests/test_iterator.rs:710:13
[INFO] [stdout]     |
[INFO] [stdout] 703 |             count => {
[INFO] [stdout]     |             ----- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 710 |             _ => {
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/test_put.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_tree_node` is never used
[INFO] [stdout]    --> tests/utils.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn assert_valid_tree_node(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_tree_node_item4` is never used
[INFO] [stdout]    --> tests/utils.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn assert_valid_tree_node_item4(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_iterator.rs:673:9
[INFO] [stdout]     |
[INFO] [stdout] 673 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[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]    --> tests/test_iterator.rs:700:13
[INFO] [stdout]     |
[INFO] [stdout] 700 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> tests/test_iterator.rs:764:13
[INFO] [stdout]     |
[INFO] [stdout] 757 |             count => {
[INFO] [stdout]     |             ----- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 764 |             _ => {
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> tests/test_iterator.rs:757:13
[INFO] [stdout]     |
[INFO] [stdout] 757 |             count => {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_iterator.rs:728:9
[INFO] [stdout]     |
[INFO] [stdout] 728 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[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]    --> tests/test_iterator.rs:754:13
[INFO] [stdout]     |
[INFO] [stdout] 754 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> tests/test_iterator.rs:824:13
[INFO] [stdout]     |
[INFO] [stdout] 817 |             count => {
[INFO] [stdout]     |             ----- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 824 |             _ => {
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/test_persistence.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     f.write_all(message.as_bytes());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |     let _ = f.write_all(message.as_bytes());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> tests/test_persistence.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     f.write_all(String::from("\n").as_bytes());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let _ = f.write_all(String::from("\n").as_bytes());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_iterator.rs:783:9
[INFO] [stdout]     |
[INFO] [stdout] 783 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[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]    --> tests/test_iterator.rs:814:13
[INFO] [stdout]     |
[INFO] [stdout] 814 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> tests/test_iterator.rs:882:13
[INFO] [stdout]     |
[INFO] [stdout] 875 |             count => {
[INFO] [stdout]     |             ----- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 882 |             _ => {
[INFO] [stdout]     |             ^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> tests/test_iterator.rs:875:13
[INFO] [stdout]     |
[INFO] [stdout] 875 |             count => {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_put.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[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]    --> tests/test_iterator.rs:842:9
[INFO] [stdout]     |
[INFO] [stdout] 842 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[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]    --> tests/test_iterator.rs:872:13
[INFO] [stdout]     |
[INFO] [stdout] 872 |         let mut key = item(&mut btree_iterator).key;
[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]    --> tests/test_iterator.rs:901:9
[INFO] [stdout]     |
[INFO] [stdout] 901 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_iterator.rs:968:9
[INFO] [stdout]     |
[INFO] [stdout] 968 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[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]    --> tests/test_put.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[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]     --> tests/test_iterator.rs:1030:9
[INFO] [stdout]      |
[INFO] [stdout] 1030 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[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]     --> tests/test_iterator.rs:1082:9
[INFO] [stdout]      |
[INFO] [stdout] 1082 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stdout]      |         ----^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_put.rs:378:9
[INFO] [stdout]     |
[INFO] [stdout] 378 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]   --> tests/test_branch_clone.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let (node_id, index, found, mut subnodes) =
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> tests/test_branch_clone.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let (node_id, index, found, mut subnodes) =
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `found`
[INFO] [stdout]   --> tests/test_branch_clone.rs:50:26
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let (node_id, index, found, mut subnodes) =
[INFO] [stdout]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> tests/test_branch_clone.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let (value, found) = subtree.get(Item3 { key: -4 }, &mut subnodes);
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/test_branch_clone.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[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]   --> tests/test_branch_clone.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 46 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_branch_clone.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[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]    --> tests/test_put.rs:478:9
[INFO] [stdout]     |
[INFO] [stdout] 478 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[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]    --> tests/test_branch_clone.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> tests/test_branch_clone.rs:222:14
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let (node_id, index, found, mut subnodes) =
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> tests/test_put.rs:630:9
[INFO] [stdout]     |
[INFO] [stdout] 630 |     let item = Item2 { key: 1, value: 2 };
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> tests/test_branch_clone.rs:222:23
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let (node_id, index, found, mut subnodes) =
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `found`
[INFO] [stdout]    --> tests/test_branch_clone.rs:222:30
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let (node_id, index, found, mut subnodes) =
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> tests/test_branch_clone.rs:227:14
[INFO] [stdout]     |
[INFO] [stdout] 227 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> tests/test_branch_clone.rs:227:23
[INFO] [stdout]     |
[INFO] [stdout] 227 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_branch_clone.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> tests/test_branch_clone.rs:253:14
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let (node_id, index, found, mut subnodes) =
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> tests/test_branch_clone.rs:253:23
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let (node_id, index, found, mut subnodes) =
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `found`
[INFO] [stdout]    --> tests/test_branch_clone.rs:253:30
[INFO] [stdout]     |
[INFO] [stdout] 253 |         let (node_id, index, found, mut subnodes) =
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> tests/test_branch_clone.rs:258:14
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> tests/test_branch_clone.rs:258:23
[INFO] [stdout]     |
[INFO] [stdout] 258 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stdout]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_branch_clone.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_tree_node_item4` is never used
[INFO] [stdout]    --> tests/utils.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn assert_valid_tree_node_item4(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/test_branch_clone.rs:265:9
[INFO] [stdout]     |
[INFO] [stdout] 265 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[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]    --> tests/test_branch_clone.rs:304:9
[INFO] [stdout]     |
[INFO] [stdout] 304 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[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]    --> tests/test_branch_clone.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout] 335 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_valid_tree_node` is never used
[INFO] [stdout]    --> tests/utils.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn assert_valid_tree_node(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 7.70s
[INFO] running `Command { std: "docker" "inspect" "7abd75bfbf2c25163ae8670a3b3fe7b90cec95c90490f4469af68858bbfba3f0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7abd75bfbf2c25163ae8670a3b3fe7b90cec95c90490f4469af68858bbfba3f0", kill_on_drop: false }`
[INFO] [stdout] 7abd75bfbf2c25163ae8670a3b3fe7b90cec95c90490f4469af68858bbfba3f0
[INFO] checking merklebtree-0.1.5 against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393
[INFO] extracting crate merklebtree 0.1.5 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate merklebtree 0.1.5 on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate merklebtree 0.1.5
[INFO] finished tweaking crates.io crate merklebtree 0.1.5
[INFO] tweaked toml for crates.io crate merklebtree 0.1.5 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] crate crates.io crate merklebtree 0.1.5 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3b8156f79974f8e871bdc5c2e1bb3f43925bd52c11ff092f4133225faf4efedb
[INFO] running `Command { std: "docker" "start" "-a" "3b8156f79974f8e871bdc5c2e1bb3f43925bd52c11ff092f4133225faf4efedb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3b8156f79974f8e871bdc5c2e1bb3f43925bd52c11ff092f4133225faf4efedb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3b8156f79974f8e871bdc5c2e1bb3f43925bd52c11ff092f4133225faf4efedb", kill_on_drop: false }`
[INFO] [stdout] 3b8156f79974f8e871bdc5c2e1bb3f43925bd52c11ff092f4133225faf4efedb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dnon_local_definitions" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 606da2a9ec238fe45f009adaca6700cb9e1b7dbd1db7880357db3e29fa9974bd
[INFO] running `Command { std: "docker" "start" "-a" "606da2a9ec238fe45f009adaca6700cb9e1b7dbd1db7880357db3e29fa9974bd", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.7
[INFO] [stderr]    Compiling cc v1.0.46
[INFO] [stderr]    Compiling libc v0.2.65
[INFO] [stderr]    Compiling serde v1.0.102
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking untrusted v0.7.0
[INFO] [stderr]     Checking itoa v0.4.4
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking hex v0.4.0
[INFO] [stderr]    Compiling ring v0.16.9
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling serde_derive v1.0.102
[INFO] [stderr]     Checking serde_json v1.0.41
[INFO] [stderr]     Checking merklebtree v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `core::borrow::BorrowMut`
[INFO] [stdout]  --> src/node.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufRead`
[INFO] [stdout]  --> src/node.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::borrow::BorrowMut`
[INFO] [stdout]  --> src/node.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufRead`
[INFO] [stdout]  --> src/node.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/node.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 352 |     if (node_id == -1) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 352 -     if (node_id == -1) {
[INFO] [stdout] 352 +     if node_id == -1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `is_leaf`
[INFO] [stdout]  --> src/merklebtree.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::node::{calculate_hash, is_leaf};
[INFO] [stdout]   |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stdout]  --> src/merklebtree.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> src/iterator.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `position` should have an upper camel case name
[INFO] [stdout]  --> src/iterator.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum position {
[INFO] [stdout]   |          ^^^^^^^^ help: convert the identifier to upper camel case: `Position`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `begin` should have an upper camel case name
[INFO] [stdout]  --> src/iterator.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     begin,
[INFO] [stdout]   |     ^^^^^ help: convert the identifier to upper camel case: `Begin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `between` should have an upper camel case name
[INFO] [stdout]  --> src/iterator.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     between,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to upper camel case: `Between`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `end` should have an upper camel case name
[INFO] [stdout]   --> src/iterator.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     end,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `End`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `btree_iterator` should have an upper camel case name
[INFO] [stdout]   --> src/iterator.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct btree_iterator<'a, T>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BtreeIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/sgxdb.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 352 |     if (node_id == -1) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 352 -     if (node_id == -1) {
[INFO] [stdout] 352 +     if node_id == -1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/node.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 352 |     if (node_id == -1) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 352 -     if (node_id == -1) {
[INFO] [stdout] 352 +     if node_id == -1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `is_leaf`
[INFO] [stdout]  --> src/merklebtree.rs:3:35
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::node::{calculate_hash, is_leaf};
[INFO] [stdout]   |                                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stdout]  --> src/merklebtree.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core::borrow::{Borrow, BorrowMut};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> src/iterator.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `position` should have an upper camel case name
[INFO] [stdout]  --> src/iterator.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum position {
[INFO] [stdout]   |          ^^^^^^^^ help: convert the identifier to upper camel case: `Position`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `begin` should have an upper camel case name
[INFO] [stdout]  --> src/iterator.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     begin,
[INFO] [stdout]   |     ^^^^^ help: convert the identifier to upper camel case: `Begin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `between` should have an upper camel case name
[INFO] [stdout]  --> src/iterator.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     between,
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to upper camel case: `Between`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `end` should have an upper camel case name
[INFO] [stdout]   --> src/iterator.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     end,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `End`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `btree_iterator` should have an upper camel case name
[INFO] [stdout]   --> src/iterator.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct btree_iterator<'a, T>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BtreeIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/sgxdb.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 352 |     if (node_id == -1) {
[INFO] [stdout]     |        ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 352 -     if (node_id == -1) {
[INFO] [stdout] 352 +     if node_id == -1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[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: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 |         for i in 0..right_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:478:13
[INFO] [stdout]     |
[INFO] [stdout] 478 |         for i in 0..right_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:507:13
[INFO] [stdout]     |
[INFO] [stdout] 507 |         for i in 0..left_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:514:13
[INFO] [stdout]     |
[INFO] [stdout] 514 |         for i in 0..left_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let mut node = nodes.nodes_map.get(&node_id).unwrap();
[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/node.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[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/node.rs:594:16
[INFO] [stdout]     |
[INFO] [stdout] 594 |             Ok(mut t) => {
[INFO] [stdout]     |                ----^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:472:13
[INFO] [stdout]     |
[INFO] [stdout] 472 |         for i in 0..right_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:478:13
[INFO] [stdout]     |
[INFO] [stdout] 478 |         for i in 0..right_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:507:13
[INFO] [stdout]     |
[INFO] [stdout] 507 |         for i in 0..left_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/node.rs:514:13
[INFO] [stdout]     |
[INFO] [stdout] 514 |         for i in 0..left_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let mut node = nodes.nodes_map.get(&node_id).unwrap();
[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/node.rs:594:16
[INFO] [stdout]     |
[INFO] [stdout] 594 |             Ok(mut t) => {
[INFO] [stdout]     |                ----^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/merklebtree.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         for (i, j) in self.nodes_map.iter() {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_in_clone`
[INFO] [stdout]    --> src/merklebtree.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 let node_in_clone = nodes_clone.nodes_map.get(&node.node_id).unwrap();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_in_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/merklebtree.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let mut tree = MerkleBTree {
[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/merklebtree.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let mut tree = MerkleBTree {
[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/merklebtree.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 |             let mut pre_not_existed = node::insert(a, value, nodes.m, nodes);
[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/merklebtree.rs:242:17
[INFO] [stdout]     |
[INFO] [stdout] 242 |             let mut pre_not_existed = clone_insert(a, value, nodes.m, nodes, &mut clone_nodes);
[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/merklebtree.rs:429:31
[INFO] [stdout]     |
[INFO] [stdout] 429 |     pub fn leftItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[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/merklebtree.rs:437:17
[INFO] [stdout]     |
[INFO] [stdout] 437 |             let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[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/merklebtree.rs:462:32
[INFO] [stdout]     |
[INFO] [stdout] 462 |     pub fn rightItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[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/merklebtree.rs:470:17
[INFO] [stdout]     |
[INFO] [stdout] 470 |             let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/merklebtree.rs:107:17
[INFO] [stdout]     |
[INFO] [stdout] 107 |         for (i, j) in self.nodes_map.iter() {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_in_clone`
[INFO] [stdout]    --> src/merklebtree.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |                 let node_in_clone = nodes_clone.nodes_map.get(&node.node_id).unwrap();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_in_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_node`
[INFO] [stdout]    --> src/iterator.rs:280:29
[INFO] [stdout]     |
[INFO] [stdout] 280 |                         let current_node = btree_iterator
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_node`
[INFO] [stdout]    --> src/iterator.rs:297:29
[INFO] [stdout]     |
[INFO] [stdout] 297 |                         let current_node = btree_iterator
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/merklebtree.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let mut tree = MerkleBTree {
[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/iterator.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 |     mut btree_iterator: &mut btree_iterator<T>,
[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/merklebtree.rs:181:13
[INFO] [stdout]     |
[INFO] [stdout] 181 |         let mut tree = MerkleBTree {
[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/iterator.rs:363:16
[INFO] [stdout]     |
[INFO] [stdout] 363 | pub fn item<T>(mut btree_iterator: &mut btree_iterator<T>) -> T
[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/merklebtree.rs:211:17
[INFO] [stdout]     |
[INFO] [stdout] 211 |             let mut pre_not_existed = node::insert(a, value, nodes.m, nodes);
[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/iterator.rs:370:20
[INFO] [stdout]     |
[INFO] [stdout] 370 | pub fn contents<T>(mut btree_iterator: &mut btree_iterator<T>) -> Vec<T>
[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/merklebtree.rs:242:17
[INFO] [stdout]     |
[INFO] [stdout] 242 |             let mut pre_not_existed = clone_insert(a, value, nodes.m, nodes, &mut clone_nodes);
[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/merklebtree.rs:429:31
[INFO] [stdout]     |
[INFO] [stdout] 429 |     pub fn leftItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[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/merklebtree.rs:437:17
[INFO] [stdout]     |
[INFO] [stdout] 437 |             let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[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/merklebtree.rs:462:32
[INFO] [stdout]     |
[INFO] [stdout] 462 |     pub fn rightItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[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/merklebtree.rs:470:17
[INFO] [stdout]     |
[INFO] [stdout] 470 |             let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[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/sgxdb.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 |     let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:568:13
[INFO] [stdout]     |
[INFO] [stdout] 568 |         for i in 0..right_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:579:13
[INFO] [stdout]     |
[INFO] [stdout] 579 |         for i in 0..right_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:622:13
[INFO] [stdout]     |
[INFO] [stdout] 622 |         for i in 0..left_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:634:13
[INFO] [stdout]     |
[INFO] [stdout] 634 |         for i in 0..left_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_node`
[INFO] [stdout]    --> src/iterator.rs:280:29
[INFO] [stdout]     |
[INFO] [stdout] 280 |                         let current_node = btree_iterator
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_node`
[INFO] [stdout]    --> src/iterator.rs:297:29
[INFO] [stdout]     |
[INFO] [stdout] 297 |                         let current_node = btree_iterator
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/iterator.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 |     mut btree_iterator: &mut btree_iterator<T>,
[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/iterator.rs:363:16
[INFO] [stdout]     |
[INFO] [stdout] 363 | pub fn item<T>(mut btree_iterator: &mut btree_iterator<T>) -> T
[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/iterator.rs:370:20
[INFO] [stdout]     |
[INFO] [stdout] 370 | pub fn contents<T>(mut btree_iterator: &mut btree_iterator<T>) -> Vec<T>
[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/sgxdb.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let mut node = nodes.nodes_map.get(&node_id).unwrap();
[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/sgxdb.rs:773:16
[INFO] [stdout]     |
[INFO] [stdout] 773 |             Ok(mut t) => {
[INFO] [stdout]     |                ----^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verify_result`
[INFO] [stdout]    --> src/sgxdb.rs:822:13
[INFO] [stdout]     |
[INFO] [stdout] 822 |     let mut verify_result = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verify_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sgxdb.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 |     let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[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/sgxdb.rs:822:9
[INFO] [stdout]     |
[INFO] [stdout] 822 |     let mut verify_result = false;
[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/sgxdb.rs:826:9
[INFO] [stdout]     |
[INFO] [stdout] 826 |     let mut compute_hash;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:568:13
[INFO] [stdout]     |
[INFO] [stdout] 568 |         for i in 0..right_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:579:13
[INFO] [stdout]     |
[INFO] [stdout] 579 |         for i in 0..right_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:622:13
[INFO] [stdout]     |
[INFO] [stdout] 622 |         for i in 0..left_sibling_node.content.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sgxdb.rs:634:13
[INFO] [stdout]     |
[INFO] [stdout] 634 |         for i in 0..left_sibling_node.children_id.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/node.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Deserialize, Serialize, Debug)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_NodeSer`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/node.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Deserialize, Serialize, Debug)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_NodeSer`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/merklebtree.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Deserialize, Serialize, Debug)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_NodesSerialize`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/merklebtree.rs:27:30
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Deserialize, Serialize, Debug)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_NodesSerialize`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `leftItem` should have a snake case name
[INFO] [stdout]    --> src/merklebtree.rs:429:12
[INFO] [stdout]     |
[INFO] [stdout] 429 |     pub fn leftItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stdout]     |            ^^^^^^^^ help: convert the identifier to snake case: `left_item`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rightItem` should have a snake case name
[INFO] [stdout]    --> src/merklebtree.rs:462:12
[INFO] [stdout]     |
[INFO] [stdout] 462 |     pub fn rightItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to snake case: `right_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/iterator.rs:258:16
[INFO] [stdout]     |
[INFO] [stdout] 258 |             if index - 1 >= 0 {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/iterator.rs:285:28
[INFO] [stdout]     |
[INFO] [stdout] 285 |                         if e - 1 >= 0 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/iterator.rs:302:28
[INFO] [stdout]     |
[INFO] [stdout] 302 |                         if e - 1 >= 0 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sgxdb.rs:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let mut node = nodes.nodes_map.get(&node_id).unwrap();
[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/sgxdb.rs:773:16
[INFO] [stdout]     |
[INFO] [stdout] 773 |             Ok(mut t) => {
[INFO] [stdout]     |                ----^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verify_result`
[INFO] [stdout]    --> src/sgxdb.rs:822:13
[INFO] [stdout]     |
[INFO] [stdout] 822 |     let mut verify_result = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verify_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sgxdb.rs:822:9
[INFO] [stdout]     |
[INFO] [stdout] 822 |     let mut verify_result = false;
[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/sgxdb.rs:826:9
[INFO] [stdout]     |
[INFO] [stdout] 826 |     let mut compute_hash;
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/node.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Deserialize, Serialize, Debug)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_NodeSer`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/node.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive(Clone, Deserialize, Serialize, Debug)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_NodeSer`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/merklebtree.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Deserialize, Serialize, Debug)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_NodesSerialize`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/merklebtree.rs:27:30
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[derive(Clone, Deserialize, Serialize, Debug)]
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_NodesSerialize`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `leftItem` should have a snake case name
[INFO] [stdout]    --> src/merklebtree.rs:429:12
[INFO] [stdout]     |
[INFO] [stdout] 429 |     pub fn leftItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stdout]     |            ^^^^^^^^ help: convert the identifier to snake case: `left_item`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rightItem` should have a snake case name
[INFO] [stdout]    --> src/merklebtree.rs:462:12
[INFO] [stdout]     |
[INFO] [stdout] 462 |     pub fn rightItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to snake case: `right_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/iterator.rs:258:16
[INFO] [stdout]     |
[INFO] [stdout] 258 |             if index - 1 >= 0 {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/iterator.rs:285:28
[INFO] [stdout]     |
[INFO] [stdout] 285 |                         if e - 1 >= 0 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/iterator.rs:302:28
[INFO] [stdout]     |
[INFO] [stdout] 302 |                         if e - 1 >= 0 {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `merklebtree` (lib) due to 5 previous errors; 49 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 4 previous errors; 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `merklebtree` (lib test) due to 5 previous errors; 49 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "606da2a9ec238fe45f009adaca6700cb9e1b7dbd1db7880357db3e29fa9974bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "606da2a9ec238fe45f009adaca6700cb9e1b7dbd1db7880357db3e29fa9974bd", kill_on_drop: false }`
[INFO] [stdout] 606da2a9ec238fe45f009adaca6700cb9e1b7dbd1db7880357db3e29fa9974bd
