[INFO] fetching crate merklebtree 0.1.5...
[INFO] testing merklebtree-0.1.5 against 1.75.0 for beta-1.76-1
[INFO] extracting crate merklebtree 0.1.5 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate merklebtree 0.1.5 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "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-5-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" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded synstructure v0.12.1
[INFO] [stderr]   Downloaded sourcefile v0.1.4
[INFO] [stderr]   Downloaded unicode-segmentation v1.3.0
[INFO] [stderr]   Downloaded cc v1.0.46
[INFO] [stderr]   Downloaded weedle v0.10.0
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.52
[INFO] [stderr]   Downloaded bumpalo v2.6.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.52
[INFO] [stderr]   Downloaded hex v0.4.0
[INFO] [stderr]   Downloaded untrusted v0.7.0
[INFO] [stderr]   Downloaded backtrace v0.3.40
[INFO] [stderr]   Downloaded ring v0.16.9
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.52
[INFO] [stderr]   Downloaded js-sys v0.3.29
[INFO] [stderr]   Downloaded wasm-bindgen-webidl v0.2.52
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.52
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.52
[INFO] [stderr]   Downloaded web-sys v0.3.29
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8635370cba9005fe2a3863f275ca480a18ff6c8de83ba5bfc3276e28bfb2101e
[INFO] running `Command { std: "docker" "start" "-a" "8635370cba9005fe2a3863f275ca480a18ff6c8de83ba5bfc3276e28bfb2101e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8635370cba9005fe2a3863f275ca480a18ff6c8de83ba5bfc3276e28bfb2101e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8635370cba9005fe2a3863f275ca480a18ff6c8de83ba5bfc3276e28bfb2101e", kill_on_drop: false }`
[INFO] [stdout] 8635370cba9005fe2a3863f275ca480a18ff6c8de83ba5bfc3276e28bfb2101e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 97450223203ae113ad15f29cd32c8483e67cb33984af1fe8c4d9a863f49ca8e4
[INFO] running `Command { std: "docker" "start" "-a" "97450223203ae113ad15f29cd32c8483e67cb33984af1fe8c4d9a863f49ca8e4", 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 serde v1.0.102
[INFO] [stderr]    Compiling cc v1.0.46
[INFO] [stderr]    Compiling libc v0.2.65
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling untrusted v0.7.0
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling 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]    Compiling serde_json v1.0.41
[INFO] [stderr]    Compiling 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: 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: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: `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: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: 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] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 10.94s
[INFO] running `Command { std: "docker" "inspect" "97450223203ae113ad15f29cd32c8483e67cb33984af1fe8c4d9a863f49ca8e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "97450223203ae113ad15f29cd32c8483e67cb33984af1fe8c4d9a863f49ca8e4", kill_on_drop: false }`
[INFO] [stdout] 97450223203ae113ad15f29cd32c8483e67cb33984af1fe8c4d9a863f49ca8e4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a1a1ba88f1c2fccde37c19aff46376cf1490f4905ee54e3c7c225d4e45389d2c
[INFO] running `Command { std: "docker" "start" "-a" "a1a1ba88f1c2fccde37c19aff46376cf1490f4905ee54e3c7c225d4e45389d2c", kill_on_drop: false }`
[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: 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: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: `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: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] [stderr]    Compiling merklebtree v0.1.5 (/opt/rustwide/workdir)
[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: 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: 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: `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: `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: 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: 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: 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: 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: 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: `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: `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::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: `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: 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: 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: 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_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 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: 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: `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: 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]    --> 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 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 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: 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: 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: 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: 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: 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: 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: 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: 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_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: `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: 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: 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_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: 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_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_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: 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: 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: 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: 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: 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: 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: 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_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_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_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: 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: 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: 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_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_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_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: 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: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_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: 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_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: 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_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: 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: 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_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_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_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_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: 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: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: `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: 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]    --> 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: 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: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 46 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.85s
[INFO] running `Command { std: "docker" "inspect" "a1a1ba88f1c2fccde37c19aff46376cf1490f4905ee54e3c7c225d4e45389d2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a1a1ba88f1c2fccde37c19aff46376cf1490f4905ee54e3c7c225d4e45389d2c", kill_on_drop: false }`
[INFO] [stdout] a1a1ba88f1c2fccde37c19aff46376cf1490f4905ee54e3c7c225d4e45389d2c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 064a9ce0252c24a5186ce3f2bde2e737cfce3c903fe54395d3d801a567fa475c
[INFO] running `Command { std: "docker" "start" "-a" "064a9ce0252c24a5186ce3f2bde2e737cfce3c903fe54395d3d801a567fa475c", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `core::borrow::BorrowMut`
[INFO] [stderr]  --> src/node.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use core::borrow::BorrowMut;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::BufRead`
[INFO] [stderr]  --> src/node.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::BufRead;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/node.rs:352:8
[INFO] [stderr]     |
[INFO] [stderr] 352 |     if (node_id == -1) {
[INFO] [stderr]     |        ^             ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 352 -     if (node_id == -1) {
[INFO] [stderr] 352 +     if node_id == -1 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `is_leaf`
[INFO] [stderr]  --> src/merklebtree.rs:3:35
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::node::{calculate_hash, is_leaf};
[INFO] [stderr]   |                                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stderr]  --> src/merklebtree.rs:6:20
[INFO] [stderr]   |
[INFO] [stderr] 6 | use core::borrow::{Borrow, BorrowMut};
[INFO] [stderr]   |                    ^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stderr]  --> src/iterator.rs:5:13
[INFO] [stderr]   |
[INFO] [stderr] 5 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `position` should have an upper camel case name
[INFO] [stderr]  --> src/iterator.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub enum position {
[INFO] [stderr]   |          ^^^^^^^^ help: convert the identifier to upper camel case: `Position`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `begin` should have an upper camel case name
[INFO] [stderr]  --> src/iterator.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     begin,
[INFO] [stderr]   |     ^^^^^ help: convert the identifier to upper camel case: `Begin`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `between` should have an upper camel case name
[INFO] [stderr]  --> src/iterator.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     between,
[INFO] [stderr]   |     ^^^^^^^ help: convert the identifier to upper camel case: `Between`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `end` should have an upper camel case name
[INFO] [stderr]   --> src/iterator.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     end,
[INFO] [stderr]    |     ^^^ help: convert the identifier to upper camel case: `End`
[INFO] [stderr] 
[INFO] [stderr] warning: type `btree_iterator` should have an upper camel case name
[INFO] [stderr]   --> src/iterator.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct btree_iterator<'a, T>
[INFO] [stderr]    |            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BtreeIterator`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/sgxdb.rs:352:8
[INFO] [stderr]     |
[INFO] [stderr] 352 |     if (node_id == -1) {
[INFO] [stderr]     |        ^             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 352 -     if (node_id == -1) {
[INFO] [stderr] 352 +     if node_id == -1 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/node.rs:100:9
[INFO] [stderr]     |
[INFO] [stderr] 100 |     let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[INFO] [stderr]     |         ----^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/node.rs:472:13
[INFO] [stderr]     |
[INFO] [stderr] 472 |         for i in 0..right_sibling_node.content.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/node.rs:478:13
[INFO] [stderr]     |
[INFO] [stderr] 478 |         for i in 0..right_sibling_node.children_id.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/node.rs:507:13
[INFO] [stderr]     |
[INFO] [stderr] 507 |         for i in 0..left_sibling_node.content.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/node.rs:514:13
[INFO] [stderr]     |
[INFO] [stderr] 514 |         for i in 0..left_sibling_node.children_id.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/node.rs:356:9
[INFO] [stderr]     |
[INFO] [stderr] 356 |     let mut node = nodes.nodes_map.get(&node_id).unwrap();
[INFO] [stderr]     |         ----^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/node.rs:594:16
[INFO] [stderr]     |
[INFO] [stderr] 594 |             Ok(mut t) => {
[INFO] [stderr]     |                ----^
[INFO] [stderr]     |                |
[INFO] [stderr]     |                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `j`
[INFO] [stderr]    --> src/merklebtree.rs:107:17
[INFO] [stderr]     |
[INFO] [stderr] 107 |         for (i, j) in self.nodes_map.iter() {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_in_clone`
[INFO] [stderr]    --> src/merklebtree.rs:149:21
[INFO] [stderr]     |
[INFO] [stderr] 149 |                 let node_in_clone = nodes_clone.nodes_map.get(&node.node_id).unwrap();
[INFO] [stderr]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_in_clone`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:168:13
[INFO] [stderr]     |
[INFO] [stderr] 168 |         let mut tree = MerkleBTree {
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:181:13
[INFO] [stderr]     |
[INFO] [stderr] 181 |         let mut tree = MerkleBTree {
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:211:17
[INFO] [stderr]     |
[INFO] [stderr] 211 |             let mut pre_not_existed = node::insert(a, value, nodes.m, nodes);
[INFO] [stderr]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:242:17
[INFO] [stderr]     |
[INFO] [stderr] 242 |             let mut pre_not_existed = clone_insert(a, value, nodes.m, nodes, &mut clone_nodes);
[INFO] [stderr]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:429:31
[INFO] [stderr]     |
[INFO] [stderr] 429 |     pub fn leftItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stderr]     |                               ----^^^^^^^
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:437:17
[INFO] [stderr]     |
[INFO] [stderr] 437 |             let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[INFO] [stderr]     |                 ----^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:462:32
[INFO] [stderr]     |
[INFO] [stderr] 462 |     pub fn rightItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stderr]     |                                ----^^^^^^^
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:470:17
[INFO] [stderr]     |
[INFO] [stderr] 470 |             let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[INFO] [stderr]     |                 ----^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `current_node`
[INFO] [stderr]    --> src/iterator.rs:280:29
[INFO] [stderr]     |
[INFO] [stderr] 280 |                         let current_node = btree_iterator
[INFO] [stderr]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `current_node`
[INFO] [stderr]    --> src/iterator.rs:297:29
[INFO] [stderr]     |
[INFO] [stderr] 297 |                         let current_node = btree_iterator
[INFO] [stderr]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/iterator.rs:321:5
[INFO] [stderr]     |
[INFO] [stderr] 321 |     mut btree_iterator: &mut btree_iterator<T>,
[INFO] [stderr]     |     ----^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/iterator.rs:363:16
[INFO] [stderr]     |
[INFO] [stderr] 363 | pub fn item<T>(mut btree_iterator: &mut btree_iterator<T>) -> T
[INFO] [stderr]     |                ----^^^^^^^^^^^^^^
[INFO] [stderr]     |                |
[INFO] [stderr]     |                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/iterator.rs:370:20
[INFO] [stderr]     |
[INFO] [stderr] 370 | pub fn contents<T>(mut btree_iterator: &mut btree_iterator<T>) -> Vec<T>
[INFO] [stderr]     |                    ----^^^^^^^^^^^^^^
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/sgxdb.rs:282:9
[INFO] [stderr]     |
[INFO] [stderr] 282 |     let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[INFO] [stderr]     |         ----^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/sgxdb.rs:568:13
[INFO] [stderr]     |
[INFO] [stderr] 568 |         for i in 0..right_sibling_node.content.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/sgxdb.rs:579:13
[INFO] [stderr]     |
[INFO] [stderr] 579 |         for i in 0..right_sibling_node.children_id.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/sgxdb.rs:622:13
[INFO] [stderr]     |
[INFO] [stderr] 622 |         for i in 0..left_sibling_node.content.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/sgxdb.rs:634:13
[INFO] [stderr]     |
[INFO] [stderr] 634 |         for i in 0..left_sibling_node.children_id.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/sgxdb.rs:356:9
[INFO] [stderr]     |
[INFO] [stderr] 356 |     let mut node = nodes.nodes_map.get(&node_id).unwrap();
[INFO] [stderr]     |         ----^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/sgxdb.rs:773:16
[INFO] [stderr]     |
[INFO] [stderr] 773 |             Ok(mut t) => {
[INFO] [stderr]     |                ----^
[INFO] [stderr]     |                |
[INFO] [stderr]     |                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `verify_result`
[INFO] [stderr]    --> src/sgxdb.rs:822:13
[INFO] [stderr]     |
[INFO] [stderr] 822 |     let mut verify_result = false;
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verify_result`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/sgxdb.rs:822:9
[INFO] [stderr]     |
[INFO] [stderr] 822 |     let mut verify_result = false;
[INFO] [stderr]     |         ----^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/sgxdb.rs:826:9
[INFO] [stderr]     |
[INFO] [stderr] 826 |     let mut compute_hash;
[INFO] [stderr]     |         ----^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: method `leftItem` should have a snake case name
[INFO] [stderr]    --> src/merklebtree.rs:429:12
[INFO] [stderr]     |
[INFO] [stderr] 429 |     pub fn leftItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stderr]     |            ^^^^^^^^ help: convert the identifier to snake case: `left_item`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `rightItem` should have a snake case name
[INFO] [stderr]    --> src/merklebtree.rs:462:12
[INFO] [stderr]     |
[INFO] [stderr] 462 |     pub fn rightItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stderr]     |            ^^^^^^^^^ help: convert the identifier to snake case: `right_item`
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/iterator.rs:258:16
[INFO] [stderr]     |
[INFO] [stderr] 258 |             if index - 1 >= 0 {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/iterator.rs:285:28
[INFO] [stderr]     |
[INFO] [stderr] 285 |                         if e - 1 >= 0 {
[INFO] [stderr]     |                            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/iterator.rs:302:28
[INFO] [stderr]     |
[INFO] [stderr] 302 |                         if e - 1 >= 0 {
[INFO] [stderr]     |                            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `merklebtree` (lib) generated 49 warnings (run `cargo fix --lib -p merklebtree` to apply 39 suggestions)
[INFO] [stderr] warning: `merklebtree` (lib test) generated 49 warnings (49 duplicates)
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]   --> examples/test_sgxdb.rs:66:14
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> examples/test_sgxdb.rs:66:23
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `found`
[INFO] [stderr]   --> examples/test_sgxdb.rs:66:30
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]   --> examples/test_sgxdb.rs:75:14
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> examples/test_sgxdb.rs:75:23
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/test_sgxdb.rs:49:9
[INFO] [stderr]    |
[INFO] [stderr] 49 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `verify_result`
[INFO] [stderr]    --> examples/test_sgxdb.rs:155:13
[INFO] [stderr]     |
[INFO] [stderr] 155 |     let mut verify_result = false;
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verify_result`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/test_sgxdb.rs:155:9
[INFO] [stderr]     |
[INFO] [stderr] 155 |     let mut verify_result = false;
[INFO] [stderr]     |         ----^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/test_sgxdb.rs:159:9
[INFO] [stderr]     |
[INFO] [stderr] 159 |     let mut compute_hash;
[INFO] [stderr]     |         ----^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_subnodes_nodemap` is never used
[INFO] [stderr]    --> examples/test_sgxdb.rs:186:4
[INFO] [stderr]     |
[INFO] [stderr] 186 | fn print_subnodes_nodemap<T>(subnodes: &mut Nodes<T>)
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MerkleBTree`
[INFO] [stderr]  --> tests/utils.rs:1:32
[INFO] [stderr]   |
[INFO] [stderr] 1 | use merklebtree::merklebtree::{MerkleBTree, Nodes};
[INFO] [stderr]   |                                ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `merklebtree::node::Node`
[INFO] [stderr]  --> tests/utils.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use merklebtree::node::Node;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> tests/utils.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ring::digest::Digest`
[INFO] [stderr]   --> tests/utils.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use ring::digest::Digest;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `merklebtree::traits::CalculateHash`
[INFO] [stderr]  --> tests/test_persistence.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use merklebtree::traits::CalculateHash;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde`
[INFO] [stderr]  --> tests/test_persistence.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use serde;
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> tests/test_persistence.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_persistence.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> tests/test_persistence.rs:118:9
[INFO] [stderr]     |
[INFO] [stderr] 118 |     for i in 0..vec.len() {
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `j`
[INFO] [stderr]    --> tests/test_persistence.rs:120:13
[INFO] [stderr]     |
[INFO] [stderr] 120 |         for j in 0..sub_vec.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_persistence.rs:147:9
[INFO] [stderr]     |
[INFO] [stderr] 147 |     let mut fin = BufReader::new(file);
[INFO] [stderr]     |         ----^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_valid_tree_node_item3` is never used
[INFO] [stderr]    --> tests/utils.rs:202:8
[INFO] [stderr]     |
[INFO] [stderr] 202 | pub fn assert_valid_tree_node_item3(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_valid_tree_node_item4` is never used
[INFO] [stderr]    --> tests/utils.rs:264:8
[INFO] [stderr]     |
[INFO] [stderr] 264 | pub fn assert_valid_tree_node_item4(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/test_persistence.rs:75:5
[INFO] [stderr]    |
[INFO] [stderr] 75 |     f.write_all(message.as_bytes());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 75 |     let _ = f.write_all(message.as_bytes());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/test_persistence.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     f.write_all(String::from("\n").as_bytes());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let _ = f.write_all(String::from("\n").as_bytes());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> tests/test_remove.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> tests/test_remove.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MerkleBTree`
[INFO] [stderr]  --> tests/utils.rs:1:32
[INFO] [stderr]   |
[INFO] [stderr] 1 | use merklebtree::merklebtree::{MerkleBTree, Nodes};
[INFO] [stderr]   |                                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_remove.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_remove.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_remove.rs:67:13
[INFO] [stderr]    |
[INFO] [stderr] 67 |         let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]    |             ----^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_remove.rs:91:13
[INFO] [stderr]    |
[INFO] [stderr] 91 |         let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]    |             ----^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:118:9
[INFO] [stderr]     |
[INFO] [stderr] 118 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:156:9
[INFO] [stderr]     |
[INFO] [stderr] 156 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:195:9
[INFO] [stderr]     |
[INFO] [stderr] 195 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:240:9
[INFO] [stderr]     |
[INFO] [stderr] 240 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:340:9
[INFO] [stderr]     |
[INFO] [stderr] 340 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:396:17
[INFO] [stderr]     |
[INFO] [stderr] 396 |             let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |                 ----^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:423:17
[INFO] [stderr]     |
[INFO] [stderr] 423 |             let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |                 ----^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_valid_tree_node` is never used
[INFO] [stderr]    --> tests/utils.rs:159:8
[INFO] [stderr]     |
[INFO] [stderr] 159 | pub fn assert_valid_tree_node(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> tests/test_put.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> tests/test_put.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ring::digest`
[INFO] [stderr]  --> tests/test_put.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use ring::digest;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_put.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_put.rs:77:9
[INFO] [stderr]    |
[INFO] [stderr] 77 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_put.rs:205:9
[INFO] [stderr]     |
[INFO] [stderr] 205 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_put.rs:296:9
[INFO] [stderr]     |
[INFO] [stderr] 296 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_put.rs:378:9
[INFO] [stderr]     |
[INFO] [stderr] 378 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_put.rs:478:9
[INFO] [stderr]     |
[INFO] [stderr] 478 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]    --> tests/test_put.rs:630:9
[INFO] [stderr]     |
[INFO] [stderr] 630 |     let item = Item2 { key: 1, value: 2 };
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_valid_tree_node_item4` is never used
[INFO] [stderr]    --> tests/utils.rs:264:8
[INFO] [stderr]     |
[INFO] [stderr] 264 | pub fn assert_valid_tree_node_item4(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ring::digest::Digest`
[INFO] [stderr]  --> examples/test_merkle.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ring::digest::Digest;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stderr]  --> tests/test_branch_clone.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> tests/test_branch_clone.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ring::digest`
[INFO] [stderr]   --> tests/test_branch_clone.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use ring::digest;
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]   --> tests/test_branch_clone.rs:50:10
[INFO] [stderr]    |
[INFO] [stderr] 50 |     let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> tests/test_branch_clone.rs:50:19
[INFO] [stderr]    |
[INFO] [stderr] 50 |     let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `found`
[INFO] [stderr]   --> tests/test_branch_clone.rs:50:26
[INFO] [stderr]    |
[INFO] [stderr] 50 |     let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> tests/test_branch_clone.rs:58:10
[INFO] [stderr]    |
[INFO] [stderr] 58 |     let (value, found) = subtree.get(Item3 { key: -4 }, &mut subnodes);
[INFO] [stderr]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_branch_clone.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_branch_clone.rs:64:9
[INFO] [stderr]    |
[INFO] [stderr] 64 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:158:9
[INFO] [stderr]     |
[INFO] [stderr] 158 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]    --> tests/test_branch_clone.rs:222:14
[INFO] [stderr]     |
[INFO] [stderr] 222 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> tests/test_branch_clone.rs:222:23
[INFO] [stderr]     |
[INFO] [stderr] 222 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `found`
[INFO] [stderr]    --> tests/test_branch_clone.rs:222:30
[INFO] [stderr]     |
[INFO] [stderr] 222 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]    --> tests/test_branch_clone.rs:227:14
[INFO] [stderr]     |
[INFO] [stderr] 227 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> tests/test_branch_clone.rs:227:23
[INFO] [stderr]     |
[INFO] [stderr] 227 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:205:9
[INFO] [stderr]     |
[INFO] [stderr] 205 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]    --> tests/test_branch_clone.rs:253:14
[INFO] [stderr]     |
[INFO] [stderr] 253 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> tests/test_branch_clone.rs:253:23
[INFO] [stderr]     |
[INFO] [stderr] 253 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `found`
[INFO] [stderr]    --> tests/test_branch_clone.rs:253:30
[INFO] [stderr]     |
[INFO] [stderr] 253 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]    --> tests/test_branch_clone.rs:258:14
[INFO] [stderr]     |
[INFO] [stderr] 258 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> tests/test_branch_clone.rs:258:23
[INFO] [stderr]     |
[INFO] [stderr] 258 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:236:9
[INFO] [stderr]     |
[INFO] [stderr] 236 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:265:9
[INFO] [stderr]     |
[INFO] [stderr] 265 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:304:9
[INFO] [stderr]     |
[INFO] [stderr] 304 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:335:9
[INFO] [stderr]     |
[INFO] [stderr] 335 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `merklebtree::node::Node`
[INFO] [stderr]  --> examples/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use merklebtree::node::Node;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> examples/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `find_id`
[INFO] [stderr]    --> examples/main.rs:111:9
[INFO] [stderr]     |
[INFO] [stderr] 111 |     let find_id = find_nodeid_by_branch(&branch, &nodes);
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_find_id`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/main.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 |     let mut branch = vec![0, 0, 0, 2];
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node`
[INFO] [stderr]    --> examples/main.rs:140:9
[INFO] [stderr]     |
[INFO] [stderr] 140 |     let node = nodes.nodes_map.get(&1).unwrap();
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stderr] 
[INFO] [stderr] warning: function `test2` is never used
[INFO] [stderr]    --> examples/main.rs:114:4
[INFO] [stderr]     |
[INFO] [stderr] 114 | fn test2() {
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> examples/test_btree.rs:181:13
[INFO] [stderr]     |
[INFO] [stderr] 181 |     let mut count = 0;
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/test_btree.rs:112:9
[INFO] [stderr]     |
[INFO] [stderr] 112 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/test_btree.rs:181:9
[INFO] [stderr]     |
[INFO] [stderr] 181 |     let mut count = 0;
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> tests/test_iterator.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> tests/test_iterator.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `actual_value` is never read
[INFO] [stderr]   --> tests/test_iterator.rs:24:13
[INFO] [stderr]    |
[INFO] [stderr] 24 |     let mut actual_value = 0;
[INFO] [stderr]    |             ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `expect_value` is never read
[INFO] [stderr]   --> tests/test_iterator.rs:25:13
[INFO] [stderr]    |
[INFO] [stderr] 25 |     let mut expect_value = 0;
[INFO] [stderr]    |             ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_iterator.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `actual_value` is never read
[INFO] [stderr]   --> tests/test_iterator.rs:90:13
[INFO] [stderr]    |
[INFO] [stderr] 90 |     let mut actual_value = 0;
[INFO] [stderr]    |             ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_iterator.rs:80:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:181:9
[INFO] [stderr]     |
[INFO] [stderr] 181 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:283:9
[INFO] [stderr]     |
[INFO] [stderr] 283 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:305:9
[INFO] [stderr]     |
[INFO] [stderr] 305 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:413:13
[INFO] [stderr]     |
[INFO] [stderr] 406 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 413 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:327:9
[INFO] [stderr]     |
[INFO] [stderr] 327 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:403:13
[INFO] [stderr]     |
[INFO] [stderr] 403 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:516:13
[INFO] [stderr]     |
[INFO] [stderr] 509 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 516 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> tests/test_iterator.rs:509:13
[INFO] [stderr]     |
[INFO] [stderr] 509 |             count => {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:431:9
[INFO] [stderr]     |
[INFO] [stderr] 431 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:506:13
[INFO] [stderr]     |
[INFO] [stderr] 506 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:586:13
[INFO] [stderr]     |
[INFO] [stderr] 579 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 586 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:535:9
[INFO] [stderr]     |
[INFO] [stderr] 535 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:576:13
[INFO] [stderr]     |
[INFO] [stderr] 576 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:654:13
[INFO] [stderr]     |
[INFO] [stderr] 647 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 654 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> tests/test_iterator.rs:647:13
[INFO] [stderr]     |
[INFO] [stderr] 647 |             count => {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:604:9
[INFO] [stderr]     |
[INFO] [stderr] 604 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:644:13
[INFO] [stderr]     |
[INFO] [stderr] 644 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:710:13
[INFO] [stderr]     |
[INFO] [stderr] 703 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 710 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:673:9
[INFO] [stderr]     |
[INFO] [stderr] 673 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:700:13
[INFO] [stderr]     |
[INFO] [stderr] 700 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:764:13
[INFO] [stderr]     |
[INFO] [stderr] 757 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 764 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> tests/test_iterator.rs:757:13
[INFO] [stderr]     |
[INFO] [stderr] 757 |             count => {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:728:9
[INFO] [stderr]     |
[INFO] [stderr] 728 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:754:13
[INFO] [stderr]     |
[INFO] [stderr] 754 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:824:13
[INFO] [stderr]     |
[INFO] [stderr] 817 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 824 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:783:9
[INFO] [stderr]     |
[INFO] [stderr] 783 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:814:13
[INFO] [stderr]     |
[INFO] [stderr] 814 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:882:13
[INFO] [stderr]     |
[INFO] [stderr] 875 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 882 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> tests/test_iterator.rs:875:13
[INFO] [stderr]     |
[INFO] [stderr] 875 |             count => {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:842:9
[INFO] [stderr]     |
[INFO] [stderr] 842 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:872:13
[INFO] [stderr]     |
[INFO] [stderr] 872 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:901:9
[INFO] [stderr]     |
[INFO] [stderr] 901 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:968:9
[INFO] [stderr]     |
[INFO] [stderr] 968 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> tests/test_iterator.rs:1030:9
[INFO] [stderr]      |
[INFO] [stderr] 1030 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]      |         ----^^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> tests/test_iterator.rs:1082:9
[INFO] [stderr]      |
[INFO] [stderr] 1082 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]      |         ----^^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stderr]  --> tests/test_sgxdb_verification.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> tests/test_sgxdb_verification.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ring::digest`
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use ring::digest;
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:77:14
[INFO] [stderr]    |
[INFO] [stderr] 77 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:77:23
[INFO] [stderr]    |
[INFO] [stderr] 77 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `found`
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:77:30
[INFO] [stderr]    |
[INFO] [stderr] 77 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:83:14
[INFO] [stderr]    |
[INFO] [stderr] 83 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:83:23
[INFO] [stderr]    |
[INFO] [stderr] 83 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `root_node` is never read
[INFO] [stderr]    --> tests/test_sgxdb_verification.rs:107:13
[INFO] [stderr]     |
[INFO] [stderr] 107 |             root_node = Node::new_empty(0);
[INFO] [stderr]     |             ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 18 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_subnodes_nodemap_existed` is never used
[INFO] [stderr]    --> tests/test_sgxdb_verification.rs:114:4
[INFO] [stderr]     |
[INFO] [stderr] 114 | fn print_subnodes_nodemap_existed<T>(subnodes: &mut Nodes<T>)
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_subnodes_nodemap` is never used
[INFO] [stderr]    --> tests/test_sgxdb_verification.rs:178:4
[INFO] [stderr]     |
[INFO] [stderr] 178 | fn print_subnodes_nodemap<T>(subnodes: &mut Nodes<T>)
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `merklebtree` (example "test_sgxdb") generated 10 warnings (run `cargo fix --example "test_sgxdb"` to apply 9 suggestions)
[INFO] [stderr] warning: `merklebtree` (test "test_persistence") generated 15 warnings (run `cargo fix --test "test_persistence"` to apply 11 suggestions)
[INFO] [stderr] warning: `merklebtree` (test "test_remove") generated 19 warnings (4 duplicates) (run `cargo fix --test "test_remove"` to apply 14 suggestions)
[INFO] [stderr] warning: `merklebtree` (test "test_put") generated 15 warnings (4 duplicates) (run `cargo fix --test "test_put"` to apply 10 suggestions)
[INFO] [stderr] warning: `merklebtree` (example "test_merkle") generated 1 warning (run `cargo fix --example "test_merkle"` to apply 1 suggestion)
[INFO] [stderr] warning: `merklebtree` (test "test_branch_clone") generated 31 warnings (5 duplicates) (run `cargo fix --test "test_branch_clone"` to apply 26 suggestions)
[INFO] [stderr] warning: `merklebtree` (example "main") generated 6 warnings (run `cargo fix --example "main"` to apply 5 suggestions)
[INFO] [stderr] warning: `merklebtree` (example "test_btree") generated 3 warnings (run `cargo fix --example "test_btree"` to apply 3 suggestions)
[INFO] [stderr] warning: `merklebtree` (test "test_iterator") generated 46 warnings (4 duplicates) (run `cargo fix --test "test_iterator"` to apply 31 suggestions)
[INFO] [stderr] warning: `merklebtree` (test "test_sgxdb_verification") generated 16 warnings (4 duplicates) (run `cargo fix --test "test_sgxdb_verification"` to apply 9 suggestions)
[INFO] [stderr] warning: `merklebtree` (test "utils") generated 4 warnings (4 duplicates)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/merklebtree-b2dc524e77431793)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_branch_clone.rs (/opt/rustwide/target/debug/deps/test_branch_clone-8cb525e021881625)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test test_sgxdb_insert_clone_from_root ... ok
[INFO] [stdout] test test_clone_search_subnode_from_root ... ok
[INFO] [stdout] test test_sgxdb_remove_clone_from_root ... ok
[INFO] [stdout] test test_sgxdb_put_clone_from_root ... ok
[INFO] [stdout] test test_verify_subnodes_of_get ... ok
[INFO] [stdout] test test_batch_remove_clone_subnode_from_root ... ok
[INFO] [stdout] test test_batch_get_clone_subnode_from_root ... ok
[INFO] [stdout] test test_batch_put_clone_subnode_from_root ... ok
[INFO] [stdout] test test_batch_insert_clone_subnode_from_root ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.84s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_iterator.rs (/opt/rustwide/target/debug/deps/test_iterator-0d308ce6f4e759ef)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test test_btree_iterator_2_next ... ok
[INFO] [stdout] test test_btree_iterator_2_prev ... ok
[INFO] [stdout] test test_btree_height ... ok
[INFO] [stdout] test test_btree_iterator_1_prev ... ok
[INFO] [stdout] test test_btree_iterator_1_next ... ok
[INFO] [stdout] test test_btree_iterator_3_next ... ok
[INFO] [stdout] test test_btree_iterator_3_prev ... ok
[INFO] [stdout] test test_btree_iterator_begin ... ok
[INFO] [stdout] test test_btree_iterator_4_prev ... ok
[INFO] [stdout] test test_btree_iterator_end ... ok
[INFO] [stdout] test test_btree_iterator_last ... ok
[INFO] [stdout] test test_btree_iterator_4_next ... ok
[INFO] [stdout] test test_btree_iterator_first ... ok
[INFO] [stdout] test test_btree_iterator_next_on_empty ... ok
[INFO] [stdout] test test_btree_iterator_prev_on_empty ... ok
[INFO] [stdout] test test_btree_iterator_values_and_keys ... ok
[INFO] [stdout] test test_btree_left_and_right ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_persistence.rs (/opt/rustwide/target/debug/deps/test_persistence-8973f66f428e56f3)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_btree_persistence_1 ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_btree_persistence_1 stdout ----
[INFO] [stdout] Item2 { key: 4, value: 2 }
[INFO] [stdout] Item2 { key: 2, value: 1 }
[INFO] [stdout] Item2 { key: 6, value: 2 }
[INFO] [stdout] Item2 { key: 1, value: 0 }
[INFO] [stdout] Item2 { key: 3, value: 2 }
[INFO] [stdout] Item2 { key: 5, value: 2 }
[INFO] [stdout] Item2 { key: 7, value: 2 }
[INFO] [stdout] thread 'test_btree_persistence_1' panicked at tests/test_persistence.rs:73:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5627081034bc - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x5627081034bc - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5627081034bc - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x5627081034bc - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x56270812d0e0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x56270812d0e0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x562708100e6f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x5627081032a4 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5627081032a4 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x562708104f67 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x562708104c53 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x5627080befb7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x5627080befb7 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x562708105578 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x562708105578 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x5627081052ce - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x562708103986 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x562708105032 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x56270805dea5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x56270805e433 - core::result::unwrap_failed::hddb4fea594200c52
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1653:5
[INFO] [stdout]   20:     0x5627080785ab - core::result::Result<T,E>::unwrap::h93ef5701f3bb62a1
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1077:23
[INFO] [stdout]   21:     0x562708078d9b - test_persistence::write_msg::hfe8318c0f68fead2
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_persistence.rs:69:17
[INFO] [stdout]   22:     0x56270807b32e - test_persistence::test_btree_persistence_1::h6b77eb49f74afedc
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_persistence.rs:52:5
[INFO] [stdout]   23:     0x56270807a557 - test_persistence::test_btree_persistence_1::{{closure}}::h82a9b507c68b9093
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_persistence.rs:15:30
[INFO] [stdout]   24:     0x562708077076 - core::ops::function::FnOnce::call_once::h974561f4b6ffd83f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5627080c460f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5627080c460f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   27:     0x5627080c3625 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   28:     0x5627080c3625 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x5627080c3625 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   30:     0x5627080c3625 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   31:     0x5627080c3625 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   32:     0x5627080c3625 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   33:     0x5627080c3625 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   34:     0x56270808b8e6 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   35:     0x56270808b8e6 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   36:     0x562708090997 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   37:     0x562708090997 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x562708090997 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   39:     0x562708090997 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   40:     0x562708090997 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   41:     0x562708090997 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   42:     0x562708090997 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x56270810a0e5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   44:     0x56270810a0e5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   45:     0x56270810a0e5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7ff781ea2ac3 - <unknown>
[INFO] [stdout]   47:     0x7ff781f33bf4 - __clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_btree_persistence_1
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test test_persistence`
[INFO] running `Command { std: "docker" "inspect" "064a9ce0252c24a5186ce3f2bde2e737cfce3c903fe54395d3d801a567fa475c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "064a9ce0252c24a5186ce3f2bde2e737cfce3c903fe54395d3d801a567fa475c", kill_on_drop: false }`
[INFO] [stdout] 064a9ce0252c24a5186ce3f2bde2e737cfce3c903fe54395d3d801a567fa475c
[INFO] testing merklebtree-0.1.5 against beta-2023-12-22 for beta-1.76-1
[INFO] extracting crate merklebtree 0.1.5 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate merklebtree 0.1.5 on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "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-5-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" "+beta-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+beta-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 31ce2236e316e6061dbc6318382351bbde657bcd381615e1c52d717f463b6925
[INFO] running `Command { std: "docker" "start" "-a" "31ce2236e316e6061dbc6318382351bbde657bcd381615e1c52d717f463b6925", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "31ce2236e316e6061dbc6318382351bbde657bcd381615e1c52d717f463b6925", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31ce2236e316e6061dbc6318382351bbde657bcd381615e1c52d717f463b6925", kill_on_drop: false }`
[INFO] [stdout] 31ce2236e316e6061dbc6318382351bbde657bcd381615e1c52d717f463b6925
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c0e67f7b80ad6331e269acfd740a2052a4eb956bc5c878f2b1c3a0945f388caf
[INFO] running `Command { std: "docker" "start" "-a" "c0e67f7b80ad6331e269acfd740a2052a4eb956bc5c878f2b1c3a0945f388caf", 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]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]    Compiling untrusted v0.7.0
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling 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]    Compiling serde_json v1.0.41
[INFO] [stderr]    Compiling 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: 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: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: `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: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: 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] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 14.38s
[INFO] running `Command { std: "docker" "inspect" "c0e67f7b80ad6331e269acfd740a2052a4eb956bc5c878f2b1c3a0945f388caf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c0e67f7b80ad6331e269acfd740a2052a4eb956bc5c878f2b1c3a0945f388caf", kill_on_drop: false }`
[INFO] [stdout] c0e67f7b80ad6331e269acfd740a2052a4eb956bc5c878f2b1c3a0945f388caf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 380ab29bc3fddeeaa9aacb46bca4f872abfceeeb31e1009b65cbc9943736525e
[INFO] running `Command { std: "docker" "start" "-a" "380ab29bc3fddeeaa9aacb46bca4f872abfceeeb31e1009b65cbc9943736525e", kill_on_drop: false }`
[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: 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: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: `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: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] [stderr]    Compiling merklebtree v0.1.5 (/opt/rustwide/workdir)
[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: 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: `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: `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: 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: `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: `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 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: `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: `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: `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 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: 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 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 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: 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: 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]   --> 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]    --> 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: 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: 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: 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]    --> 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: 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_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: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: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: 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: 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: 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: 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: 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: 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: 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_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_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_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: 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: 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: 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: 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_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 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: 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_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: 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_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: 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: 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: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: `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]   --> 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: 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: 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: 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_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: 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]    --> 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]    --> 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_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: 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_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: 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]    --> 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: 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: 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: 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: `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: `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: 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]    --> 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_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: 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]    --> 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]    --> 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_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: 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: 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: 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: 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: 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: 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: 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: 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: 1 warning emitted
[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_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: 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_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_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: 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: 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: 4 warnings emitted
[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: 49 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 46 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 31 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.47s
[INFO] running `Command { std: "docker" "inspect" "380ab29bc3fddeeaa9aacb46bca4f872abfceeeb31e1009b65cbc9943736525e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "380ab29bc3fddeeaa9aacb46bca4f872abfceeeb31e1009b65cbc9943736525e", kill_on_drop: false }`
[INFO] [stdout] 380ab29bc3fddeeaa9aacb46bca4f872abfceeeb31e1009b65cbc9943736525e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0aa2fffe7078c3ded9b33a0514e1a1153f188cff6c3a78a25804acee19f9dfe6
[INFO] running `Command { std: "docker" "start" "-a" "0aa2fffe7078c3ded9b33a0514e1a1153f188cff6c3a78a25804acee19f9dfe6", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `core::borrow::BorrowMut`
[INFO] [stderr]  --> src/node.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use core::borrow::BorrowMut;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::BufRead`
[INFO] [stderr]  --> src/node.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::BufRead;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/node.rs:352:8
[INFO] [stderr]     |
[INFO] [stderr] 352 |     if (node_id == -1) {
[INFO] [stderr]     |        ^             ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 352 -     if (node_id == -1) {
[INFO] [stderr] 352 +     if node_id == -1 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `is_leaf`
[INFO] [stderr]  --> src/merklebtree.rs:3:35
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::node::{calculate_hash, is_leaf};
[INFO] [stderr]   |                                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BorrowMut`, `Borrow`
[INFO] [stderr]  --> src/merklebtree.rs:6:20
[INFO] [stderr]   |
[INFO] [stderr] 6 | use core::borrow::{Borrow, BorrowMut};
[INFO] [stderr]   |                    ^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stderr]  --> src/iterator.rs:5:13
[INFO] [stderr]   |
[INFO] [stderr] 5 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `position` should have an upper camel case name
[INFO] [stderr]  --> src/iterator.rs:7:10
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub enum position {
[INFO] [stderr]   |          ^^^^^^^^ help: convert the identifier to upper camel case: `Position`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `begin` should have an upper camel case name
[INFO] [stderr]  --> src/iterator.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     begin,
[INFO] [stderr]   |     ^^^^^ help: convert the identifier to upper camel case: `Begin`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `between` should have an upper camel case name
[INFO] [stderr]  --> src/iterator.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     between,
[INFO] [stderr]   |     ^^^^^^^ help: convert the identifier to upper camel case: `Between`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `end` should have an upper camel case name
[INFO] [stderr]   --> src/iterator.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     end,
[INFO] [stderr]    |     ^^^ help: convert the identifier to upper camel case: `End`
[INFO] [stderr] 
[INFO] [stderr] warning: type `btree_iterator` should have an upper camel case name
[INFO] [stderr]   --> src/iterator.rs:13:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub struct btree_iterator<'a, T>
[INFO] [stderr]    |            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BtreeIterator`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/sgxdb.rs:352:8
[INFO] [stderr]     |
[INFO] [stderr] 352 |     if (node_id == -1) {
[INFO] [stderr]     |        ^             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 352 -     if (node_id == -1) {
[INFO] [stderr] 352 +     if node_id == -1 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/node.rs:100:9
[INFO] [stderr]     |
[INFO] [stderr] 100 |     let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[INFO] [stderr]     |         ----^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/node.rs:472:13
[INFO] [stderr]     |
[INFO] [stderr] 472 |         for i in 0..right_sibling_node.content.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/node.rs:478:13
[INFO] [stderr]     |
[INFO] [stderr] 478 |         for i in 0..right_sibling_node.children_id.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/node.rs:507:13
[INFO] [stderr]     |
[INFO] [stderr] 507 |         for i in 0..left_sibling_node.content.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/node.rs:514:13
[INFO] [stderr]     |
[INFO] [stderr] 514 |         for i in 0..left_sibling_node.children_id.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/node.rs:356:9
[INFO] [stderr]     |
[INFO] [stderr] 356 |     let mut node = nodes.nodes_map.get(&node_id).unwrap();
[INFO] [stderr]     |         ----^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/node.rs:594:16
[INFO] [stderr]     |
[INFO] [stderr] 594 |             Ok(mut t) => {
[INFO] [stderr]     |                ----^
[INFO] [stderr]     |                |
[INFO] [stderr]     |                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `j`
[INFO] [stderr]    --> src/merklebtree.rs:107:17
[INFO] [stderr]     |
[INFO] [stderr] 107 |         for (i, j) in self.nodes_map.iter() {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_in_clone`
[INFO] [stderr]    --> src/merklebtree.rs:149:21
[INFO] [stderr]     |
[INFO] [stderr] 149 |                 let node_in_clone = nodes_clone.nodes_map.get(&node.node_id).unwrap();
[INFO] [stderr]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_in_clone`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:168:13
[INFO] [stderr]     |
[INFO] [stderr] 168 |         let mut tree = MerkleBTree {
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:181:13
[INFO] [stderr]     |
[INFO] [stderr] 181 |         let mut tree = MerkleBTree {
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:211:17
[INFO] [stderr]     |
[INFO] [stderr] 211 |             let mut pre_not_existed = node::insert(a, value, nodes.m, nodes);
[INFO] [stderr]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:242:17
[INFO] [stderr]     |
[INFO] [stderr] 242 |             let mut pre_not_existed = clone_insert(a, value, nodes.m, nodes, &mut clone_nodes);
[INFO] [stderr]     |                 ----^^^^^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:429:31
[INFO] [stderr]     |
[INFO] [stderr] 429 |     pub fn leftItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stderr]     |                               ----^^^^^^^
[INFO] [stderr]     |                               |
[INFO] [stderr]     |                               help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:437:17
[INFO] [stderr]     |
[INFO] [stderr] 437 |             let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[INFO] [stderr]     |                 ----^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:462:32
[INFO] [stderr]     |
[INFO] [stderr] 462 |     pub fn rightItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stderr]     |                                ----^^^^^^^
[INFO] [stderr]     |                                |
[INFO] [stderr]     |                                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/merklebtree.rs:470:17
[INFO] [stderr]     |
[INFO] [stderr] 470 |             let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[INFO] [stderr]     |                 ----^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `current_node`
[INFO] [stderr]    --> src/iterator.rs:280:29
[INFO] [stderr]     |
[INFO] [stderr] 280 |                         let current_node = btree_iterator
[INFO] [stderr]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `current_node`
[INFO] [stderr]    --> src/iterator.rs:297:29
[INFO] [stderr]     |
[INFO] [stderr] 297 |                         let current_node = btree_iterator
[INFO] [stderr]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/iterator.rs:321:5
[INFO] [stderr]     |
[INFO] [stderr] 321 |     mut btree_iterator: &mut btree_iterator<T>,
[INFO] [stderr]     |     ----^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/iterator.rs:363:16
[INFO] [stderr]     |
[INFO] [stderr] 363 | pub fn item<T>(mut btree_iterator: &mut btree_iterator<T>) -> T
[INFO] [stderr]     |                ----^^^^^^^^^^^^^^
[INFO] [stderr]     |                |
[INFO] [stderr]     |                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/iterator.rs:370:20
[INFO] [stderr]     |
[INFO] [stderr] 370 | pub fn contents<T>(mut btree_iterator: &mut btree_iterator<T>) -> Vec<T>
[INFO] [stderr]     |                    ----^^^^^^^^^^^^^^
[INFO] [stderr]     |                    |
[INFO] [stderr]     |                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/sgxdb.rs:282:9
[INFO] [stderr]     |
[INFO] [stderr] 282 |     let mut node = nodes.nodes_map.remove(&node_id).unwrap();
[INFO] [stderr]     |         ----^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/sgxdb.rs:568:13
[INFO] [stderr]     |
[INFO] [stderr] 568 |         for i in 0..right_sibling_node.content.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/sgxdb.rs:579:13
[INFO] [stderr]     |
[INFO] [stderr] 579 |         for i in 0..right_sibling_node.children_id.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/sgxdb.rs:622:13
[INFO] [stderr]     |
[INFO] [stderr] 622 |         for i in 0..left_sibling_node.content.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/sgxdb.rs:634:13
[INFO] [stderr]     |
[INFO] [stderr] 634 |         for i in 0..left_sibling_node.children_id.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/sgxdb.rs:356:9
[INFO] [stderr]     |
[INFO] [stderr] 356 |     let mut node = nodes.nodes_map.get(&node_id).unwrap();
[INFO] [stderr]     |         ----^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/sgxdb.rs:773:16
[INFO] [stderr]     |
[INFO] [stderr] 773 |             Ok(mut t) => {
[INFO] [stderr]     |                ----^
[INFO] [stderr]     |                |
[INFO] [stderr]     |                help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `verify_result`
[INFO] [stderr]    --> src/sgxdb.rs:822:13
[INFO] [stderr]     |
[INFO] [stderr] 822 |     let mut verify_result = false;
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verify_result`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/sgxdb.rs:822:9
[INFO] [stderr]     |
[INFO] [stderr] 822 |     let mut verify_result = false;
[INFO] [stderr]     |         ----^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/sgxdb.rs:826:9
[INFO] [stderr]     |
[INFO] [stderr] 826 |     let mut compute_hash;
[INFO] [stderr]     |         ----^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: method `leftItem` should have a snake case name
[INFO] [stderr]    --> src/merklebtree.rs:429:12
[INFO] [stderr]     |
[INFO] [stderr] 429 |     pub fn leftItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stderr]     |            ^^^^^^^^ help: convert the identifier to snake case: `left_item`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `rightItem` should have a snake case name
[INFO] [stderr]    --> src/merklebtree.rs:462:12
[INFO] [stderr]     |
[INFO] [stderr] 462 |     pub fn rightItem<T>(&self, mut node_id: i32, nodes: &mut Nodes<T>) -> Option<T>
[INFO] [stderr]     |            ^^^^^^^^^ help: convert the identifier to snake case: `right_item`
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/iterator.rs:258:16
[INFO] [stderr]     |
[INFO] [stderr] 258 |             if index - 1 >= 0 {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/iterator.rs:285:28
[INFO] [stderr]     |
[INFO] [stderr] 285 |                         if e - 1 >= 0 {
[INFO] [stderr]     |                            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/iterator.rs:302:28
[INFO] [stderr]     |
[INFO] [stderr] 302 |                         if e - 1 >= 0 {
[INFO] [stderr]     |                            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `merklebtree` (lib) generated 49 warnings (run `cargo fix --lib -p merklebtree` to apply 39 suggestions)
[INFO] [stderr] warning: `merklebtree` (lib test) generated 49 warnings (49 duplicates)
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> tests/test_remove.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> tests/test_remove.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MerkleBTree`
[INFO] [stderr]  --> tests/utils.rs:1:32
[INFO] [stderr]   |
[INFO] [stderr] 1 | use merklebtree::merklebtree::{MerkleBTree, Nodes};
[INFO] [stderr]   |                                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `merklebtree::node::Node`
[INFO] [stderr]  --> tests/utils.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use merklebtree::node::Node;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> tests/utils.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ring::digest::Digest`
[INFO] [stderr]   --> tests/utils.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use ring::digest::Digest;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_remove.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_remove.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_remove.rs:67:13
[INFO] [stderr]    |
[INFO] [stderr] 67 |         let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]    |             ----^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_remove.rs:91:13
[INFO] [stderr]    |
[INFO] [stderr] 91 |         let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]    |             ----^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:118:9
[INFO] [stderr]     |
[INFO] [stderr] 118 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:156:9
[INFO] [stderr]     |
[INFO] [stderr] 156 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:195:9
[INFO] [stderr]     |
[INFO] [stderr] 195 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:240:9
[INFO] [stderr]     |
[INFO] [stderr] 240 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:340:9
[INFO] [stderr]     |
[INFO] [stderr] 340 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:396:17
[INFO] [stderr]     |
[INFO] [stderr] 396 |             let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |                 ----^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_remove.rs:423:17
[INFO] [stderr]     |
[INFO] [stderr] 423 |             let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |                 ----^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_valid_tree_node` is never used
[INFO] [stderr]    --> tests/utils.rs:159:8
[INFO] [stderr]     |
[INFO] [stderr] 159 | pub fn assert_valid_tree_node(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_valid_tree_node_item4` is never used
[INFO] [stderr]    --> tests/utils.rs:264:8
[INFO] [stderr]     |
[INFO] [stderr] 264 | pub fn assert_valid_tree_node_item4(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> tests/test_iterator.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> tests/test_iterator.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `actual_value` is never read
[INFO] [stderr]   --> tests/test_iterator.rs:24:13
[INFO] [stderr]    |
[INFO] [stderr] 24 |     let mut actual_value = 0;
[INFO] [stderr]    |             ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `expect_value` is never read
[INFO] [stderr]   --> tests/test_iterator.rs:25:13
[INFO] [stderr]    |
[INFO] [stderr] 25 |     let mut expect_value = 0;
[INFO] [stderr]    |             ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_iterator.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `actual_value` is never read
[INFO] [stderr]   --> tests/test_iterator.rs:90:13
[INFO] [stderr]    |
[INFO] [stderr] 90 |     let mut actual_value = 0;
[INFO] [stderr]    |             ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_iterator.rs:80:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:181:9
[INFO] [stderr]     |
[INFO] [stderr] 181 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:283:9
[INFO] [stderr]     |
[INFO] [stderr] 283 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:305:9
[INFO] [stderr]     |
[INFO] [stderr] 305 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:413:13
[INFO] [stderr]     |
[INFO] [stderr] 406 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 413 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:327:9
[INFO] [stderr]     |
[INFO] [stderr] 327 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:403:13
[INFO] [stderr]     |
[INFO] [stderr] 403 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:516:13
[INFO] [stderr]     |
[INFO] [stderr] 509 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 516 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> tests/test_iterator.rs:509:13
[INFO] [stderr]     |
[INFO] [stderr] 509 |             count => {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:431:9
[INFO] [stderr]     |
[INFO] [stderr] 431 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:506:13
[INFO] [stderr]     |
[INFO] [stderr] 506 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:586:13
[INFO] [stderr]     |
[INFO] [stderr] 579 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 586 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:535:9
[INFO] [stderr]     |
[INFO] [stderr] 535 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:576:13
[INFO] [stderr]     |
[INFO] [stderr] 576 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:654:13
[INFO] [stderr]     |
[INFO] [stderr] 647 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 654 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> tests/test_iterator.rs:647:13
[INFO] [stderr]     |
[INFO] [stderr] 647 |             count => {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:604:9
[INFO] [stderr]     |
[INFO] [stderr] 604 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:644:13
[INFO] [stderr]     |
[INFO] [stderr] 644 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:710:13
[INFO] [stderr]     |
[INFO] [stderr] 703 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 710 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:673:9
[INFO] [stderr]     |
[INFO] [stderr] 673 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:700:13
[INFO] [stderr]     |
[INFO] [stderr] 700 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:764:13
[INFO] [stderr]     |
[INFO] [stderr] 757 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 764 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> tests/test_iterator.rs:757:13
[INFO] [stderr]     |
[INFO] [stderr] 757 |             count => {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:728:9
[INFO] [stderr]     |
[INFO] [stderr] 728 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:754:13
[INFO] [stderr]     |
[INFO] [stderr] 754 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:824:13
[INFO] [stderr]     |
[INFO] [stderr] 817 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 824 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:783:9
[INFO] [stderr]     |
[INFO] [stderr] 783 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:814:13
[INFO] [stderr]     |
[INFO] [stderr] 814 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> tests/test_iterator.rs:882:13
[INFO] [stderr]     |
[INFO] [stderr] 875 |             count => {
[INFO] [stderr]     |             ----- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 882 |             _ => {
[INFO] [stderr]     |             ^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> tests/test_iterator.rs:875:13
[INFO] [stderr]     |
[INFO] [stderr] 875 |             count => {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:842:9
[INFO] [stderr]     |
[INFO] [stderr] 842 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:872:13
[INFO] [stderr]     |
[INFO] [stderr] 872 |         let mut key = item(&mut btree_iterator).key;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:901:9
[INFO] [stderr]     |
[INFO] [stderr] 901 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_iterator.rs:968:9
[INFO] [stderr]     |
[INFO] [stderr] 968 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> tests/test_iterator.rs:1030:9
[INFO] [stderr]      |
[INFO] [stderr] 1030 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]      |         ----^^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> tests/test_iterator.rs:1082:9
[INFO] [stderr]      |
[INFO] [stderr] 1082 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]      |         ----^^^^^^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> tests/test_put.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> tests/test_put.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ring::digest`
[INFO] [stderr]  --> tests/test_put.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use ring::digest;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_put.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_put.rs:77:9
[INFO] [stderr]    |
[INFO] [stderr] 77 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_put.rs:205:9
[INFO] [stderr]     |
[INFO] [stderr] 205 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_put.rs:296:9
[INFO] [stderr]     |
[INFO] [stderr] 296 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_put.rs:378:9
[INFO] [stderr]     |
[INFO] [stderr] 378 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_put.rs:478:9
[INFO] [stderr]     |
[INFO] [stderr] 478 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]    --> tests/test_put.rs:630:9
[INFO] [stderr]     |
[INFO] [stderr] 630 |     let item = Item2 { key: 1, value: 2 };
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_valid_tree_node_item4` is never used
[INFO] [stderr]    --> tests/utils.rs:264:8
[INFO] [stderr]     |
[INFO] [stderr] 264 | pub fn assert_valid_tree_node_item4(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `merklebtree::node::Node`
[INFO] [stderr]  --> examples/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use merklebtree::node::Node;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> examples/main.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `find_id`
[INFO] [stderr]    --> examples/main.rs:111:9
[INFO] [stderr]     |
[INFO] [stderr] 111 |     let find_id = find_nodeid_by_branch(&branch, &nodes);
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_find_id`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/main.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 |     let mut branch = vec![0, 0, 0, 2];
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node`
[INFO] [stderr]    --> examples/main.rs:140:9
[INFO] [stderr]     |
[INFO] [stderr] 140 |     let node = nodes.nodes_map.get(&1).unwrap();
[INFO] [stderr]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stderr] 
[INFO] [stderr] warning: function `test2` is never used
[INFO] [stderr]    --> examples/main.rs:114:4
[INFO] [stderr]     |
[INFO] [stderr] 114 | fn test2() {
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MerkleBTree`
[INFO] [stderr]  --> tests/utils.rs:1:32
[INFO] [stderr]   |
[INFO] [stderr] 1 | use merklebtree::merklebtree::{MerkleBTree, Nodes};
[INFO] [stderr]   |                                ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stderr]  --> tests/test_branch_clone.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> tests/test_branch_clone.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ring::digest`
[INFO] [stderr]   --> tests/test_branch_clone.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use ring::digest;
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]   --> tests/test_branch_clone.rs:50:10
[INFO] [stderr]    |
[INFO] [stderr] 50 |     let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> tests/test_branch_clone.rs:50:19
[INFO] [stderr]    |
[INFO] [stderr] 50 |     let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `found`
[INFO] [stderr]   --> tests/test_branch_clone.rs:50:26
[INFO] [stderr]    |
[INFO] [stderr] 50 |     let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]   --> tests/test_branch_clone.rs:58:10
[INFO] [stderr]    |
[INFO] [stderr] 58 |     let (value, found) = subtree.get(Item3 { key: -4 }, &mut subnodes);
[INFO] [stderr]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_branch_clone.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let mut nodes_map: HashMap<i32, Node<Item3>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_branch_clone.rs:64:9
[INFO] [stderr]    |
[INFO] [stderr] 64 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:158:9
[INFO] [stderr]     |
[INFO] [stderr] 158 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]    --> tests/test_branch_clone.rs:222:14
[INFO] [stderr]     |
[INFO] [stderr] 222 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> tests/test_branch_clone.rs:222:23
[INFO] [stderr]     |
[INFO] [stderr] 222 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `found`
[INFO] [stderr]    --> tests/test_branch_clone.rs:222:30
[INFO] [stderr]     |
[INFO] [stderr] 222 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]    --> tests/test_branch_clone.rs:227:14
[INFO] [stderr]     |
[INFO] [stderr] 227 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> tests/test_branch_clone.rs:227:23
[INFO] [stderr]     |
[INFO] [stderr] 227 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:205:9
[INFO] [stderr]     |
[INFO] [stderr] 205 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]    --> tests/test_branch_clone.rs:253:14
[INFO] [stderr]     |
[INFO] [stderr] 253 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> tests/test_branch_clone.rs:253:23
[INFO] [stderr]     |
[INFO] [stderr] 253 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `found`
[INFO] [stderr]    --> tests/test_branch_clone.rs:253:30
[INFO] [stderr]     |
[INFO] [stderr] 253 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]    --> tests/test_branch_clone.rs:258:14
[INFO] [stderr]     |
[INFO] [stderr] 258 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> tests/test_branch_clone.rs:258:23
[INFO] [stderr]     |
[INFO] [stderr] 258 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]     |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:236:9
[INFO] [stderr]     |
[INFO] [stderr] 236 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:265:9
[INFO] [stderr]     |
[INFO] [stderr] 265 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:304:9
[INFO] [stderr]     |
[INFO] [stderr] 304 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_branch_clone.rs:335:9
[INFO] [stderr]     |
[INFO] [stderr] 335 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `merklebtree::traits::CalculateHash`
[INFO] [stderr]  --> tests/test_persistence.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use merklebtree::traits::CalculateHash;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde`
[INFO] [stderr]  --> tests/test_persistence.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use serde;
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> tests/test_persistence.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_persistence.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |     let mut nodes_map: HashMap<i32, Node<Item2>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> tests/test_persistence.rs:118:9
[INFO] [stderr]     |
[INFO] [stderr] 118 |     for i in 0..vec.len() {
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `j`
[INFO] [stderr]    --> tests/test_persistence.rs:120:13
[INFO] [stderr]     |
[INFO] [stderr] 120 |         for j in 0..sub_vec.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/test_persistence.rs:147:9
[INFO] [stderr]     |
[INFO] [stderr] 147 |     let mut fin = BufReader::new(file);
[INFO] [stderr]     |         ----^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_valid_tree_node_item3` is never used
[INFO] [stderr]    --> tests/utils.rs:202:8
[INFO] [stderr]     |
[INFO] [stderr] 202 | pub fn assert_valid_tree_node_item3(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/test_persistence.rs:75:5
[INFO] [stderr]    |
[INFO] [stderr] 75 |     f.write_all(message.as_bytes());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 75 |     let _ = f.write_all(message.as_bytes());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> tests/test_persistence.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     f.write_all(String::from("\n").as_bytes());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let _ = f.write_all(String::from("\n").as_bytes());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> examples/test_btree.rs:181:13
[INFO] [stderr]     |
[INFO] [stderr] 181 |     let mut count = 0;
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/test_btree.rs:112:9
[INFO] [stderr]     |
[INFO] [stderr] 112 |     let mut nodes_map: HashMap<i32, Node<Item>> = HashMap::new();
[INFO] [stderr]     |         ----^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/test_btree.rs:181:9
[INFO] [stderr]     |
[INFO] [stderr] 181 |     let mut count = 0;
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]   --> examples/test_sgxdb.rs:66:14
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> examples/test_sgxdb.rs:66:23
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `found`
[INFO] [stderr]   --> examples/test_sgxdb.rs:66:30
[INFO] [stderr]    |
[INFO] [stderr] 66 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]   --> examples/test_sgxdb.rs:75:14
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> examples/test_sgxdb.rs:75:23
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> examples/test_sgxdb.rs:49:9
[INFO] [stderr]    |
[INFO] [stderr] 49 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `verify_result`
[INFO] [stderr]    --> examples/test_sgxdb.rs:155:13
[INFO] [stderr]     |
[INFO] [stderr] 155 |     let mut verify_result = false;
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verify_result`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/test_sgxdb.rs:155:9
[INFO] [stderr]     |
[INFO] [stderr] 155 |     let mut verify_result = false;
[INFO] [stderr]     |         ----^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> examples/test_sgxdb.rs:159:9
[INFO] [stderr]     |
[INFO] [stderr] 159 |     let mut compute_hash;
[INFO] [stderr]     |         ----^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_subnodes_nodemap` is never used
[INFO] [stderr]    --> examples/test_sgxdb.rs:186:4
[INFO] [stderr]     |
[INFO] [stderr] 186 | fn print_subnodes_nodemap<T>(subnodes: &mut Nodes<T>)
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stderr]  --> tests/test_sgxdb_verification.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde::{Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]  --> tests/test_sgxdb_verification.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::cmp::Ordering;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ring::digest`
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use ring::digest;
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:77:14
[INFO] [stderr]    |
[INFO] [stderr] 77 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:77:23
[INFO] [stderr]    |
[INFO] [stderr] 77 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `found`
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:77:30
[INFO] [stderr]    |
[INFO] [stderr] 77 |         let (node_id, index, found, mut subnodes) =
[INFO] [stderr]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_id`
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:83:14
[INFO] [stderr]    |
[INFO] [stderr] 83 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:83:23
[INFO] [stderr]    |
[INFO] [stderr] 83 |         let (node_id, index, found) = tree.search_recursively(0, &item, &mut subnodes);
[INFO] [stderr]    |                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `root_node` is never read
[INFO] [stderr]    --> tests/test_sgxdb_verification.rs:107:13
[INFO] [stderr]     |
[INFO] [stderr] 107 |             root_node = Node::new_empty(0);
[INFO] [stderr]     |             ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> tests/test_sgxdb_verification.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 18 |     let mut nodes_map: HashMap<i32, Node<Item4>> = HashMap::new();
[INFO] [stderr]    |         ----^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_subnodes_nodemap_existed` is never used
[INFO] [stderr]    --> tests/test_sgxdb_verification.rs:114:4
[INFO] [stderr]     |
[INFO] [stderr] 114 | fn print_subnodes_nodemap_existed<T>(subnodes: &mut Nodes<T>)
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_subnodes_nodemap` is never used
[INFO] [stderr]    --> tests/test_sgxdb_verification.rs:178:4
[INFO] [stderr]     |
[INFO] [stderr] 178 | fn print_subnodes_nodemap<T>(subnodes: &mut Nodes<T>)
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ring::digest::Digest`
[INFO] [stderr]  --> examples/test_merkle.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ring::digest::Digest;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `merklebtree` (test "test_remove") generated 19 warnings (run `cargo fix --test "test_remove"` to apply 17 suggestions)
[INFO] [stderr] warning: `merklebtree` (test "test_iterator") generated 46 warnings (4 duplicates) (run `cargo fix --test "test_iterator"` to apply 31 suggestions)
[INFO] [stderr] warning: `merklebtree` (test "test_put") generated 15 warnings (4 duplicates) (run `cargo fix --test "test_put"` to apply 10 suggestions)
[INFO] [stderr] warning: `merklebtree` (example "main") generated 6 warnings (run `cargo fix --example "main"` to apply 5 suggestions)
[INFO] [stderr] warning: `merklebtree` (test "utils") generated 4 warnings (3 duplicates) (run `cargo fix --test "utils"` to apply 1 suggestion)
[INFO] [stderr] warning: `merklebtree` (test "test_branch_clone") generated 31 warnings (5 duplicates) (run `cargo fix --test "test_branch_clone"` to apply 26 suggestions)
[INFO] [stderr] warning: `merklebtree` (test "test_persistence") generated 15 warnings (5 duplicates) (run `cargo fix --test "test_persistence"` to apply 7 suggestions)
[INFO] [stderr] warning: `merklebtree` (example "test_btree") generated 3 warnings (run `cargo fix --example "test_btree"` to apply 3 suggestions)
[INFO] [stderr] warning: `merklebtree` (example "test_sgxdb") generated 10 warnings (run `cargo fix --example "test_sgxdb"` to apply 9 suggestions)
[INFO] [stderr] warning: `merklebtree` (test "test_sgxdb_verification") generated 16 warnings (4 duplicates) (run `cargo fix --test "test_sgxdb_verification"` to apply 9 suggestions)
[INFO] [stderr] warning: `merklebtree` (example "test_merkle") generated 1 warning (run `cargo fix --example "test_merkle"` to apply 1 suggestion)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/merklebtree-dcc96c910b49153f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_branch_clone.rs (/opt/rustwide/target/debug/deps/test_branch_clone-79db98402c2035d1)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test test_clone_search_subnode_from_root ... ok
[INFO] [stdout] test test_sgxdb_insert_clone_from_root ... ok
[INFO] [stdout] test test_sgxdb_put_clone_from_root ... ok
[INFO] [stdout] test test_sgxdb_remove_clone_from_root ... ok
[INFO] [stdout] test test_batch_remove_clone_subnode_from_root ... ok
[INFO] [stdout] test test_verify_subnodes_of_get ... ok
[INFO] [stdout] test test_batch_get_clone_subnode_from_root ... ok
[INFO] [stdout] test test_batch_put_clone_subnode_from_root ... ok
[INFO] [stdout] test test_batch_insert_clone_subnode_from_root ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.32s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_iterator.rs (/opt/rustwide/target/debug/deps/test_iterator-f3d73abe20c4a4ad)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test test_btree_iterator_3_prev ... ok
[INFO] [stdout] test test_btree_iterator_1_next ... ok
[INFO] [stdout] test test_btree_iterator_1_prev ... ok
[INFO] [stdout] test test_btree_iterator_3_next ... ok
[INFO] [stdout] test test_btree_iterator_next_on_empty ... ok
[INFO] [stdout] test test_btree_left_and_right ... ok
[INFO] [stdout] test test_btree_iterator_values_and_keys ... ok
[INFO] [stdout] test test_btree_iterator_2_next ... ok
[INFO] [stdout] test test_btree_iterator_4_next ... ok
[INFO] [stdout] test test_btree_iterator_4_prev ... ok
[INFO] [stderr]      Running tests/test_persistence.rs (/opt/rustwide/target/debug/deps/test_persistence-1f1be8c404b92440)
[INFO] [stdout] test test_btree_iterator_first ... ok
[INFO] [stdout] test test_btree_iterator_2_prev ... ok
[INFO] [stdout] test test_btree_iterator_begin ... ok
[INFO] [stdout] test test_btree_iterator_end ... ok
[INFO] [stdout] test test_btree_iterator_last ... ok
[INFO] [stdout] test test_btree_height ... ok
[INFO] [stdout] test test_btree_iterator_prev_on_empty ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_btree_persistence_1 ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_btree_persistence_1 stdout ----
[INFO] [stdout] Item2 { key: 4, value: 2 }
[INFO] [stdout] Item2 { key: 2, value: 1 }
[INFO] [stdout] Item2 { key: 6, value: 2 }
[INFO] [stdout] Item2 { key: 1, value: 0 }
[INFO] [stdout] Item2 { key: 3, value: 2 }
[INFO] [stdout] Item2 { key: 5, value: 2 }
[INFO] [stdout] Item2 { key: 7, value: 2 }
[INFO] [stdout] thread 'test_btree_persistence_1' panicked at tests/test_persistence.rs:73:10:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55cd1ac88f76 - std::backtrace_rs::backtrace::libunwind::trace::h261606ad26a499c1
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55cd1ac88f76 - std::backtrace_rs::backtrace::trace_unsynchronized::hd183f0625477fb28
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55cd1ac88f76 - std::sys_common::backtrace::_print_fmt::hd7f8fef21b4eda67
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x55cd1ac88f76 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h623d9b51f2f453f1
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55cd1acb1ea0 - core::fmt::rt::Argument::fmt::h9f417ac76a86f368
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55cd1acb1ea0 - core::fmt::write::hc9b6faf4ac2aeff7
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55cd1ac869df - std::io::Write::write_fmt::he04625a3a989fec3
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/io/mod.rs:1810:15
[INFO] [stdout]    7:     0x55cd1ac88d54 - std::sys_common::backtrace::_print::hd5d66399c7df88a2
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55cd1ac88d54 - std::sys_common::backtrace::print::he81ed2da642d37e5
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55cd1ac8aac7 - std::panicking::default_hook::{{closure}}::h85773f4fa117163d
[INFO] [stdout]   10:     0x55cd1ac8a7ad - std::panicking::default_hook::h6a1694a91d09b278
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55cd1ac44427 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h616ac37fa3cd6c8f
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   12:     0x55cd1ac44427 - test::test_main::{{closure}}::h00d84697cefdcbb6
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55cd1ac8b0e6 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcb3fe3b9bb537ba8
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2029:9
[INFO] [stdout]   14:     0x55cd1ac8b0e6 - std::panicking::rust_panic_with_hook::h0a7ad96e90f7145b
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55cd1ac8ae32 - std::panicking::begin_panic_handler::{{closure}}::h7919090525c6485e
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55cd1ac89476 - std::sys_common::backtrace::__rust_end_short_backtrace::hf3289479464f7dfe
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x55cd1ac8ab90 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55cd1abe1e85 - core::panicking::panic_fmt::hcc9f77c5c132af55
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55cd1abe2423 - core::result::unwrap_failed::hbe14f498be1452f9
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/result.rs:1649:5
[INFO] [stdout]   20:     0x55cd1ac0476b - core::result::Result<T,E>::unwrap::hd7890a7975af2075
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/result.rs:1073:23
[INFO] [stdout]   21:     0x55cd1abfcd9b - test_persistence::write_msg::he00ba93239af26be
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_persistence.rs:69:17
[INFO] [stdout]   22:     0x55cd1abffd62 - test_persistence::test_btree_persistence_1::h9c613a236e6f611b
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_persistence.rs:52:5
[INFO] [stdout]   23:     0x55cd1abfefa7 - test_persistence::test_btree_persistence_1::{{closure}}::h013cac25222cce5b
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/test_persistence.rs:15:30
[INFO] [stdout]   24:     0x55cd1ac0b3b6 - core::ops::function::FnOnce::call_once::hc15bdb240cb4c3cb
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x55cd1ac49cff - core::ops::function::FnOnce::call_once::hd64d26f405258157
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x55cd1ac49cff - test::__rust_begin_short_backtrace::he21b0b7a6d731bf9
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:627:18
[INFO] [stdout]   27:     0x55cd1ac48a81 - test::run_test_in_process::{{closure}}::hf5c73986d7bdfde2
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:650:60
[INFO] [stdout]   28:     0x55cd1ac48a81 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h330011ad032aadc0
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   29:     0x55cd1ac48a81 - std::panicking::try::do_call::he61b0a958b795a41
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:552:40
[INFO] [stdout]   30:     0x55cd1ac48a81 - std::panicking::try::h7309da130f906eb7
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:516:19
[INFO] [stdout]   31:     0x55cd1ac48a81 - std::panic::catch_unwind::hc5c3a06fdaf0a92a
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panic.rs:142:14
[INFO] [stdout]   32:     0x55cd1ac48a81 - test::run_test_in_process::h7e7b7c71c3324e0f
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:650:27
[INFO] [stdout]   33:     0x55cd1ac48a81 - test::run_test::{{closure}}::h1f509f28f5cf20b1
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:573:43
[INFO] [stdout]   34:     0x55cd1ac0fdb6 - test::run_test::{{closure}}::h1754218abf443f6d
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/test/src/lib.rs:601:41
[INFO] [stdout]   35:     0x55cd1ac0fdb6 - std::sys_common::backtrace::__rust_begin_short_backtrace::h2ee174b9d5954948
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   36:     0x55cd1ac14e17 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hf60bee9c1a17ef09
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   37:     0x55cd1ac14e17 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h33d0dddec5216160
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   38:     0x55cd1ac14e17 - std::panicking::try::do_call::h144b3048b546f835
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:552:40
[INFO] [stdout]   39:     0x55cd1ac14e17 - std::panicking::try::h978244d04646189f
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panicking.rs:516:19
[INFO] [stdout]   40:     0x55cd1ac14e17 - std::panic::catch_unwind::hdf436369d188fe86
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/panic.rs:142:14
[INFO] [stdout]   41:     0x55cd1ac14e17 - std::thread::Builder::spawn_unchecked_::{{closure}}::h87329cbdd33c79ec
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   42:     0x55cd1ac14e17 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h401abbe67897d450
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x55cd1ac8fc75 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h5d7c8f150ab9c84c
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   44:     0x55cd1ac8fc75 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h570d5b005c242c15
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/boxed.rs:2015:9
[INFO] [stdout]   45:     0x55cd1ac8fc75 - std::sys::unix::thread::Thread::new::thread_start::h36b0a20c0b2361ad
[INFO] [stdout]                                at /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7f53960f7ac3 - <unknown>
[INFO] [stdout]   47:     0x7f5396188bf4 - __clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_btree_persistence_1
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test test_persistence`
[INFO] running `Command { std: "docker" "inspect" "0aa2fffe7078c3ded9b33a0514e1a1153f188cff6c3a78a25804acee19f9dfe6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0aa2fffe7078c3ded9b33a0514e1a1153f188cff6c3a78a25804acee19f9dfe6", kill_on_drop: false }`
[INFO] [stdout] 0aa2fffe7078c3ded9b33a0514e1a1153f188cff6c3a78a25804acee19f9dfe6
