[INFO] cloning repository https://github.com/ryanjackgit/rustunsafedatastruct
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ryanjackgit/rustunsafedatastruct" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryanjackgit%2Frustunsafedatastruct", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryanjackgit%2Frustunsafedatastruct'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cffca34ad070fab346233fc85743f0185445b5a0
[INFO] testing ryanjackgit/rustunsafedatastruct against 1.91.0 for beta-1.92-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryanjackgit%2Frustunsafedatastruct" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ryanjackgit/rustunsafedatastruct
[INFO] finished tweaking git repo https://github.com/ryanjackgit/rustunsafedatastruct
[INFO] tweaked toml for git repo https://github.com/ryanjackgit/rustunsafedatastruct written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ryanjackgit/rustunsafedatastruct on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ryanjackgit/rustunsafedatastruct 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.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded getrandom v0.2.2
[INFO] [stderr]   Downloaded rand_core v0.6.2
[INFO] [stderr]   Downloaded rand v0.8.3
[INFO] [stderr]   Downloaded libc v0.2.86
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 61cd9e28337811fa45ebe630de9e3b59041ed278f02a02efa259484f96e3209e
[INFO] running `Command { std: "docker" "start" "-a" "61cd9e28337811fa45ebe630de9e3b59041ed278f02a02efa259484f96e3209e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "61cd9e28337811fa45ebe630de9e3b59041ed278f02a02efa259484f96e3209e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61cd9e28337811fa45ebe630de9e3b59041ed278f02a02efa259484f96e3209e", kill_on_drop: false }`
[INFO] [stdout] 61cd9e28337811fa45ebe630de9e3b59041ed278f02a02efa259484f96e3209e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0ba0ff68f06a139f695baf5d1c5e098de846b57eabcb0e5cdf09ef5114a37c81
[INFO] running `Command { std: "docker" "start" "-a" "0ba0ff68f06a139f695baf5d1c5e098de846b57eabcb0e5cdf09ef5114a37c81", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.86
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling rand_core v0.6.2
[INFO] [stderr]    Compiling rand_chacha v0.3.0
[INFO] [stderr]    Compiling rand v0.8.3
[INFO] [stderr]    Compiling rustunsafedatastruct v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type `List_Mut_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/list.rs:381:12
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub struct List_Mut_Iterator<'a,T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListMutIterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `List_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/list.rs:431:12
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub struct List_Iterator<'a,T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `List_Self_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/list.rs:480:12
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub struct List_Self_Iterator<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListSelfIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/skiplist.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/skiplist.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]  --> src/skiplist.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{thread_rng, Rng};
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::StdRng`
[INFO] [stdout]  --> src/skiplist.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::rngs::StdRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::SeedableRng`
[INFO] [stdout]  --> src/skiplist.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::SeedableRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/vec.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/vec.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Range`
[INFO] [stdout]  --> src/vec.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Index,IndexMut,Range};
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vec.rs:188:15
[INFO] [stdout]     |
[INFO] [stdout] 188 |     ptr::read((self.ptr.offset((self.len-1) as isize) as *mut T))
[INFO] [stdout]     |               ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 -     ptr::read((self.ptr.offset((self.len-1) as isize) as *mut T))
[INFO] [stdout] 188 +     ptr::read(self.ptr.offset((self.len-1) as isize) as *mut T)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::list::List`
[INFO] [stdout]  --> src/tree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::list::List;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec::ManVec`
[INFO] [stdout]  --> src/tree.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::vec::ManVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/tree.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/tree.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/tree.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::list::List`
[INFO] [stdout]  --> src/bsttree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::list::List;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec::ManVec`
[INFO] [stdout]  --> src/bsttree.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::vec::ManVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/bsttree.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/bsttree.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/bsttree.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]  --> src/bsttree.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::{Ord,Ordering};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bsttree.rs:157:22
[INFO] [stdout]     |
[INFO] [stdout] 157 |                   if (t>root_data) {
[INFO] [stdout]     |                      ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 157 -                   if (t>root_data) {
[INFO] [stdout] 157 +                   if t>root_data {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/redblacktree.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::list::List`
[INFO] [stdout]  --> src/maxheap.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::list::List;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layout`, `dealloc`, and `self`
[INFO] [stdout]  --> src/maxheap.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                  ^^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/maxheap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]  --> src/maxheap.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::{Ord,Ordering};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/hashmap.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::list::{self,List};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/hashmap.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/hashmap.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/hashmap.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ord` and `Ordering`
[INFO] [stdout]  --> src/hashmap.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::cmp::{Ord,Ordering,Eq,PartialEq};
[INFO] [stdout]   |                ^^^ ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]   --> src/hashmap.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::marker::PhantomData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::DefaultHasher`
[INFO] [stdout]   --> src/hashmap.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::hash_map::DefaultHasher;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> src/hashmap.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `HashTable_Mut_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/hashmap.rs:509:13
[INFO] [stdout]     |
[INFO] [stdout] 509 |  pub struct HashTable_Mut_Iterator<'a,K,V> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HashTableMutIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `HashTable_Into_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/hashmap.rs:553:13
[INFO] [stdout]     |
[INFO] [stdout] 553 |  pub struct HashTable_Into_Iterator<K,V> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HashTableIntoIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec::ManVec`
[INFO] [stdout]  --> src/quicksortbinarysearch.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::vec::ManVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]   --> src/quicksortbinarysearch.rs:72:24
[INFO] [stdout]    |
[INFO] [stdout] 72 | use rand::{thread_rng, Rng};
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/time.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/time.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::UNIX_EPOCH`
[INFO] [stdout]  --> src/time.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::UNIX_EPOCH;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/list.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |            let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]    |                ----^^^^^^^^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/list.rs:60:22
[INFO] [stdout]    |
[INFO] [stdout] 60 |         if let Some( mut ptr) = self.head {
[INFO] [stdout]    |                      ----^^^
[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/list.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]    |                     ----^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/list.rs:83:19
[INFO] [stdout]    |
[INFO] [stdout] 83 |               let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]    |                   ----^^^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/list.rs:110:19
[INFO] [stdout]     |
[INFO] [stdout] 110 |               let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]     |                   ----^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/list.rs:126:18
[INFO] [stdout]     |
[INFO] [stdout] 126 |              let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]     |                  ----^^^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/list.rs:160:22
[INFO] [stdout]     |
[INFO] [stdout] 160 |                  let mut pre_ptr=(*ptr).pre;
[INFO] [stdout]     |                      ----^^^^^^^
[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/list.rs:211:25
[INFO] [stdout]     |
[INFO] [stdout] 211 |             if let Some(mut ptrone) =self.head {
[INFO] [stdout]     |                         ----^^^^^^
[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/list.rs:306:26
[INFO] [stdout]     |
[INFO] [stdout] 306 |                      let mut p_free=ptr;
[INFO] [stdout]     |                          ----^^^^^^
[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/list.rs:348:18
[INFO] [stdout]     |
[INFO] [stdout] 348 |     fn into_iter(mut self) -> Self::IntoIter {
[INFO] [stdout]     |                  ----^^^^
[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/list.rs:531:26
[INFO] [stdout]     |
[INFO] [stdout] 531 |                      let mut p_free=ptr;
[INFO] [stdout]     |                          ----^^^^^^
[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/skiplist.rs:141:16
[INFO] [stdout]     |
[INFO] [stdout] 141 |            let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |                ----^^^^^^^^^^^^
[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/skiplist.rs:143:16
[INFO] [stdout]     |
[INFO] [stdout] 143 |            let mut ptr=ManVec::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/skiplist.rs:144:16
[INFO] [stdout]     |
[INFO] [stdout] 144 |            let mut data_pointer=&mut ((*c).vecPtr) as *mut ManVec<NodePtr<K,V>>;
[INFO] [stdout]     |                ----^^^^^^^^^^^^
[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/skiplist.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |         if let Some(mut p)=self.vecPtr.get_mut(index) {
[INFO] [stdout]     |                     ----^
[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/skiplist.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let mut m=Node::new((K::default(),V::default()));
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/skiplist.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/skiplist.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     for i in 0..true_count {
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 239 |     for _i in 0..true_count {
[INFO] [stdout]     |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 239 -     for i in 0..true_count {
[INFO] [stdout] 239 +     for skiplist::MAX_LEVEL in 0..true_count {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/skiplist.rs:249:14
[INFO] [stdout]     |
[INFO] [stdout] 249 |          for i in 0..true_count {         
[INFO] [stdout]     |              ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 249 |          for _i in 0..true_count {         
[INFO] [stdout]     |              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 249 -          for i in 0..true_count {         
[INFO] [stdout] 249 +          for skiplist::MAX_LEVEL in 0..true_count {         
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/skiplist.rs:295:21
[INFO] [stdout]     |
[INFO] [stdout] 295 |                 for i in 0..gap {
[INFO] [stdout]     |                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 295 |                 for _i in 0..gap {
[INFO] [stdout]     |                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 295 -                 for i in 0..gap {
[INFO] [stdout] 295 +                 for skiplist::MAX_LEVEL in 0..gap {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/skiplist.rs:222:25
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub fn insert(&mut self,mut data:(K,V)) {
[INFO] [stdout]     |                         ----^^^^
[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/skiplist.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let mut null=NodePtr::new();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_p` is never read
[INFO] [stdout]    --> src/skiplist.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let mut current_p=self.root;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/skiplist.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_p` is never read
[INFO] [stdout]    --> src/skiplist.rs:356:13
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let mut current_p=self.root;
[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]    --> src/skiplist.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_p` is never read
[INFO] [stdout]    --> src/skiplist.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |     let mut current_p=self.root;
[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]    --> src/skiplist.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_p` is never read
[INFO] [stdout]    --> src/skiplist.rs:461:13
[INFO] [stdout]     |
[INFO] [stdout] 461 |     let mut current_p=self.root;
[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]    --> src/skiplist.rs:460:9
[INFO] [stdout]     |
[INFO] [stdout] 460 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[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/skiplist.rs:524:22
[INFO] [stdout]     |
[INFO] [stdout] 524 |                  let mut p_free=ptr;
[INFO] [stdout]     |                      ----^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/vec.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let ptrone = unsafe {
[INFO] [stdout]    |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/vec.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let offset=mem::size_of::<T>() as usize;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let _offset=mem::size_of::<T>() as usize;
[INFO] [stdout]     |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 145 -     let offset=mem::size_of::<T>() as usize;
[INFO] [stdout] 145 +     let skiplist::MAX_LEVEL=mem::size_of::<T>() as usize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vec.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let mut my_data= self.ptr.offset(self.len as isize) as *mut T;
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/vec.rs:159:11
[INFO] [stdout]     |
[INFO] [stdout] 159 |       for i in 0..self.len {
[INFO] [stdout]     |           ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 159 |       for _i in 0..self.len {
[INFO] [stdout]     |           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 159 -       for i in 0..self.len {
[INFO] [stdout] 159 +       for skiplist::MAX_LEVEL in 0..self.len {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vec.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tree.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |              let mut data_pointer=&mut (*c).data as *mut T;
[INFO] [stdout]    |                  ----^^^^^^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree.rs:146:14
[INFO] [stdout]     |
[INFO] [stdout] 146 |          let mut data_pointer=&mut (*c).data as *mut T;
[INFO] [stdout]     |              ----^^^^^^^^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bsttree.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |              let mut data_pointer=&mut (*c).data as *mut T;
[INFO] [stdout]    |                  ----^^^^^^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bsttree.rs:93:14
[INFO] [stdout]    |
[INFO] [stdout] 93 |          let mut data_pointer=&mut (*c).data as *mut T;
[INFO] [stdout]    |              ----^^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bsttree.rs:109:27
[INFO] [stdout]     |
[INFO] [stdout] 109 |               if let Some(mut xroot)=self.root {
[INFO] [stdout]     |                           ----^^^^^
[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/bsttree.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     let mut left= unsafe {(*xroot).left};
[INFO] [stdout]     |                         ----^^^^
[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/bsttree.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let mut right= unsafe {(*xroot).right};
[INFO] [stdout]     |                         ----^^^^^
[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/bsttree.rs:152:26
[INFO] [stdout]     |
[INFO] [stdout] 152 |              if let Some(mut xroot) = self.root {
[INFO] [stdout]     |                          ----^^^^^
[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/bsttree.rs:158:25
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     let mut right= unsafe {(*xroot).right};
[INFO] [stdout]     |                         ----^^^^^
[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/bsttree.rs:171:25
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     let mut left= unsafe {(*xroot).left};
[INFO] [stdout]     |                         ----^^^^
[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/redblacktree.rs:661:15
[INFO] [stdout]     |
[INFO] [stdout] 661 |           let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |               ----^^^^^^^^^^^^
[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/maxheap.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut inner_data=&self.data;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[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/maxheap.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |                  let mut data=&mut self.data;
[INFO] [stdout]    |                      ----^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/hashmap.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |             for i in 0..default_capacity {
[INFO] [stdout]    |                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 48 |             for _i in 0..default_capacity {
[INFO] [stdout]    |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]    |
[INFO] [stdout] 48 -             for i in 0..default_capacity {
[INFO] [stdout] 48 +             for skiplist::MAX_LEVEL in 0..default_capacity {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/hashmap.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 let mut list=HashTableList::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/hashmap.rs:106:24
[INFO] [stdout]     |
[INFO] [stdout] 106 |            if let Some(mut value_list) = self.vec.get_mut(index as usize) {
[INFO] [stdout]     |                        ----^^^^^^^^^^
[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/hashmap.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |         if let Some(mut value_list) = self.vec.get_mut(index as usize) {
[INFO] [stdout]     |                     ----^^^^^^^^^^
[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/hashmap.rs:168:24
[INFO] [stdout]     |
[INFO] [stdout] 168 |            if let Some(mut v) =value_list.find_mut(k) {
[INFO] [stdout]     |                        ----^
[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/hashmap.rs:184:22
[INFO] [stdout]     |
[INFO] [stdout] 184 |         if let Some( mut value_list) = self.vec.get_mut(index as usize) {
[INFO] [stdout]     |                      ----^^^^^^^^^^
[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/hashmap.rs:256:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |             let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[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/hashmap.rs:287:20
[INFO] [stdout]     |
[INFO] [stdout] 287 |                let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |                    ----^^^^^^^^^^^^
[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/hashmap.rs:303:19
[INFO] [stdout]     |
[INFO] [stdout] 303 |               let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |                   ----^^^^^^^^^^^^
[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/hashmap.rs:335:23
[INFO] [stdout]     |
[INFO] [stdout] 335 |                   let mut pre_ptr=(*ptr).pre;
[INFO] [stdout]     |                       ----^^^^^^^
[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/hashmap.rs:411:26
[INFO] [stdout]     |
[INFO] [stdout] 411 |              if let Some(mut ptrone) =self.head {
[INFO] [stdout]     |                          ----^^^^^^
[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/hashmap.rs:604:22
[INFO] [stdout]     |
[INFO] [stdout] 604 |                  let mut pp_head=ptr;
[INFO] [stdout]     |                      ----^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/list.rs:382:5
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub struct List_Mut_Iterator<'a,T> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 382 |     data:&'a mut List<T>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/list.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub struct List_Iterator<'a,T> {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 432 |     data:&'a List<T>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_left_child`, `is_right_child`, `max_node`, `next`, and `prev` are never used
[INFO] [stdout]    --> src/redblacktree.rs:723:8
[INFO] [stdout]     |
[INFO] [stdout] 650 | impl<K: Ord, V> Node<K, V> {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 723 |     fn is_left_child(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 728 |     fn is_right_child(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 742 |     fn max_node(self) -> Node<K, V> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 751 |     fn next(self) -> Node<K, V> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 769 |     fn prev(self) -> Node<K, V> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `deep_clone` is never used
[INFO] [stdout]    --> src/redblacktree.rs:847:15
[INFO] [stdout]     |
[INFO] [stdout] 846 | impl<K: Ord + Clone, V: Clone> Node<K, V> {
[INFO] [stdout]     | ----------------------------------------- method in this implementation
[INFO] [stdout] 847 |     unsafe fn deep_clone(&self) -> Self {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/hashmap.rs:510:6
[INFO] [stdout]     |
[INFO] [stdout] 509 |  pub struct HashTable_Mut_Iterator<'a,K,V> {
[INFO] [stdout]     |             ---------------------- field in this struct
[INFO] [stdout] 510 |      data:&'a mut HashTableList<K,V>,
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/hashmap.rs:554:5
[INFO] [stdout]     |
[INFO] [stdout] 553 |  pub struct HashTable_Into_Iterator<K,V> {
[INFO] [stdout]     |             ----------------------- field in this struct
[INFO] [stdout] 554 |     data:HashTableList<K,V>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:291:17
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn iter(&self) -> List_Iterator<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn iter(&self) -> List_Iterator<'_, T> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put_newnodePtr` should have a snake case name
[INFO] [stdout]   --> src/skiplist.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn put_newnodePtr(&mut self,pointer:NodePtr<K,V>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `put_newnode_ptr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `vecPtr` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     vecPtr:ManVec<NodePtr<K,V>>,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `vec_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put_newnodePtr` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn put_newnodePtr(&mut self,pointer:NodePtr<K,V>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `put_newnode_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `newNodePtr` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |     let mut newNodePtr=Node::new(data);
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `new_node_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `newNodePtr` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:247:18
[INFO] [stdout]     |
[INFO] [stdout] 247 |          let mut newNodePtr=Node::new(data);
[INFO] [stdout]     |                  ^^^^^^^^^^ help: convert the identifier to snake case: `new_node_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rootLen` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:254:14
[INFO] [stdout]     |
[INFO] [stdout] 254 |          let rootLen=self.root.get_level();
[INFO] [stdout]     |              ^^^^^^^ help: convert the identifier to snake case: `root_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentLevel` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentLevel` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:355:13
[INFO] [stdout]     |
[INFO] [stdout] 355 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentLevel` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentLevel` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flipCoin` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:500:8
[INFO] [stdout]     |
[INFO] [stdout] 500 | pub fn flipCoin(&mut self) -> bool {    
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `flip_coin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/vec.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 |     if index<0 || index>=self.len {
[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/vec.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 |     if index<0 || index>=self.len {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/main.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rustunsafedatastruct::vec::{self,ManVec};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustunsafedatastruct::tree::Tree`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rustunsafedatastruct::tree::Tree;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 |       Some(mut c) => *c=m,
[INFO] [stdout]    |            ----^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |     Some(mut c) => {println!("this is the data:{:?}",c)},
[INFO] [stdout]    |          ----^
[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/main.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 |     Some(mut c) => {println!("this two is the data:{:?}",c)},
[INFO] [stdout]    |          ----^
[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/main.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | let mut node=BSTTree::create_node(4,pn,pn);
[INFO] [stdout]     |     ----^^^^
[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/main.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 | let mut right_leaf=BSTTree::create_node(6,pn,pn);
[INFO] [stdout]     |     ----^^^^^^^^^^
[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/main.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | let mut left=BSTTree::create_node(5,pn,pn);
[INFO] [stdout]     |     ----^^^^
[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/main.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 146 | let mut left=BSTTree::create_node(3,pn,pn);
[INFO] [stdout]     |     ----^^^^
[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/main.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | let mut left=BSTTree::create_node(10,pn,pn);
[INFO] [stdout]     |     ----^^^^
[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/main.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | let mut left=BSTTree::create_node(9,pn,pn);
[INFO] [stdout]     |     ----^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/main.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 |   CC(i32),
[INFO] [stdout]    |   -- ^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Weizhi` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 19 -   CC(i32),
[INFO] [stdout] 19 +   CC(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `x` is never read
[INFO] [stdout]   --> src/main.rs:28:3
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct My{
[INFO] [stdout]    |        -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |   x:Weizhi,
[INFO] [stdout]    |   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `My` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.15s
[INFO] running `Command { std: "docker" "inspect" "0ba0ff68f06a139f695baf5d1c5e098de846b57eabcb0e5cdf09ef5114a37c81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ba0ff68f06a139f695baf5d1c5e098de846b57eabcb0e5cdf09ef5114a37c81", kill_on_drop: false }`
[INFO] [stdout] 0ba0ff68f06a139f695baf5d1c5e098de846b57eabcb0e5cdf09ef5114a37c81
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 200b8427f6f8b430e6c980a43f8b683c9a40b508ac073160aef0513adbe683a0
[INFO] running `Command { std: "docker" "start" "-a" "200b8427f6f8b430e6c980a43f8b683c9a40b508ac073160aef0513adbe683a0", kill_on_drop: false }`
[INFO] [stdout] warning: type `List_Mut_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/list.rs:381:12
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub struct List_Mut_Iterator<'a,T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListMutIterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `List_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/list.rs:431:12
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub struct List_Iterator<'a,T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `List_Self_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/list.rs:480:12
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub struct List_Self_Iterator<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListSelfIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/skiplist.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/skiplist.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]  --> src/skiplist.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{thread_rng, Rng};
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::StdRng`
[INFO] [stdout]  --> src/skiplist.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::rngs::StdRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::SeedableRng`
[INFO] [stdout]  --> src/skiplist.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::SeedableRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/vec.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/vec.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Range`
[INFO] [stdout]  --> src/vec.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Index,IndexMut,Range};
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vec.rs:188:15
[INFO] [stdout]     |
[INFO] [stdout] 188 |     ptr::read((self.ptr.offset((self.len-1) as isize) as *mut T))
[INFO] [stdout]     |               ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 -     ptr::read((self.ptr.offset((self.len-1) as isize) as *mut T))
[INFO] [stdout] 188 +     ptr::read(self.ptr.offset((self.len-1) as isize) as *mut T)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::list::List`
[INFO] [stdout]  --> src/tree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::list::List;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec::ManVec`
[INFO] [stdout]  --> src/tree.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::vec::ManVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/tree.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/tree.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/tree.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::list::List`
[INFO] [stdout]  --> src/bsttree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::list::List;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec::ManVec`
[INFO] [stdout]  --> src/bsttree.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::vec::ManVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/bsttree.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/bsttree.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/bsttree.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]  --> src/bsttree.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::{Ord,Ordering};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bsttree.rs:157:22
[INFO] [stdout]     |
[INFO] [stdout] 157 |                   if (t>root_data) {
[INFO] [stdout]     |                      ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 157 -                   if (t>root_data) {
[INFO] [stdout] 157 +                   if t>root_data {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/redblacktree.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::list::List`
[INFO] [stdout]  --> src/maxheap.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::list::List;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layout`, `dealloc`, and `self`
[INFO] [stdout]  --> src/maxheap.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                  ^^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/maxheap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]  --> src/maxheap.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::{Ord,Ordering};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/hashmap.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::list::{self,List};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/hashmap.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/hashmap.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/hashmap.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ord` and `Ordering`
[INFO] [stdout]  --> src/hashmap.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::cmp::{Ord,Ordering,Eq,PartialEq};
[INFO] [stdout]   |                ^^^ ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]   --> src/hashmap.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::marker::PhantomData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::DefaultHasher`
[INFO] [stdout]   --> src/hashmap.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::hash_map::DefaultHasher;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> src/hashmap.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `HashTable_Mut_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/hashmap.rs:509:13
[INFO] [stdout]     |
[INFO] [stdout] 509 |  pub struct HashTable_Mut_Iterator<'a,K,V> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HashTableMutIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `HashTable_Into_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/hashmap.rs:553:13
[INFO] [stdout]     |
[INFO] [stdout] 553 |  pub struct HashTable_Into_Iterator<K,V> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HashTableIntoIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec::ManVec`
[INFO] [stdout]  --> src/quicksortbinarysearch.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::vec::ManVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]   --> src/quicksortbinarysearch.rs:72:24
[INFO] [stdout]    |
[INFO] [stdout] 72 | use rand::{thread_rng, Rng};
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/time.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/time.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::UNIX_EPOCH`
[INFO] [stdout]  --> src/time.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::UNIX_EPOCH;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/list.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |            let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]    |                ----^^^^^^^^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/list.rs:60:22
[INFO] [stdout]    |
[INFO] [stdout] 60 |         if let Some( mut ptr) = self.head {
[INFO] [stdout]    |                      ----^^^
[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/list.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]    |                     ----^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/list.rs:83:19
[INFO] [stdout]    |
[INFO] [stdout] 83 |               let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]    |                   ----^^^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/list.rs:110:19
[INFO] [stdout]     |
[INFO] [stdout] 110 |               let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]     |                   ----^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/list.rs:126:18
[INFO] [stdout]     |
[INFO] [stdout] 126 |              let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]     |                  ----^^^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/list.rs:160:22
[INFO] [stdout]     |
[INFO] [stdout] 160 |                  let mut pre_ptr=(*ptr).pre;
[INFO] [stdout]     |                      ----^^^^^^^
[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/list.rs:211:25
[INFO] [stdout]     |
[INFO] [stdout] 211 |             if let Some(mut ptrone) =self.head {
[INFO] [stdout]     |                         ----^^^^^^
[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/list.rs:306:26
[INFO] [stdout]     |
[INFO] [stdout] 306 |                      let mut p_free=ptr;
[INFO] [stdout]     |                          ----^^^^^^
[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/list.rs:348:18
[INFO] [stdout]     |
[INFO] [stdout] 348 |     fn into_iter(mut self) -> Self::IntoIter {
[INFO] [stdout]     |                  ----^^^^
[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/list.rs:531:26
[INFO] [stdout]     |
[INFO] [stdout] 531 |                      let mut p_free=ptr;
[INFO] [stdout]     |                          ----^^^^^^
[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/skiplist.rs:141:16
[INFO] [stdout]     |
[INFO] [stdout] 141 |            let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |                ----^^^^^^^^^^^^
[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/skiplist.rs:143:16
[INFO] [stdout]     |
[INFO] [stdout] 143 |            let mut ptr=ManVec::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/skiplist.rs:144:16
[INFO] [stdout]     |
[INFO] [stdout] 144 |            let mut data_pointer=&mut ((*c).vecPtr) as *mut ManVec<NodePtr<K,V>>;
[INFO] [stdout]     |                ----^^^^^^^^^^^^
[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/skiplist.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |         if let Some(mut p)=self.vecPtr.get_mut(index) {
[INFO] [stdout]     |                     ----^
[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/skiplist.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let mut m=Node::new((K::default(),V::default()));
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/skiplist.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/skiplist.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     for i in 0..true_count {
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 239 |     for _i in 0..true_count {
[INFO] [stdout]     |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 239 -     for i in 0..true_count {
[INFO] [stdout] 239 +     for skiplist::MAX_LEVEL in 0..true_count {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/skiplist.rs:249:14
[INFO] [stdout]     |
[INFO] [stdout] 249 |          for i in 0..true_count {         
[INFO] [stdout]     |              ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 249 |          for _i in 0..true_count {         
[INFO] [stdout]     |              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 249 -          for i in 0..true_count {         
[INFO] [stdout] 249 +          for skiplist::MAX_LEVEL in 0..true_count {         
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/skiplist.rs:295:21
[INFO] [stdout]     |
[INFO] [stdout] 295 |                 for i in 0..gap {
[INFO] [stdout]     |                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 295 |                 for _i in 0..gap {
[INFO] [stdout]     |                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 295 -                 for i in 0..gap {
[INFO] [stdout] 295 +                 for skiplist::MAX_LEVEL in 0..gap {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/skiplist.rs:222:25
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub fn insert(&mut self,mut data:(K,V)) {
[INFO] [stdout]     |                         ----^^^^
[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/skiplist.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let mut null=NodePtr::new();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_p` is never read
[INFO] [stdout]    --> src/skiplist.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let mut current_p=self.root;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/skiplist.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_p` is never read
[INFO] [stdout]    --> src/skiplist.rs:356:13
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let mut current_p=self.root;
[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]    --> src/skiplist.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_p` is never read
[INFO] [stdout]    --> src/skiplist.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |     let mut current_p=self.root;
[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]    --> src/skiplist.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_p` is never read
[INFO] [stdout]    --> src/skiplist.rs:461:13
[INFO] [stdout]     |
[INFO] [stdout] 461 |     let mut current_p=self.root;
[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]    --> src/skiplist.rs:460:9
[INFO] [stdout]     |
[INFO] [stdout] 460 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[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/skiplist.rs:524:22
[INFO] [stdout]     |
[INFO] [stdout] 524 |                  let mut p_free=ptr;
[INFO] [stdout]     |                      ----^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/vec.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let ptrone = unsafe {
[INFO] [stdout]    |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/vec.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let offset=mem::size_of::<T>() as usize;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let _offset=mem::size_of::<T>() as usize;
[INFO] [stdout]     |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 145 -     let offset=mem::size_of::<T>() as usize;
[INFO] [stdout] 145 +     let skiplist::MAX_LEVEL=mem::size_of::<T>() as usize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vec.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let mut my_data= self.ptr.offset(self.len as isize) as *mut T;
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/vec.rs:159:11
[INFO] [stdout]     |
[INFO] [stdout] 159 |       for i in 0..self.len {
[INFO] [stdout]     |           ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 159 |       for _i in 0..self.len {
[INFO] [stdout]     |           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 159 -       for i in 0..self.len {
[INFO] [stdout] 159 +       for skiplist::MAX_LEVEL in 0..self.len {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vec.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tree.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |              let mut data_pointer=&mut (*c).data as *mut T;
[INFO] [stdout]    |                  ----^^^^^^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree.rs:146:14
[INFO] [stdout]     |
[INFO] [stdout] 146 |          let mut data_pointer=&mut (*c).data as *mut T;
[INFO] [stdout]     |              ----^^^^^^^^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bsttree.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |              let mut data_pointer=&mut (*c).data as *mut T;
[INFO] [stdout]    |                  ----^^^^^^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bsttree.rs:93:14
[INFO] [stdout]    |
[INFO] [stdout] 93 |          let mut data_pointer=&mut (*c).data as *mut T;
[INFO] [stdout]    |              ----^^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bsttree.rs:109:27
[INFO] [stdout]     |
[INFO] [stdout] 109 |               if let Some(mut xroot)=self.root {
[INFO] [stdout]     |                           ----^^^^^
[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/bsttree.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     let mut left= unsafe {(*xroot).left};
[INFO] [stdout]     |                         ----^^^^
[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/bsttree.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let mut right= unsafe {(*xroot).right};
[INFO] [stdout]     |                         ----^^^^^
[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/bsttree.rs:152:26
[INFO] [stdout]     |
[INFO] [stdout] 152 |              if let Some(mut xroot) = self.root {
[INFO] [stdout]     |                          ----^^^^^
[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/bsttree.rs:158:25
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     let mut right= unsafe {(*xroot).right};
[INFO] [stdout]     |                         ----^^^^^
[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/bsttree.rs:171:25
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     let mut left= unsafe {(*xroot).left};
[INFO] [stdout]     |                         ----^^^^
[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/redblacktree.rs:661:15
[INFO] [stdout]     |
[INFO] [stdout] 661 |           let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |               ----^^^^^^^^^^^^
[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/maxheap.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut inner_data=&self.data;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[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/maxheap.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |                  let mut data=&mut self.data;
[INFO] [stdout]    |                      ----^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/hashmap.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |             for i in 0..default_capacity {
[INFO] [stdout]    |                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 48 |             for _i in 0..default_capacity {
[INFO] [stdout]    |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]    |
[INFO] [stdout] 48 -             for i in 0..default_capacity {
[INFO] [stdout] 48 +             for skiplist::MAX_LEVEL in 0..default_capacity {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/hashmap.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 let mut list=HashTableList::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/hashmap.rs:106:24
[INFO] [stdout]     |
[INFO] [stdout] 106 |            if let Some(mut value_list) = self.vec.get_mut(index as usize) {
[INFO] [stdout]     |                        ----^^^^^^^^^^
[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/hashmap.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |         if let Some(mut value_list) = self.vec.get_mut(index as usize) {
[INFO] [stdout]     |                     ----^^^^^^^^^^
[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/hashmap.rs:168:24
[INFO] [stdout]     |
[INFO] [stdout] 168 |            if let Some(mut v) =value_list.find_mut(k) {
[INFO] [stdout]     |                        ----^
[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/hashmap.rs:184:22
[INFO] [stdout]     |
[INFO] [stdout] 184 |         if let Some( mut value_list) = self.vec.get_mut(index as usize) {
[INFO] [stdout]     |                      ----^^^^^^^^^^
[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/hashmap.rs:256:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |             let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[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/hashmap.rs:287:20
[INFO] [stdout]     |
[INFO] [stdout] 287 |                let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |                    ----^^^^^^^^^^^^
[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/hashmap.rs:303:19
[INFO] [stdout]     |
[INFO] [stdout] 303 |               let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |                   ----^^^^^^^^^^^^
[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/hashmap.rs:335:23
[INFO] [stdout]     |
[INFO] [stdout] 335 |                   let mut pre_ptr=(*ptr).pre;
[INFO] [stdout]     |                       ----^^^^^^^
[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/hashmap.rs:411:26
[INFO] [stdout]     |
[INFO] [stdout] 411 |              if let Some(mut ptrone) =self.head {
[INFO] [stdout]     |                          ----^^^^^^
[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/hashmap.rs:604:22
[INFO] [stdout]     |
[INFO] [stdout] 604 |                  let mut pp_head=ptr;
[INFO] [stdout]     |                      ----^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/list.rs:382:5
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub struct List_Mut_Iterator<'a,T> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 382 |     data:&'a mut List<T>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/list.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub struct List_Iterator<'a,T> {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 432 |     data:&'a List<T>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_left_child`, `is_right_child`, `max_node`, `next`, and `prev` are never used
[INFO] [stdout]    --> src/redblacktree.rs:723:8
[INFO] [stdout]     |
[INFO] [stdout] 650 | impl<K: Ord, V> Node<K, V> {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 723 |     fn is_left_child(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 728 |     fn is_right_child(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 742 |     fn max_node(self) -> Node<K, V> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 751 |     fn next(self) -> Node<K, V> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 769 |     fn prev(self) -> Node<K, V> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `deep_clone` is never used
[INFO] [stdout]    --> src/redblacktree.rs:847:15
[INFO] [stdout]     |
[INFO] [stdout] 846 | impl<K: Ord + Clone, V: Clone> Node<K, V> {
[INFO] [stdout]     | ----------------------------------------- method in this implementation
[INFO] [stdout] 847 |     unsafe fn deep_clone(&self) -> Self {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/hashmap.rs:510:6
[INFO] [stdout]     |
[INFO] [stdout] 509 |  pub struct HashTable_Mut_Iterator<'a,K,V> {
[INFO] [stdout]     |             ---------------------- field in this struct
[INFO] [stdout] 510 |      data:&'a mut HashTableList<K,V>,
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/hashmap.rs:554:5
[INFO] [stdout]     |
[INFO] [stdout] 553 |  pub struct HashTable_Into_Iterator<K,V> {
[INFO] [stdout]     |             ----------------------- field in this struct
[INFO] [stdout] 554 |     data:HashTableList<K,V>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:291:17
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn iter(&self) -> List_Iterator<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn iter(&self) -> List_Iterator<'_, T> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put_newnodePtr` should have a snake case name
[INFO] [stdout]   --> src/skiplist.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn put_newnodePtr(&mut self,pointer:NodePtr<K,V>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `put_newnode_ptr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `vecPtr` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     vecPtr:ManVec<NodePtr<K,V>>,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `vec_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put_newnodePtr` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn put_newnodePtr(&mut self,pointer:NodePtr<K,V>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `put_newnode_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `newNodePtr` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |     let mut newNodePtr=Node::new(data);
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `new_node_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `newNodePtr` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:247:18
[INFO] [stdout]     |
[INFO] [stdout] 247 |          let mut newNodePtr=Node::new(data);
[INFO] [stdout]     |                  ^^^^^^^^^^ help: convert the identifier to snake case: `new_node_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rootLen` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:254:14
[INFO] [stdout]     |
[INFO] [stdout] 254 |          let rootLen=self.root.get_level();
[INFO] [stdout]     |              ^^^^^^^ help: convert the identifier to snake case: `root_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rustunsafedatastruct v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable `currentLevel` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentLevel` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:355:13
[INFO] [stdout]     |
[INFO] [stdout] 355 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentLevel` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentLevel` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flipCoin` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:500:8
[INFO] [stdout]     |
[INFO] [stdout] 500 | pub fn flipCoin(&mut self) -> bool {    
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `flip_coin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/vec.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 |     if index<0 || index>=self.len {
[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/vec.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 |     if index<0 || index>=self.len {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/main.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rustunsafedatastruct::vec::{self,ManVec};
[INFO] [stdout]   |                                 ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rustunsafedatastruct::tree::Tree`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rustunsafedatastruct::tree::Tree;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 |       Some(mut c) => *c=m,
[INFO] [stdout]    |            ----^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |     Some(mut c) => {println!("this is the data:{:?}",c)},
[INFO] [stdout]    |          ----^
[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/main.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 |     Some(mut c) => {println!("this two is the data:{:?}",c)},
[INFO] [stdout]    |          ----^
[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/main.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | let mut node=BSTTree::create_node(4,pn,pn);
[INFO] [stdout]     |     ----^^^^
[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/main.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 | let mut right_leaf=BSTTree::create_node(6,pn,pn);
[INFO] [stdout]     |     ----^^^^^^^^^^
[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/main.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | let mut left=BSTTree::create_node(5,pn,pn);
[INFO] [stdout]     |     ----^^^^
[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/main.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 146 | let mut left=BSTTree::create_node(3,pn,pn);
[INFO] [stdout]     |     ----^^^^
[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/main.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 | let mut left=BSTTree::create_node(10,pn,pn);
[INFO] [stdout]     |     ----^^^^
[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/main.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | let mut left=BSTTree::create_node(9,pn,pn);
[INFO] [stdout]     |     ----^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/main.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 19 |   CC(i32),
[INFO] [stdout]    |   -- ^^^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Weizhi` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 19 -   CC(i32),
[INFO] [stdout] 19 +   CC(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `x` is never read
[INFO] [stdout]   --> src/main.rs:28:3
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct My{
[INFO] [stdout]    |        -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |   x:Weizhi,
[INFO] [stdout]    |   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `My` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `List_Mut_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/list.rs:381:12
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub struct List_Mut_Iterator<'a,T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListMutIterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `List_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/list.rs:431:12
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub struct List_Iterator<'a,T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `List_Self_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/list.rs:480:12
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub struct List_Self_Iterator<T> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListSelfIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/skiplist.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/skiplist.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]  --> src/skiplist.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{thread_rng, Rng};
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::rngs::StdRng`
[INFO] [stdout]  --> src/skiplist.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::rngs::StdRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::SeedableRng`
[INFO] [stdout]  --> src/skiplist.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::SeedableRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/vec.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/vec.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Range`
[INFO] [stdout]  --> src/vec.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::{Index,IndexMut,Range};
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/vec.rs:188:15
[INFO] [stdout]     |
[INFO] [stdout] 188 |     ptr::read((self.ptr.offset((self.len-1) as isize) as *mut T))
[INFO] [stdout]     |               ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 -     ptr::read((self.ptr.offset((self.len-1) as isize) as *mut T))
[INFO] [stdout] 188 +     ptr::read(self.ptr.offset((self.len-1) as isize) as *mut T)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::list::List`
[INFO] [stdout]  --> src/tree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::list::List;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec::ManVec`
[INFO] [stdout]  --> src/tree.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::vec::ManVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/tree.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/tree.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/tree.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::list::List`
[INFO] [stdout]  --> src/bsttree.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::list::List;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vec::ManVec`
[INFO] [stdout]  --> src/bsttree.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::vec::ManVec;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/bsttree.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/bsttree.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/bsttree.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]  --> src/bsttree.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::{Ord,Ordering};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/bsttree.rs:157:22
[INFO] [stdout]     |
[INFO] [stdout] 157 |                   if (t>root_data) {
[INFO] [stdout]     |                      ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 157 -                   if (t>root_data) {
[INFO] [stdout] 157 +                   if t>root_data {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/redblacktree.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::list::List`
[INFO] [stdout]  --> src/maxheap.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::list::List;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layout`, `dealloc`, and `self`
[INFO] [stdout]  --> src/maxheap.rs:4:18
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                  ^^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/maxheap.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]  --> src/maxheap.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::cmp::{Ord,Ordering};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/hashmap.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::list::{self,List};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dealloc`
[INFO] [stdout]  --> src/hashmap.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::alloc::{self, dealloc, Layout};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]  --> src/hashmap.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::mem;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/hashmap.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ord` and `Ordering`
[INFO] [stdout]  --> src/hashmap.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::cmp::{Ord,Ordering,Eq,PartialEq};
[INFO] [stdout]   |                ^^^ ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]   --> src/hashmap.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::marker::PhantomData;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::DefaultHasher`
[INFO] [stdout]   --> src/hashmap.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::hash_map::DefaultHasher;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> src/hashmap.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `HashTable_Mut_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/hashmap.rs:509:13
[INFO] [stdout]     |
[INFO] [stdout] 509 |  pub struct HashTable_Mut_Iterator<'a,K,V> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HashTableMutIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `HashTable_Into_Iterator` should have an upper camel case name
[INFO] [stdout]    --> src/hashmap.rs:553:13
[INFO] [stdout]     |
[INFO] [stdout] 553 |  pub struct HashTable_Into_Iterator<K,V> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HashTableIntoIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]   --> src/quicksortbinarysearch.rs:72:24
[INFO] [stdout]    |
[INFO] [stdout] 72 | use rand::{thread_rng, Rng};
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/time.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/time.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::UNIX_EPOCH`
[INFO] [stdout]  --> src/time.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::UNIX_EPOCH;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/list.rs:42:16
[INFO] [stdout]    |
[INFO] [stdout] 42 |            let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]    |                ----^^^^^^^^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/list.rs:60:22
[INFO] [stdout]    |
[INFO] [stdout] 60 |         if let Some( mut ptr) = self.head {
[INFO] [stdout]    |                      ----^^^
[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/list.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]    |                     ----^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/list.rs:83:19
[INFO] [stdout]    |
[INFO] [stdout] 83 |               let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]    |                   ----^^^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/list.rs:110:19
[INFO] [stdout]     |
[INFO] [stdout] 110 |               let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]     |                   ----^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/list.rs:126:18
[INFO] [stdout]     |
[INFO] [stdout] 126 |              let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stdout]     |                  ----^^^^^^^^^^^^
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/list.rs:160:22
[INFO] [stdout]     |
[INFO] [stdout] 160 |                  let mut pre_ptr=(*ptr).pre;
[INFO] [stdout]     |                      ----^^^^^^^
[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/list.rs:211:25
[INFO] [stdout]     |
[INFO] [stdout] 211 |             if let Some(mut ptrone) =self.head {
[INFO] [stdout]     |                         ----^^^^^^
[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/list.rs:306:26
[INFO] [stdout]     |
[INFO] [stdout] 306 |                      let mut p_free=ptr;
[INFO] [stdout]     |                          ----^^^^^^
[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/list.rs:348:18
[INFO] [stdout]     |
[INFO] [stdout] 348 |     fn into_iter(mut self) -> Self::IntoIter {
[INFO] [stdout]     |                  ----^^^^
[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/list.rs:531:26
[INFO] [stdout]     |
[INFO] [stdout] 531 |                      let mut p_free=ptr;
[INFO] [stdout]     |                          ----^^^^^^
[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/skiplist.rs:141:16
[INFO] [stdout]     |
[INFO] [stdout] 141 |            let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |                ----^^^^^^^^^^^^
[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/skiplist.rs:143:16
[INFO] [stdout]     |
[INFO] [stdout] 143 |            let mut ptr=ManVec::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/skiplist.rs:144:16
[INFO] [stdout]     |
[INFO] [stdout] 144 |            let mut data_pointer=&mut ((*c).vecPtr) as *mut ManVec<NodePtr<K,V>>;
[INFO] [stdout]     |                ----^^^^^^^^^^^^
[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/skiplist.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 |         if let Some(mut p)=self.vecPtr.get_mut(index) {
[INFO] [stdout]     |                     ----^
[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/skiplist.rs:209:13
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let mut m=Node::new((K::default(),V::default()));
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/skiplist.rs:211:13
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/skiplist.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |     for i in 0..true_count {
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 239 |     for _i in 0..true_count {
[INFO] [stdout]     |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 239 -     for i in 0..true_count {
[INFO] [stdout] 239 +     for skiplist::MAX_LEVEL in 0..true_count {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/skiplist.rs:249:14
[INFO] [stdout]     |
[INFO] [stdout] 249 |          for i in 0..true_count {         
[INFO] [stdout]     |              ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 249 |          for _i in 0..true_count {         
[INFO] [stdout]     |              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 249 -          for i in 0..true_count {         
[INFO] [stdout] 249 +          for skiplist::MAX_LEVEL in 0..true_count {         
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/skiplist.rs:295:21
[INFO] [stdout]     |
[INFO] [stdout] 295 |                 for i in 0..gap {
[INFO] [stdout]     |                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 295 |                 for _i in 0..gap {
[INFO] [stdout]     |                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 295 -                 for i in 0..gap {
[INFO] [stdout] 295 +                 for skiplist::MAX_LEVEL in 0..gap {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/skiplist.rs:222:25
[INFO] [stdout]     |
[INFO] [stdout] 222 | pub fn insert(&mut self,mut data:(K,V)) {
[INFO] [stdout]     |                         ----^^^^
[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/skiplist.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let mut null=NodePtr::new();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_p` is never read
[INFO] [stdout]    --> src/skiplist.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let mut current_p=self.root;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/skiplist.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_p` is never read
[INFO] [stdout]    --> src/skiplist.rs:356:13
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let mut current_p=self.root;
[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]    --> src/skiplist.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_p` is never read
[INFO] [stdout]    --> src/skiplist.rs:418:13
[INFO] [stdout]     |
[INFO] [stdout] 418 |     let mut current_p=self.root;
[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]    --> src/skiplist.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `current_p` is never read
[INFO] [stdout]    --> src/skiplist.rs:461:13
[INFO] [stdout]     |
[INFO] [stdout] 461 |     let mut current_p=self.root;
[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]    --> src/skiplist.rs:460:9
[INFO] [stdout]     |
[INFO] [stdout] 460 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |         ----^^^^^^^^^^^^
[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/skiplist.rs:524:22
[INFO] [stdout]     |
[INFO] [stdout] 524 |                  let mut p_free=ptr;
[INFO] [stdout]     |                      ----^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> src/vec.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let ptrone = unsafe {
[INFO] [stdout]    |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/vec.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let offset=mem::size_of::<T>() as usize;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 145 |     let _offset=mem::size_of::<T>() as usize;
[INFO] [stdout]     |         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 145 -     let offset=mem::size_of::<T>() as usize;
[INFO] [stdout] 145 +     let skiplist::MAX_LEVEL=mem::size_of::<T>() as usize;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vec.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let mut my_data= self.ptr.offset(self.len as isize) as *mut T;
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/vec.rs:159:11
[INFO] [stdout]     |
[INFO] [stdout] 159 |       for i in 0..self.len {
[INFO] [stdout]     |           ^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 159 |       for _i in 0..self.len {
[INFO] [stdout]     |           +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]     |
[INFO] [stdout] 159 -       for i in 0..self.len {
[INFO] [stdout] 159 +       for skiplist::MAX_LEVEL in 0..self.len {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vec.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tree.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 29 |              let mut data_pointer=&mut (*c).data as *mut T;
[INFO] [stdout]    |                  ----^^^^^^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree.rs:146:14
[INFO] [stdout]     |
[INFO] [stdout] 146 |          let mut data_pointer=&mut (*c).data as *mut T;
[INFO] [stdout]     |              ----^^^^^^^^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bsttree.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |              let mut data_pointer=&mut (*c).data as *mut T;
[INFO] [stdout]    |                  ----^^^^^^^^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bsttree.rs:93:14
[INFO] [stdout]    |
[INFO] [stdout] 93 |          let mut data_pointer=&mut (*c).data as *mut T;
[INFO] [stdout]    |              ----^^^^^^^^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bsttree.rs:109:27
[INFO] [stdout]     |
[INFO] [stdout] 109 |               if let Some(mut xroot)=self.root {
[INFO] [stdout]     |                           ----^^^^^
[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/bsttree.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |                     let mut left= unsafe {(*xroot).left};
[INFO] [stdout]     |                         ----^^^^
[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/bsttree.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let mut right= unsafe {(*xroot).right};
[INFO] [stdout]     |                         ----^^^^^
[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/bsttree.rs:152:26
[INFO] [stdout]     |
[INFO] [stdout] 152 |              if let Some(mut xroot) = self.root {
[INFO] [stdout]     |                          ----^^^^^
[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/bsttree.rs:158:25
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     let mut right= unsafe {(*xroot).right};
[INFO] [stdout]     |                         ----^^^^^
[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/bsttree.rs:171:25
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     let mut left= unsafe {(*xroot).left};
[INFO] [stdout]     |                         ----^^^^
[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/redblacktree.rs:661:15
[INFO] [stdout]     |
[INFO] [stdout] 661 |           let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |               ----^^^^^^^^^^^^
[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/maxheap.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |             let mut inner_data=&self.data;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[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/maxheap.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |                  let mut data=&mut self.data;
[INFO] [stdout]    |                      ----^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/hashmap.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |             for i in 0..default_capacity {
[INFO] [stdout]    |                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 48 |             for _i in 0..default_capacity {
[INFO] [stdout]    |                 +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stdout]    |
[INFO] [stdout] 48 -             for i in 0..default_capacity {
[INFO] [stdout] 48 +             for skiplist::MAX_LEVEL in 0..default_capacity {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/hashmap.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 let mut list=HashTableList::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/hashmap.rs:106:24
[INFO] [stdout]     |
[INFO] [stdout] 106 |            if let Some(mut value_list) = self.vec.get_mut(index as usize) {
[INFO] [stdout]     |                        ----^^^^^^^^^^
[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/hashmap.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |         if let Some(mut value_list) = self.vec.get_mut(index as usize) {
[INFO] [stdout]     |                     ----^^^^^^^^^^
[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/hashmap.rs:168:24
[INFO] [stdout]     |
[INFO] [stdout] 168 |            if let Some(mut v) =value_list.find_mut(k) {
[INFO] [stdout]     |                        ----^
[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/hashmap.rs:184:22
[INFO] [stdout]     |
[INFO] [stdout] 184 |         if let Some( mut value_list) = self.vec.get_mut(index as usize) {
[INFO] [stdout]     |                      ----^^^^^^^^^^
[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/hashmap.rs:256:17
[INFO] [stdout]     |
[INFO] [stdout] 256 |             let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[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/hashmap.rs:287:20
[INFO] [stdout]     |
[INFO] [stdout] 287 |                let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |                    ----^^^^^^^^^^^^
[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/hashmap.rs:303:19
[INFO] [stdout]     |
[INFO] [stdout] 303 |               let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[INFO] [stdout]     |                   ----^^^^^^^^^^^^
[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/hashmap.rs:335:23
[INFO] [stdout]     |
[INFO] [stdout] 335 |                   let mut pre_ptr=(*ptr).pre;
[INFO] [stdout]     |                       ----^^^^^^^
[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/hashmap.rs:411:26
[INFO] [stdout]     |
[INFO] [stdout] 411 |              if let Some(mut ptrone) =self.head {
[INFO] [stdout]     |                          ----^^^^^^
[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/hashmap.rs:604:22
[INFO] [stdout]     |
[INFO] [stdout] 604 |                  let mut pp_head=ptr;
[INFO] [stdout]     |                      ----^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/list.rs:382:5
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub struct List_Mut_Iterator<'a,T> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 382 |     data:&'a mut List<T>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/list.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub struct List_Iterator<'a,T> {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 432 |     data:&'a List<T>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_left_child`, `is_right_child`, `max_node`, `next`, and `prev` are never used
[INFO] [stdout]    --> src/redblacktree.rs:723:8
[INFO] [stdout]     |
[INFO] [stdout] 650 | impl<K: Ord, V> Node<K, V> {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 723 |     fn is_left_child(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 728 |     fn is_right_child(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 742 |     fn max_node(self) -> Node<K, V> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 751 |     fn next(self) -> Node<K, V> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 769 |     fn prev(self) -> Node<K, V> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `deep_clone` is never used
[INFO] [stdout]    --> src/redblacktree.rs:847:15
[INFO] [stdout]     |
[INFO] [stdout] 846 | impl<K: Ord + Clone, V: Clone> Node<K, V> {
[INFO] [stdout]     | ----------------------------------------- method in this implementation
[INFO] [stdout] 847 |     unsafe fn deep_clone(&self) -> Self {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/hashmap.rs:510:6
[INFO] [stdout]     |
[INFO] [stdout] 509 |  pub struct HashTable_Mut_Iterator<'a,K,V> {
[INFO] [stdout]     |             ---------------------- field in this struct
[INFO] [stdout] 510 |      data:&'a mut HashTableList<K,V>,
[INFO] [stdout]     |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `data` is never read
[INFO] [stdout]    --> src/hashmap.rs:554:5
[INFO] [stdout]     |
[INFO] [stdout] 553 |  pub struct HashTable_Into_Iterator<K,V> {
[INFO] [stdout]     |             ----------------------- field in this struct
[INFO] [stdout] 554 |     data:HashTableList<K,V>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/list.rs:291:17
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn iter(&self) -> List_Iterator<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 291 |     pub fn iter(&self) -> List_Iterator<'_, T> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put_newnodePtr` should have a snake case name
[INFO] [stdout]   --> src/skiplist.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn put_newnodePtr(&mut self,pointer:NodePtr<K,V>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `put_newnode_ptr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `vecPtr` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     vecPtr:ManVec<NodePtr<K,V>>,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to snake case: `vec_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put_newnodePtr` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn put_newnodePtr(&mut self,pointer:NodePtr<K,V>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `put_newnode_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `newNodePtr` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:238:13
[INFO] [stdout]     |
[INFO] [stdout] 238 |     let mut newNodePtr=Node::new(data);
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `new_node_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `newNodePtr` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:247:18
[INFO] [stdout]     |
[INFO] [stdout] 247 |          let mut newNodePtr=Node::new(data);
[INFO] [stdout]     |                  ^^^^^^^^^^ help: convert the identifier to snake case: `new_node_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rootLen` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:254:14
[INFO] [stdout]     |
[INFO] [stdout] 254 |          let rootLen=self.root.get_level();
[INFO] [stdout]     |              ^^^^^^^ help: convert the identifier to snake case: `root_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentLevel` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentLevel` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:355:13
[INFO] [stdout]     |
[INFO] [stdout] 355 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentLevel` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currentLevel` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 |     let mut currentLevel=self.root.get_level();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flipCoin` should have a snake case name
[INFO] [stdout]    --> src/skiplist.rs:500:8
[INFO] [stdout]     |
[INFO] [stdout] 500 | pub fn flipCoin(&mut self) -> bool {    
[INFO] [stdout]     |        ^^^^^^^^ help: convert the identifier to snake case: `flip_coin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> src/vec.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 |     if index<0 || index>=self.len {
[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/vec.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 |     if index<0 || index>=self.len {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `testMaxHeap` should have a snake case name
[INFO] [stdout]    --> src/maxheap.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn testMaxHeap() {
[INFO] [stdout]     |    ^^^^^^^^^^^ help: convert the identifier to snake case: `test_max_heap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.17s
[INFO] running `Command { std: "docker" "inspect" "200b8427f6f8b430e6c980a43f8b683c9a40b508ac073160aef0513adbe683a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "200b8427f6f8b430e6c980a43f8b683c9a40b508ac073160aef0513adbe683a0", kill_on_drop: false }`
[INFO] [stdout] 200b8427f6f8b430e6c980a43f8b683c9a40b508ac073160aef0513adbe683a0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 88d56539bdafdbc09a13a4ba7ff886ec856fefcbf48313af09c05d066b30326a
[INFO] running `Command { std: "docker" "start" "-a" "88d56539bdafdbc09a13a4ba7ff886ec856fefcbf48313af09c05d066b30326a", kill_on_drop: false }`
[INFO] [stderr] warning: type `List_Mut_Iterator` should have an upper camel case name
[INFO] [stderr]    --> src/list.rs:381:12
[INFO] [stderr]     |
[INFO] [stderr] 381 | pub struct List_Mut_Iterator<'a,T> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListMutIterator`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `List_Iterator` should have an upper camel case name
[INFO] [stderr]    --> src/list.rs:431:12
[INFO] [stderr]     |
[INFO] [stderr] 431 | pub struct List_Iterator<'a,T> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListIterator`
[INFO] [stderr] 
[INFO] [stderr] warning: type `List_Self_Iterator` should have an upper camel case name
[INFO] [stderr]    --> src/list.rs:480:12
[INFO] [stderr]     |
[INFO] [stderr] 480 | pub struct List_Self_Iterator<T> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListSelfIterator`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `dealloc`
[INFO] [stderr]  --> src/skiplist.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::alloc::{self, dealloc, Layout};
[INFO] [stderr]   |                        ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]  --> src/skiplist.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::mem;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `thread_rng`
[INFO] [stderr]  --> src/skiplist.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | use rand::{thread_rng, Rng};
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::rngs::StdRng`
[INFO] [stderr]  --> src/skiplist.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use rand::rngs::StdRng;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::SeedableRng`
[INFO] [stderr]  --> src/skiplist.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use rand::SeedableRng;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `dealloc`
[INFO] [stderr]  --> src/vec.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::alloc::{self, dealloc, Layout};
[INFO] [stderr]   |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> src/vec.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Range`
[INFO] [stderr]  --> src/vec.rs:5:31
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::ops::{Index,IndexMut,Range};
[INFO] [stderr]   |                               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/vec.rs:188:15
[INFO] [stderr]     |
[INFO] [stderr] 188 |     ptr::read((self.ptr.offset((self.len-1) as isize) as *mut T))
[INFO] [stderr]     |               ^                                                ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 188 -     ptr::read((self.ptr.offset((self.len-1) as isize) as *mut T))
[INFO] [stderr] 188 +     ptr::read(self.ptr.offset((self.len-1) as isize) as *mut T)
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::list::List`
[INFO] [stderr]  --> src/tree.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::list::List;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::vec::ManVec`
[INFO] [stderr]  --> src/tree.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::vec::ManVec;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `dealloc`
[INFO] [stderr]  --> src/tree.rs:4:24
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::alloc::{self, dealloc, Layout};
[INFO] [stderr]   |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]  --> src/tree.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::mem;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> src/tree.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::list::List`
[INFO] [stderr]  --> src/bsttree.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::list::List;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::vec::ManVec`
[INFO] [stderr]  --> src/bsttree.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::vec::ManVec;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `dealloc`
[INFO] [stderr]  --> src/bsttree.rs:4:24
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::alloc::{self, dealloc, Layout};
[INFO] [stderr]   |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]  --> src/bsttree.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::mem;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> src/bsttree.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Ordering`
[INFO] [stderr]  --> src/bsttree.rs:8:20
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::cmp::{Ord,Ordering};
[INFO] [stderr]   |                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/bsttree.rs:157:22
[INFO] [stderr]     |
[INFO] [stderr] 157 |                   if (t>root_data) {
[INFO] [stderr]     |                      ^           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 157 -                   if (t>root_data) {
[INFO] [stderr] 157 +                   if t>root_data {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `dealloc`
[INFO] [stderr]  --> src/redblacktree.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::alloc::{self, dealloc, Layout};
[INFO] [stderr]   |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::list::List`
[INFO] [stderr]  --> src/maxheap.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::list::List;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Layout`, `dealloc`, and `self`
[INFO] [stderr]  --> src/maxheap.rs:4:18
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::alloc::{self, dealloc, Layout};
[INFO] [stderr]   |                  ^^^^  ^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]  --> src/maxheap.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::mem;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Ordering`
[INFO] [stderr]  --> src/maxheap.rs:8:20
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::cmp::{Ord,Ordering};
[INFO] [stderr]   |                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> src/hashmap.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::list::{self,List};
[INFO] [stderr]   |                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `dealloc`
[INFO] [stderr]  --> src/hashmap.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::alloc::{self, dealloc, Layout};
[INFO] [stderr]   |                        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem`
[INFO] [stderr]  --> src/hashmap.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::mem;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt::Debug`
[INFO] [stderr]  --> src/hashmap.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::fmt::Debug;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Ord` and `Ordering`
[INFO] [stderr]  --> src/hashmap.rs:9:16
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::cmp::{Ord,Ordering,Eq,PartialEq};
[INFO] [stderr]   |                ^^^ ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::marker::PhantomData`
[INFO] [stderr]   --> src/hashmap.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::marker::PhantomData;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::hash_map::DefaultHasher`
[INFO] [stderr]   --> src/hashmap.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::collections::hash_map::DefaultHasher;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::borrow::Borrow`
[INFO] [stderr]   --> src/hashmap.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use std::borrow::Borrow;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `HashTable_Mut_Iterator` should have an upper camel case name
[INFO] [stderr]    --> src/hashmap.rs:509:13
[INFO] [stderr]     |
[INFO] [stderr] 509 |  pub struct HashTable_Mut_Iterator<'a,K,V> {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HashTableMutIterator`
[INFO] [stderr] 
[INFO] [stderr] warning: type `HashTable_Into_Iterator` should have an upper camel case name
[INFO] [stderr]    --> src/hashmap.rs:553:13
[INFO] [stderr]     |
[INFO] [stderr] 553 |  pub struct HashTable_Into_Iterator<K,V> {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HashTableIntoIterator`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::vec::ManVec`
[INFO] [stderr]  --> src/quicksortbinarysearch.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::vec::ManVec;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Rng`
[INFO] [stderr]   --> src/quicksortbinarysearch.rs:72:24
[INFO] [stderr]    |
[INFO] [stderr] 72 | use rand::{thread_rng, Rng};
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> src/time.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Instant`
[INFO] [stderr]  --> src/time.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::time::Instant;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::UNIX_EPOCH`
[INFO] [stderr]  --> src/time.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::time::UNIX_EPOCH;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/list.rs:42:16
[INFO] [stderr]    |
[INFO] [stderr] 42 |            let mut data_pointer=&mut ((*c).data) as *mut T;
[INFO] [stderr]    |                ----^^^^^^^^^^^^
[INFO] [stderr]    |                |
[INFO] [stderr]    |                help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/list.rs:60:22
[INFO] [stderr]    |
[INFO] [stderr] 60 |         if let Some( mut ptr) = self.head {
[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/list.rs:65:21
[INFO] [stderr]    |
[INFO] [stderr] 65 |                 let mut data_pointer=&mut ((*c).data) as *mut 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/list.rs:83:19
[INFO] [stderr]    |
[INFO] [stderr] 83 |               let mut data_pointer=&mut ((*c).data) as *mut 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/list.rs:110:19
[INFO] [stderr]     |
[INFO] [stderr] 110 |               let mut data_pointer=&mut ((*c).data) as *mut 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/list.rs:126:18
[INFO] [stderr]     |
[INFO] [stderr] 126 |              let mut data_pointer=&mut ((*c).data) as *mut 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/list.rs:160:22
[INFO] [stderr]     |
[INFO] [stderr] 160 |                  let mut pre_ptr=(*ptr).pre;
[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/list.rs:211:25
[INFO] [stderr]     |
[INFO] [stderr] 211 |             if let Some(mut ptrone) =self.head {
[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/list.rs:306:26
[INFO] [stderr]     |
[INFO] [stderr] 306 |                      let mut p_free=ptr;
[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/list.rs:348:18
[INFO] [stderr]     |
[INFO] [stderr] 348 |     fn into_iter(mut self) -> Self::IntoIter {
[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/list.rs:531:26
[INFO] [stderr]     |
[INFO] [stderr] 531 |                      let mut p_free=ptr;
[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/skiplist.rs:141:16
[INFO] [stderr]     |
[INFO] [stderr] 141 |            let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[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/skiplist.rs:143:16
[INFO] [stderr]     |
[INFO] [stderr] 143 |            let mut ptr=ManVec::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]    --> src/skiplist.rs:144:16
[INFO] [stderr]     |
[INFO] [stderr] 144 |            let mut data_pointer=&mut ((*c).vecPtr) as *mut ManVec<NodePtr<K,V>>;
[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/skiplist.rs:158:21
[INFO] [stderr]     |
[INFO] [stderr] 158 |         if let Some(mut p)=self.vecPtr.get_mut(index) {
[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/skiplist.rs:209:13
[INFO] [stderr]     |
[INFO] [stderr] 209 |         let mut m=Node::new((K::default(),V::default()));
[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/skiplist.rs:211:13
[INFO] [stderr]     |
[INFO] [stderr] 211 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/skiplist.rs:239:9
[INFO] [stderr]     |
[INFO] [stderr] 239 |     for i in 0..true_count {
[INFO] [stderr]     |         ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 239 |     for _i in 0..true_count {
[INFO] [stderr]     |         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stderr]     |
[INFO] [stderr] 239 -     for i in 0..true_count {
[INFO] [stderr] 239 +     for skiplist::MAX_LEVEL in 0..true_count {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/skiplist.rs:249:14
[INFO] [stderr]     |
[INFO] [stderr] 249 |          for i in 0..true_count {         
[INFO] [stderr]     |              ^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 249 |          for _i in 0..true_count {         
[INFO] [stderr]     |              +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stderr]     |
[INFO] [stderr] 249 -          for i in 0..true_count {         
[INFO] [stderr] 249 +          for skiplist::MAX_LEVEL in 0..true_count {         
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/skiplist.rs:295:21
[INFO] [stderr]     |
[INFO] [stderr] 295 |                 for i in 0..gap {
[INFO] [stderr]     |                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 295 |                 for _i in 0..gap {
[INFO] [stderr]     |                     +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stderr]     |
[INFO] [stderr] 295 -                 for i in 0..gap {
[INFO] [stderr] 295 +                 for skiplist::MAX_LEVEL in 0..gap {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/skiplist.rs:222:25
[INFO] [stderr]     |
[INFO] [stderr] 222 | pub fn insert(&mut self,mut data:(K,V)) {
[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/skiplist.rs:224:9
[INFO] [stderr]     |
[INFO] [stderr] 224 |     let mut null=NodePtr::new();
[INFO] [stderr]     |         ----^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `current_p` is never read
[INFO] [stderr]    --> src/skiplist.rs:317:13
[INFO] [stderr]     |
[INFO] [stderr] 317 |     let mut current_p=self.root;
[INFO] [stderr]     |             ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/skiplist.rs:314:9
[INFO] [stderr]     |
[INFO] [stderr] 314 |     let mut currentLevel=self.root.get_level();
[INFO] [stderr]     |         ----^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `current_p` is never read
[INFO] [stderr]    --> src/skiplist.rs:356:13
[INFO] [stderr]     |
[INFO] [stderr] 356 |     let mut current_p=self.root;
[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]    --> src/skiplist.rs:355:9
[INFO] [stderr]     |
[INFO] [stderr] 355 |     let mut currentLevel=self.root.get_level();
[INFO] [stderr]     |         ----^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `current_p` is never read
[INFO] [stderr]    --> src/skiplist.rs:418:13
[INFO] [stderr]     |
[INFO] [stderr] 418 |     let mut current_p=self.root;
[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]    --> src/skiplist.rs:417:9
[INFO] [stderr]     |
[INFO] [stderr] 417 |     let mut currentLevel=self.root.get_level();
[INFO] [stderr]     |         ----^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `current_p` is never read
[INFO] [stderr]    --> src/skiplist.rs:461:13
[INFO] [stderr]     |
[INFO] [stderr] 461 |     let mut current_p=self.root;
[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]    --> src/skiplist.rs:460:9
[INFO] [stderr]     |
[INFO] [stderr] 460 |     let mut currentLevel=self.root.get_level();
[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/skiplist.rs:524:22
[INFO] [stderr]     |
[INFO] [stderr] 524 |                  let mut p_free=ptr;
[INFO] [stderr]     |                      ----^^^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/vec.rs:92:18
[INFO] [stderr]    |
[INFO] [stderr] 92 |     let ptrone = unsafe {
[INFO] [stderr]    |                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `offset`
[INFO] [stderr]    --> src/vec.rs:145:9
[INFO] [stderr]     |
[INFO] [stderr] 145 |     let offset=mem::size_of::<T>() as usize;
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 145 |     let _offset=mem::size_of::<T>() as usize;
[INFO] [stderr]     |         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stderr]     |
[INFO] [stderr] 145 -     let offset=mem::size_of::<T>() as usize;
[INFO] [stderr] 145 +     let skiplist::MAX_LEVEL=mem::size_of::<T>() as usize;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/vec.rs:147:9
[INFO] [stderr]     |
[INFO] [stderr] 147 |     let mut my_data= self.ptr.offset(self.len as isize) as *mut T;
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/vec.rs:159:11
[INFO] [stderr]     |
[INFO] [stderr] 159 |       for i in 0..self.len {
[INFO] [stderr]     |           ^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 159 |       for _i in 0..self.len {
[INFO] [stderr]     |           +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stderr]     |
[INFO] [stderr] 159 -       for i in 0..self.len {
[INFO] [stderr] 159 +       for skiplist::MAX_LEVEL in 0..self.len {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vec.rs:158:5
[INFO] [stderr]     |
[INFO] [stderr] 158 |     unsafe {
[INFO] [stderr]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/tree.rs:29:18
[INFO] [stderr]    |
[INFO] [stderr] 29 |              let mut data_pointer=&mut (*c).data as *mut 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/tree.rs:146:14
[INFO] [stderr]     |
[INFO] [stderr] 146 |          let mut data_pointer=&mut (*c).data as *mut 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/bsttree.rs:35:18
[INFO] [stderr]    |
[INFO] [stderr] 35 |              let mut data_pointer=&mut (*c).data as *mut 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/bsttree.rs:93:14
[INFO] [stderr]    |
[INFO] [stderr] 93 |          let mut data_pointer=&mut (*c).data as *mut 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/bsttree.rs:109:27
[INFO] [stderr]     |
[INFO] [stderr] 109 |               if let Some(mut xroot)=self.root {
[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/bsttree.rs:115:25
[INFO] [stderr]     |
[INFO] [stderr] 115 |                     let mut left= unsafe {(*xroot).left};
[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/bsttree.rs:129:25
[INFO] [stderr]     |
[INFO] [stderr] 129 |                     let mut right= unsafe {(*xroot).right};
[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/bsttree.rs:152:26
[INFO] [stderr]     |
[INFO] [stderr] 152 |              if let Some(mut xroot) = self.root {
[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/bsttree.rs:158:25
[INFO] [stderr]     |
[INFO] [stderr] 158 |                     let mut right= unsafe {(*xroot).right};
[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/bsttree.rs:171:25
[INFO] [stderr]     |
[INFO] [stderr] 171 |                     let mut left= unsafe {(*xroot).left};
[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/redblacktree.rs:661:15
[INFO] [stderr]     |
[INFO] [stderr] 661 |           let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[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/maxheap.rs:69:17
[INFO] [stderr]    |
[INFO] [stderr] 69 |             let mut inner_data=&self.data;
[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/maxheap.rs:74:22
[INFO] [stderr]    |
[INFO] [stderr] 74 |                  let mut data=&mut self.data;
[INFO] [stderr]    |                      ----^^^^
[INFO] [stderr]    |                      |
[INFO] [stderr]    |                      help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/hashmap.rs:48:17
[INFO] [stderr]    |
[INFO] [stderr] 48 |             for i in 0..default_capacity {
[INFO] [stderr]    |                 ^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 48 |             for _i in 0..default_capacity {
[INFO] [stderr]    |                 +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `MAX_LEVEL`
[INFO] [stderr]    |
[INFO] [stderr] 48 -             for i in 0..default_capacity {
[INFO] [stderr] 48 +             for skiplist::MAX_LEVEL in 0..default_capacity {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/hashmap.rs:49:21
[INFO] [stderr]    |
[INFO] [stderr] 49 |                 let mut list=HashTableList::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]    --> src/hashmap.rs:106:24
[INFO] [stderr]     |
[INFO] [stderr] 106 |            if let Some(mut value_list) = self.vec.get_mut(index as usize) {
[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/hashmap.rs:167:21
[INFO] [stderr]     |
[INFO] [stderr] 167 |         if let Some(mut value_list) = self.vec.get_mut(index as usize) {
[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/hashmap.rs:168:24
[INFO] [stderr]     |
[INFO] [stderr] 168 |            if let Some(mut v) =value_list.find_mut(k) {
[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/hashmap.rs:184:22
[INFO] [stderr]     |
[INFO] [stderr] 184 |         if let Some( mut value_list) = self.vec.get_mut(index as usize) {
[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/hashmap.rs:256:17
[INFO] [stderr]     |
[INFO] [stderr] 256 |             let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[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/hashmap.rs:287:20
[INFO] [stderr]     |
[INFO] [stderr] 287 |                let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[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/hashmap.rs:303:19
[INFO] [stderr]     |
[INFO] [stderr] 303 |               let mut data_pointer=&mut ((*c).data) as *mut (K,V);
[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/hashmap.rs:335:23
[INFO] [stderr]     |
[INFO] [stderr] 335 |                   let mut pre_ptr=(*ptr).pre;
[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/hashmap.rs:411:26
[INFO] [stderr]     |
[INFO] [stderr] 411 |              if let Some(mut ptrone) =self.head {
[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/hashmap.rs:604:22
[INFO] [stderr]     |
[INFO] [stderr] 604 |                  let mut pp_head=ptr;
[INFO] [stderr]     |                      ----^^^^^^^
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `data` is never read
[INFO] [stderr]    --> src/list.rs:382:5
[INFO] [stderr]     |
[INFO] [stderr] 381 | pub struct List_Mut_Iterator<'a,T> {
[INFO] [stderr]     |            ----------------- field in this struct
[INFO] [stderr] 382 |     data:&'a mut List<T>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `data` is never read
[INFO] [stderr]    --> src/list.rs:432:5
[INFO] [stderr]     |
[INFO] [stderr] 431 | pub struct List_Iterator<'a,T> {
[INFO] [stderr]     |            ------------- field in this struct
[INFO] [stderr] 432 |     data:&'a List<T>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_left_child`, `is_right_child`, `max_node`, `next`, and `prev` are never used
[INFO] [stderr]    --> src/redblacktree.rs:723:8
[INFO] [stderr]     |
[INFO] [stderr] 650 | impl<K: Ord, V> Node<K, V> {
[INFO] [stderr]     | -------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 723 |     fn is_left_child(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 728 |     fn is_right_child(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 742 |     fn max_node(self) -> Node<K, V> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 751 |     fn next(self) -> Node<K, V> {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 769 |     fn prev(self) -> Node<K, V> {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `deep_clone` is never used
[INFO] [stderr]    --> src/redblacktree.rs:847:15
[INFO] [stderr]     |
[INFO] [stderr] 846 | impl<K: Ord + Clone, V: Clone> Node<K, V> {
[INFO] [stderr]     | ----------------------------------------- method in this implementation
[INFO] [stderr] 847 |     unsafe fn deep_clone(&self) -> Self {
[INFO] [stderr]     |               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `data` is never read
[INFO] [stderr]    --> src/hashmap.rs:510:6
[INFO] [stderr]     |
[INFO] [stderr] 509 |  pub struct HashTable_Mut_Iterator<'a,K,V> {
[INFO] [stderr]     |             ---------------------- field in this struct
[INFO] [stderr] 510 |      data:&'a mut HashTableList<K,V>,
[INFO] [stderr]     |      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `data` is never read
[INFO] [stderr]    --> src/hashmap.rs:554:5
[INFO] [stderr]     |
[INFO] [stderr] 553 |  pub struct HashTable_Into_Iterator<K,V> {
[INFO] [stderr]     |             ----------------------- field in this struct
[INFO] [stderr] 554 |     data:HashTableList<K,V>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/list.rs:291:17
[INFO] [stderr]     |
[INFO] [stderr] 291 |     pub fn iter(&self) -> List_Iterator<T> {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 291 |     pub fn iter(&self) -> List_Iterator<'_, T> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: method `put_newnodePtr` should have a snake case name
[INFO] [stderr]   --> src/skiplist.rs:96:12
[INFO] [stderr]    |
[INFO] [stderr] 96 |     pub fn put_newnodePtr(&mut self,pointer:NodePtr<K,V>) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `put_newnode_ptr`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `vecPtr` should have a snake case name
[INFO] [stderr]    --> src/skiplist.rs:130:5
[INFO] [stderr]     |
[INFO] [stderr] 130 |     vecPtr:ManVec<NodePtr<K,V>>,
[INFO] [stderr]     |     ^^^^^^ help: convert the identifier to snake case: `vec_ptr`
[INFO] [stderr] 
[INFO] [stderr] warning: method `put_newnodePtr` should have a snake case name
[INFO] [stderr]    --> src/skiplist.rs:174:12
[INFO] [stderr]     |
[INFO] [stderr] 174 |     pub fn put_newnodePtr(&mut self,pointer:NodePtr<K,V>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `put_newnode_ptr`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `newNodePtr` should have a snake case name
[INFO] [stderr]    --> src/skiplist.rs:238:13
[INFO] [stderr]     |
[INFO] [stderr] 238 |     let mut newNodePtr=Node::new(data);
[INFO] [stderr]     |             ^^^^^^^^^^ help: convert the identifier to snake case: `new_node_ptr`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `newNodePtr` should have a snake case name
[INFO] [stderr]    --> src/skiplist.rs:247:18
[INFO] [stderr]     |
[INFO] [stderr] 247 |          let mut newNodePtr=Node::new(data);
[INFO] [stderr]     |                  ^^^^^^^^^^ help: convert the identifier to snake case: `new_node_ptr`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `rootLen` should have a snake case name
[INFO] [stderr]    --> src/skiplist.rs:254:14
[INFO] [stderr]     |
[INFO] [stderr] 254 |          let rootLen=self.root.get_level();
[INFO] [stderr]     |              ^^^^^^^ help: convert the identifier to snake case: `root_len`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `currentLevel` should have a snake case name
[INFO] [stderr]    --> src/skiplist.rs:314:13
[INFO] [stderr]     |
[INFO] [stderr] 314 |     let mut currentLevel=self.root.get_level();
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `currentLevel` should have a snake case name
[INFO] [stderr]    --> src/skiplist.rs:355:13
[INFO] [stderr]     |
[INFO] [stderr] 355 |     let mut currentLevel=self.root.get_level();
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `currentLevel` should have a snake case name
[INFO] [stderr]    --> src/skiplist.rs:417:13
[INFO] [stderr]     |
[INFO] [stderr] 417 |     let mut currentLevel=self.root.get_level();
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `currentLevel` should have a snake case name
[INFO] [stderr]    --> src/skiplist.rs:460:13
[INFO] [stderr]     |
[INFO] [stderr] 460 |     let mut currentLevel=self.root.get_level();
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `current_level`
[INFO] [stderr] 
[INFO] [stderr] warning: method `flipCoin` should have a snake case name
[INFO] [stderr]    --> src/skiplist.rs:500:8
[INFO] [stderr]     |
[INFO] [stderr] 500 | pub fn flipCoin(&mut self) -> bool {    
[INFO] [stderr]     |        ^^^^^^^^ help: convert the identifier to snake case: `flip_coin`
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]   --> src/vec.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 32 |     if index<0 || index>=self.len {
[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/vec.rs:43:8
[INFO] [stderr]    |
[INFO] [stderr] 43 |     if index<0 || index>=self.len {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `testMaxHeap` should have a snake case name
[INFO] [stderr]    --> src/maxheap.rs:121:4
[INFO] [stderr]     |
[INFO] [stderr] 121 | fn testMaxHeap() {
[INFO] [stderr]     |    ^^^^^^^^^^^ help: convert the identifier to snake case: `test_max_heap`
[INFO] [stderr] 
[INFO] [stderr] warning: `rustunsafedatastruct` (lib) generated 125 warnings (run `cargo fix --lib -p rustunsafedatastruct` to apply 95 suggestions)
[INFO] [stderr] warning: `rustunsafedatastruct` (lib test) generated 125 warnings (124 duplicates)
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> src/main.rs:2:33
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rustunsafedatastruct::vec::{self,ManVec};
[INFO] [stderr]   |                                 ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rustunsafedatastruct::tree::Tree`
[INFO] [stderr]  --> src/main.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rustunsafedatastruct::tree::Tree;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 |       Some(mut c) => *c=m,
[INFO] [stderr]    |            ----^
[INFO] [stderr]    |            |
[INFO] [stderr]    |            help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:90:10
[INFO] [stderr]    |
[INFO] [stderr] 90 |     Some(mut c) => {println!("this is the data:{:?}",c)},
[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/main.rs:97:10
[INFO] [stderr]    |
[INFO] [stderr] 97 |     Some(mut c) => {println!("this two is the data:{:?}",c)},
[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/main.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 | let mut node=BSTTree::create_node(4,pn,pn);
[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/main.rs:140:5
[INFO] [stderr]     |
[INFO] [stderr] 140 | let mut right_leaf=BSTTree::create_node(6,pn,pn);
[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/main.rs:143:5
[INFO] [stderr]     |
[INFO] [stderr] 143 | let mut left=BSTTree::create_node(5,pn,pn);
[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/main.rs:146:5
[INFO] [stderr]     |
[INFO] [stderr] 146 | let mut left=BSTTree::create_node(3,pn,pn);
[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/main.rs:149:5
[INFO] [stderr]     |
[INFO] [stderr] 149 | let mut left=BSTTree::create_node(10,pn,pn);
[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/main.rs:152:5
[INFO] [stderr]     |
[INFO] [stderr] 152 | let mut left=BSTTree::create_node(9,pn,pn);
[INFO] [stderr]     |     ----^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/main.rs:19:6
[INFO] [stderr]    |
[INFO] [stderr] 19 |   CC(i32),
[INFO] [stderr]    |   -- ^^^
[INFO] [stderr]    |   |
[INFO] [stderr]    |   field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Weizhi` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 19 -   CC(i32),
[INFO] [stderr] 19 +   CC(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `x` is never read
[INFO] [stderr]   --> src/main.rs:28:3
[INFO] [stderr]    |
[INFO] [stderr] 25 | struct My{
[INFO] [stderr]    |        -- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 28 |   x:Weizhi,
[INFO] [stderr]    |   ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `My` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `rustunsafedatastruct` (bin "rustunsafedatastruct" test) generated 13 warnings (run `cargo fix --bin "rustunsafedatastruct" --tests` to apply 11 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rustunsafedatastruct-f5265f5e6ef22ace)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test hashmap::test_hashmap ... ok
[INFO] [stdout] test hashmap::test_listhashtable ... ok
[INFO] [stdout] test redblacktree::test_empty_remove ... ok
[INFO] [stdout] test maxheap::testMaxHeap ... ok
[INFO] [stdout] test redblacktree::test_find_mut ... ok
[INFO] [stdout] test redblacktree::test_find ... ok
[INFO] [stdout] test redblacktree::test_remove ... ok
[INFO] [stdout] test redblacktree::test_pop ... ok
[INFO] [stdout] test redblacktree::test_replace ... ok
[INFO] [stdout] test vec::test_vec_acrossthread ... ok
[INFO] [stdout] test redblacktree::test_insert ... ok
[INFO] [stdout] test redblacktree::test_is_empty ... ok
[INFO] [stdout] test vec::test_vec_slice ... ok
[INFO] [stdout] test quicksortbinarysearch::test_binary_search ... ok
[INFO] [stdout] test quicksortbinarysearch::test_sort ... ok
[INFO] [stdout] test skiplist::test_skiplist ... ok
[INFO] [stdout] test hashmap::test_hashmap_other ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rustunsafedatastruct-fc30ad22c1c55ae0)
[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]    Doc-tests rustunsafedatastruct
[INFO] [stderr] warning: type `List_Mut_Iterator` should have an upper camel case name
[INFO] [stderr]    --> src/list.rs:381:12
[INFO] [stderr]     |
[INFO] [stderr] 381 | pub struct List_Mut_Iterator<'a,T> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListMutIterator`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `List_Iterator` should have an upper camel case name
[INFO] [stderr]    --> src/list.rs:431:12
[INFO] [stderr]     |
[INFO] [stderr] 431 | pub struct List_Iterator<'a,T> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListIterator`
[INFO] [stderr] 
[INFO] [stderr] warning: type `List_Self_Iterator` should have an upper camel case name
[INFO] [stderr]    --> src/list.rs:480:12
[INFO] [stderr]     |
[INFO] [stderr] 480 | pub struct List_Self_Iterator<T> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ListSelfIterator`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]    --> src/vec.rs:188:15
[INFO] [stderr]     |
[INFO] [stderr] 188 |     ptr::read((self.ptr.offset((self.len-1) as isize) as *mut T))
[INFO] [stderr]     |               ^                                                ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 188 -     ptr::read((self.ptr.offset((self.len-1) as isize) as *mut T))
[INFO] [stderr] 188 +     ptr::read(self.ptr.offset((self.len-1) as isize) as *mut T)
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/bsttree.rs:157:22
[INFO] [stderr]     |
[INFO] [stderr] 157 |                   if (t>root_data) {
[INFO] [stderr]     |                      ^           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 157 -                   if (t>root_data) {
[INFO] [stderr] 157 +                   if t>root_data {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: type `HashTable_Mut_Iterator` should have an upper camel case name
[INFO] [stderr]    --> src/hashmap.rs:509:13
[INFO] [stderr]     |
[INFO] [stderr] 509 |  pub struct HashTable_Mut_Iterator<'a,K,V> {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HashTableMutIterator`
[INFO] [stderr] 
[INFO] [stderr] warning: type `HashTable_Into_Iterator` should have an upper camel case name
[INFO] [stderr]    --> src/hashmap.rs:553:13
[INFO] [stderr]     |
[INFO] [stderr] 553 |  pub struct HashTable_Into_Iterator<K,V> {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `HashTableIntoIterator`
[INFO] [stderr] 
[INFO] [stderr] warning: 7 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "88d56539bdafdbc09a13a4ba7ff886ec856fefcbf48313af09c05d066b30326a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "88d56539bdafdbc09a13a4ba7ff886ec856fefcbf48313af09c05d066b30326a", kill_on_drop: false }`
[INFO] [stdout] 88d56539bdafdbc09a13a4ba7ff886ec856fefcbf48313af09c05d066b30326a
