[INFO] cloning repository https://github.com/aditya2337/learn-algorithms
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aditya2337/learn-algorithms" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faditya2337%2Flearn-algorithms", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faditya2337%2Flearn-algorithms'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] aef65b374234414a932c7b41b2d6fcceae562728
[INFO] checking aditya2337/learn-algorithms against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faditya2337%2Flearn-algorithms" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/aditya2337/learn-algorithms
[INFO] finished tweaking git repo https://github.com/aditya2337/learn-algorithms
[INFO] tweaked toml for git repo https://github.com/aditya2337/learn-algorithms written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aditya2337/learn-algorithms on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aditya2337/learn-algorithms 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rstest v0.17.0
[INFO] [stderr]   Downloaded rstest_macros v0.17.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 218274f4e1a9fbe584ba231c756720089ecccd894dd329c90323fe8c545a252a
[INFO] running `Command { std: "docker" "start" "-a" "218274f4e1a9fbe584ba231c756720089ecccd894dd329c90323fe8c545a252a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "218274f4e1a9fbe584ba231c756720089ecccd894dd329c90323fe8c545a252a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "218274f4e1a9fbe584ba231c756720089ecccd894dd329c90323fe8c545a252a", kill_on_drop: false }`
[INFO] [stdout] 218274f4e1a9fbe584ba231c756720089ecccd894dd329c90323fe8c545a252a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9e947368a4dcd02fcbc87f8ce1bd9a183422e2954c596c95a9511f3bf44d946f
[INFO] running `Command { std: "docker" "start" "-a" "9e947368a4dcd02fcbc87f8ce1bd9a183422e2954c596c95a9511f3bf44d946f", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling semver v1.0.17
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]     Checking futures-sink v0.3.28
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]     Checking futures-timer v3.0.2
[INFO] [stderr]    Compiling syn v2.0.18
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling rstest_macros v0.17.0
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]     Checking futures-executor v0.3.28
[INFO] [stderr]     Checking futures v0.3.28
[INFO] [stderr]     Checking rstest v0.17.0
[INFO] [stderr]     Checking scripts v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]  --> src/binary_tree/breadth_first_traversal.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::types::{BinaryTree, Node};
[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 imports: `mem` and `ops::Index`
[INFO] [stdout]  --> src/linked_lists/linked_lists.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::Debug, mem, ptr, ops::Index};
[INFO] [stdout]   |                       ^^^       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/path_finding.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |         if (i >= maze.len()) {
[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] 21 -         if (i >= maze.len()) {
[INFO] [stdout] 21 +         if i >= maze.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/path_finding.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 |         if (walk(
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 80 |         )) {
[INFO] [stdout]    |          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 ~         if walk(
[INFO] [stdout] 74 |             maze,
[INFO] [stdout] ...
[INFO] [stdout] 79 |             path,
[INFO] [stdout] 80 ~         ) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]  --> src/binary_tree/breadth_first_traversal.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::types::{BinaryTree, Node};
[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 imports: `mem` and `ops::Index`
[INFO] [stdout]  --> src/linked_lists/linked_lists.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fmt::Debug, mem, ptr, ops::Index};
[INFO] [stdout]   |                       ^^^       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/path_finding.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |         if (i >= maze.len()) {
[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] 21 -         if (i >= maze.len()) {
[INFO] [stdout] 21 +         if i >= maze.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/path_finding.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 |         if (walk(
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 80 |         )) {
[INFO] [stdout]    |          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 ~         if walk(
[INFO] [stdout] 74 |             maze,
[INFO] [stdout] ...
[INFO] [stdout] 79 |             path,
[INFO] [stdout] 80 ~         ) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/queue.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut current_node = self.head.take();
[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: function `pre_order_traversal` is never used
[INFO] [stdout]  --> src/binary_tree/binary_tree_pre_order.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn pre_order_traversal<T: std::clone::Clone>(head: &Link<T>) -> Vec<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: function `walk` is never used
[INFO] [stdout]  --> src/binary_tree/binary_tree_pre_order.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn walk<T: Clone>(node: &Link<T>, path: &mut Vec<T>) {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `breadth_first_traversal` is never used
[INFO] [stdout]  --> src/binary_tree/breadth_first_traversal.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn breadth_first_traversal<T: Clone>(tree: &BinaryTree<T>) -> Vec<T> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push_to_queue` is never used
[INFO] [stdout]   --> src/binary_tree/breadth_first_traversal.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn push_to_queue<T>(value: Option<T>, queue: &mut Queue<T>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mock_tree` is never used
[INFO] [stdout]  --> src/binary_tree/mock_tree.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn get_mock_tree() -> BinaryTree<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinaryTree` is never constructed
[INFO] [stdout]  --> src/binary_tree/types.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct BinaryTree<T> {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/binary_tree/types.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | / impl<T> BinaryTree<T>
[INFO] [stdout] 10 | | where
[INFO] [stdout] 11 | |     T: Debug,
[INFO] [stdout]    | |_____________- associated function in this implementation
[INFO] [stdout] 12 |   {
[INFO] [stdout] 13 |       pub fn new() -> Self {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/binary_tree/types.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Node<T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/binary_tree/types.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | / impl<T> Node<T>
[INFO] [stdout] 26 | | where
[INFO] [stdout] 27 | |     T: Debug,
[INFO] [stdout]    | |_____________- associated function in this implementation
[INFO] [stdout] 28 |   {
[INFO] [stdout] 29 |       pub fn new(value: T) -> Self {
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]   --> src/binary_tree/types.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub type Link<T> = Option<Box<Node<T>>>;
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinarySearchTree` is never constructed
[INFO] [stdout]  --> src/binary_tree/BST.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct BinarySearchTree {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `insert`, and `delete` are never used
[INFO] [stdout]   --> src/binary_tree/BST.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl BinarySearchTree {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(tree: BinaryTree<i32>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn insert(&mut self, item: i32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn delete(mut self, item: i32) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `min_value_node` is never used
[INFO] [stdout]   --> src/binary_tree/BST.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn min_value_node(node: &Node<i32>) -> &Node<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_node` is never used
[INFO] [stdout]   --> src/binary_tree/BST.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn delete_node(node: Link<i32>, item: i32) -> Link<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `walk_and_insert` is never used
[INFO] [stdout]   --> src/binary_tree/BST.rs:73:4
[INFO] [stdout]    |
[INFO] [stdout] 73 | fn walk_and_insert(node: &mut Node<i32>, item: i32) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/binary_tree/AVL_tree.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type Link = Option<Box<AVLNode>>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AVLNode` is never constructed
[INFO] [stdout]  --> src/binary_tree/AVL_tree.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct AVLNode {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/binary_tree/AVL_tree.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl AVLNode {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 14 |     pub fn new(val: i32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn height(node: &Link) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn get_left_height(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn get_right_height(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn balance_factor(&self) -> i8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn update_height(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     fn rotate_left(&mut self) -> Link {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn rotate_right(&mut self) -> Link {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn balance(&mut self) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn insert(&mut self, val: i32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AVLTree` is never constructed
[INFO] [stdout]    --> src/binary_tree/AVL_tree.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | struct AVLTree {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `insert` are never used
[INFO] [stdout]    --> src/binary_tree/AVL_tree.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl AVLTree {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 106 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn insert(&mut self, val: i32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `walk_and_insert` is never used
[INFO] [stdout]    --> src/binary_tree/AVL_tree.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn walk_and_insert(node: &mut AVLNode, new_node: AVLNode) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MinHeap` is never constructed
[INFO] [stdout]  --> src/heap.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct MinHeap {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/heap.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl MinHeap {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout]  8 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn get_left_child_idx(&self, i: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn get_right_child_idx(&self, i: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn get_parent_idx(&self, i: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn swap_up(&mut self, idx: usize) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn swap_down(&mut self, idx: usize) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn insert(&mut self, item: i32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn delete_min(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn delete_element(&mut self, item: i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/linked_lists/doubly_linked_list.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type Link<T> = Option<Rc<RefCell<Node<T>>>>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoublyLinkedList` is never constructed
[INFO] [stdout]  --> src/linked_lists/doubly_linked_list.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct DoublyLinkedList<T> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `append_front`, `append`, `pop`, and `pop_front` are never used
[INFO] [stdout]   --> src/linked_lists/doubly_linked_list.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<T> DoublyLinkedList<T> {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn append_front(&mut self, val: T) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn append(&mut self, val: T) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn pop(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn pop_front(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/linked_lists/doubly_linked_list.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | struct Node<T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/linked_lists/doubly_linked_list.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | impl<T> Node<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 98 |     pub fn new(val: T) -> Rc<RefCell<Self>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/linked_lists/linked_lists.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type Link<T> = Option<Box<Node<T>>>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/linked_lists/linked_lists.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Node<T> {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/linked_lists/linked_lists.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<T> Node<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn new(value: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinkedList` is never constructed
[INFO] [stdout]   --> src/linked_lists/linked_lists.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct LinkedList<T> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/linked_lists/linked_lists.rs:27:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | / impl<T> LinkedList<T>
[INFO] [stdout]  24 | | where
[INFO] [stdout]  25 | |     T: Debug,
[INFO] [stdout]     | |_____________- associated items in this implementation
[INFO] [stdout]  26 |   {
[INFO] [stdout]  27 |       pub fn new() -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout]  34 |       pub fn get_length(&self) -> i32 {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |       fn check_idx_validity(&self, &idx: &i32) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |       pub fn insert_at(&mut self, value: T, idx: i32) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |       pub fn delete_at(&mut self, idx: i32) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |       pub fn append(&mut self, value: T) {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |       fn prepend(&self) {}
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ll` is never used
[INFO] [stdout]    --> src/linked_lists/linked_lists.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn test_ll() {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListNode` is never constructed
[INFO] [stdout]  --> src/linked_lists/merge_linked_list.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ListNode {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/linked_lists/merge_linked_list.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl ListNode {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 8 |     #[inline]
[INFO] [stdout] 9 |     fn new(val: i32) -> Self {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge_two_lists` is never used
[INFO] [stdout]   --> src/linked_lists/merge_linked_list.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn merge_two_lists(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_linked_list` is never used
[INFO] [stdout]   --> src/linked_lists/merge_linked_list.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn create_linked_list(nums: Vec<i32>) -> Option<Box<ListNode>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListNode` is never constructed
[INFO] [stdout]  --> src/linked_lists/reverse_linked_list.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ListNode {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/linked_lists/reverse_linked_list.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl ListNode {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 8 |     #[inline]
[INFO] [stdout] 9 |     fn new(val: i32) -> Self {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reverse_list` is never used
[INFO] [stdout]   --> src/linked_lists/reverse_linked_list.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn reverse_list(head: Option<Box<ListNode>>) -> Option<Box<ListNode>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_linked_list` is never used
[INFO] [stdout]   --> src/linked_lists/reverse_linked_list.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn create_linked_list(nums: Vec<i32>) -> Option<Box<ListNode>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `matrix_multiply` is never used
[INFO] [stdout]  --> src/matrix_multiply.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn matrix_multiply(a: &Vec<Vec<i32>>, b: &Vec<Vec<i32>>) -> Vec<Vec<i32>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]  --> src/path_finding.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Point {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/path_finding.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl Point {
[INFO] [stdout]   | ---------- associated function in this implementation
[INFO] [stdout] 8 |     pub fn new(x: isize, y: isize) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Maze` is never used
[INFO] [stdout]   --> src/path_finding.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type Maze = Vec<String>;
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_path` is never used
[INFO] [stdout]   --> src/path_finding.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn find_path(maze: Maze, wall: char, start: Point, end: Point) -> Vec<Point> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `walk` is never used
[INFO] [stdout]   --> src/path_finding.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn walk(
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/queue.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type Link<T> = Option<Box<Node<T>>>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/queue.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Node<T> {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/queue.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<T> Node<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn new(value: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Queue` is never constructed
[INFO] [stdout]   --> src/queue.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Queue<T> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `enqueue`, `dequeue`, and `peek` are never used
[INFO] [stdout]   --> src/queue.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl<T> Queue<T> {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 25 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn enqueue(&mut self, item: T) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn dequeue(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     fn peek(&self) -> &Link<T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_insert` is never used
[INFO] [stdout]  --> src/search_insert_pos.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn search_insert(nums: Vec<i32>, target: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_idx` is never used
[INFO] [stdout]  --> src/search_insert_pos.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn search_idx(start_idx: usize, end_idx: usize, target: i32, nums: Vec<i32>) -> i32 {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRICES` is never used
[INFO] [stdout]  --> src/dynamic_programming/rod_cutting.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const PRICES: [u8; 40] = [
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rod_cut_recursively` is never used
[INFO] [stdout]  --> src/dynamic_programming/rod_cutting.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn rod_cut_recursively(idx: usize) -> u8 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rod_cut_top_down` is never used
[INFO] [stdout]   --> src/dynamic_programming/rod_cutting.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn rod_cut_top_down(idx: usize) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `memoized_cut_rod_aux` is never used
[INFO] [stdout]   --> src/dynamic_programming/rod_cutting.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn memoized_cut_rod_aux(idx: usize, r: &mut Vec<u8>) -> u8 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rod_cut_bottom_up` is never used
[INFO] [stdout]   --> src/dynamic_programming/rod_cutting.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn rod_cut_bottom_up(idx: usize) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_sub_array` is never used
[INFO] [stdout]  --> src/dynamic_programming/maximum_subarray.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn max_sub_array(nums: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_sub_array_iterative` is never used
[INFO] [stdout]  --> src/dynamic_programming/maximum_subarray.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn max_sub_array_iterative(nums: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_sub_array_recursive` is never used
[INFO] [stdout]   --> src/dynamic_programming/maximum_subarray.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn max_sub_array_recursive(nums: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_sub_array_linear` is never used
[INFO] [stdout]   --> src/dynamic_programming/maximum_subarray.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn max_sub_array_linear(nums: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_sub_array_kadane` is never used
[INFO] [stdout]   --> src/dynamic_programming/maximum_subarray.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn max_sub_array_kadane(nums: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `length_of_lis` is never used
[INFO] [stdout]  --> src/dynamic_programming/longest_increasing_subsequence.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn length_of_lis(nums: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `climb_stairs` is never used
[INFO] [stdout]  --> src/dynamic_programming/climbing_stairs.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn climb_stairs(n: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `coin_change` is never used
[INFO] [stdout]  --> src/dynamic_programming/coin_change.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn coin_change(coins: Vec<i32>, amount: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cal_min_coins` is never used
[INFO] [stdout]   --> src/dynamic_programming/coin_change.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn cal_min_coins(coins: &Vec<i32>, amount: i32, dp: &mut Vec<i32>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cal_min_coins_bottom_up` is never used
[INFO] [stdout]   --> src/dynamic_programming/coin_change.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn cal_min_coins_bottom_up(coins: &Vec<i32>, amount: i32) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `word_break` is never used
[INFO] [stdout]  --> src/dynamic_programming/word_break.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn word_break(s: String, word_dict: Vec<String>) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rob` is never used
[INFO] [stdout]  --> src/dynamic_programming/house_robber.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn rob(nums: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Heap` is never constructed
[INFO] [stdout]  --> src/sorting/heap_sort.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct Heap {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `heapify`, `sort`, `delete`, `left_idx`, and `right_idx` are never used
[INFO] [stdout]   --> src/sorting/heap_sort.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Heap {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(arr: Vec<i32>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn heapify(&mut self, idx: usize) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn sort(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn delete(&mut self) -> i32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn left_idx(&self, i: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     fn right_idx(&self, i: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `srt` is never used
[INFO] [stdout]  --> src/sorting/bubble_sort.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn srt<'a>(unsorted_list: &'a mut Vec<i32>) -> &'a Vec<i32> {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `swap` is never used
[INFO] [stdout]   --> src/sorting/bubble_sort.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn swap(previous_idx: usize, next_idx: usize, list: &mut Vec<i32>) -> &Vec<i32> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort` is never used
[INFO] [stdout]  --> src/sorting/counting_sort.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn sort(a: Vec<usize>) -> Vec<usize> {
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort` is never used
[INFO] [stdout]  --> src/sorting/insertion_sort.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn sort(arr: &mut Vec<i32>) {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sort` is never used
[INFO] [stdout]  --> src/sorting/merge_sort.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn sort(arr: &mut Vec<i32>, p: usize, r: usize) {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge` is never used
[INFO] [stdout]   --> src/sorting/merge_sort.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn merge(arr: &mut Vec<i32>, p: usize, q: usize, r: usize) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_sort` is never used
[INFO] [stdout]  --> src/sorting/quick_sort.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn new_sort(list: &mut Vec<i32>, lo: usize, hi: usize) {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `partition` is never used
[INFO] [stdout]   --> src/sorting/quick_sort.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn partition(list: &mut Vec<i32>, lo: usize, hi: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `WeightedAdjacencyMatrix` is never used
[INFO] [stdout]  --> src/graphs/bfs.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type WeightedAdjacencyMatrix = Vec<Vec<i32>>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bfs` is never used
[INFO] [stdout]  --> src/graphs/bfs.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn bfs(graph: WeightedAdjacencyMatrix, source: i32, needle: i32) -> Option<Vec<i32>> {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BST` should have a snake case name
[INFO] [stdout]  --> src/binary_tree/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod BST;
[INFO] [stdout]   |         ^^^ help: convert the identifier to snake case: `bst`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `AVL_tree` should have a snake case name
[INFO] [stdout]  --> src/binary_tree/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod AVL_tree;
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `avl_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/queue.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut current_node = self.head.take();
[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: unused variable: `nums`
[INFO] [stdout]   --> src/search_insert_pos.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let nums = vec![1, 3, 5, 6];
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_nums`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `height` is never read
[INFO] [stdout]  --> src/binary_tree/types.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct BinaryTree<T> {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] 5 |     pub height: usize,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `BinaryTree` 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `length` is never read
[INFO] [stdout]  --> src/heap.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct MinHeap {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 3 |     length: usize,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MinHeap` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_right_child_idx` is never used
[INFO] [stdout]   --> src/heap.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl MinHeap {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn get_right_child_idx(&self, i: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/linked_lists/doubly_linked_list.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type Link<T> = Option<Rc<RefCell<Node<T>>>>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DoublyLinkedList` is never constructed
[INFO] [stdout]  --> src/linked_lists/doubly_linked_list.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct DoublyLinkedList<T> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `append_front`, `append`, `pop`, and `pop_front` are never used
[INFO] [stdout]   --> src/linked_lists/doubly_linked_list.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<T> DoublyLinkedList<T> {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn append_front(&mut self, val: T) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn append(&mut self, val: T) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn pop(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn pop_front(&mut self) -> Option<T> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/linked_lists/doubly_linked_list.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | struct Node<T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/linked_lists/doubly_linked_list.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | impl<T> Node<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 98 |     pub fn new(val: T) -> Rc<RefCell<Self>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]  --> src/linked_lists/linked_lists.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type Link<T> = Option<Box<Node<T>>>;
[INFO] [stdout]   |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/linked_lists/linked_lists.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Node<T> {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/linked_lists/linked_lists.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<T> Node<T> {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn new(value: T) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LinkedList` is never constructed
[INFO] [stdout]   --> src/linked_lists/linked_lists.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct LinkedList<T> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/linked_lists/linked_lists.rs:27:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | / impl<T> LinkedList<T>
[INFO] [stdout]  24 | | where
[INFO] [stdout]  25 | |     T: Debug,
[INFO] [stdout]     | |_____________- associated items in this implementation
[INFO] [stdout]  26 |   {
[INFO] [stdout]  27 |       pub fn new() -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout]  34 |       pub fn get_length(&self) -> i32 {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |       fn check_idx_validity(&self, &idx: &i32) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |       pub fn insert_at(&mut self, value: T, idx: i32) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |       pub fn delete_at(&mut self, idx: i32) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |       pub fn append(&mut self, value: T) {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |       fn prepend(&self) {}
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ll` is never used
[INFO] [stdout]    --> src/linked_lists/linked_lists.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn test_ll() {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/linked_lists/reverse_linked_list.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl ListNode {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 8 |     #[inline]
[INFO] [stdout] 9 |     fn new(val: i32) -> Self {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_sub_array_iterative` is never used
[INFO] [stdout]  --> src/dynamic_programming/maximum_subarray.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn max_sub_array_iterative(nums: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_sub_array_recursive` is never used
[INFO] [stdout]   --> src/dynamic_programming/maximum_subarray.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn max_sub_array_recursive(nums: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_sub_array_linear` is never used
[INFO] [stdout]   --> src/dynamic_programming/maximum_subarray.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn max_sub_array_linear(nums: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cal_min_coins` is never used
[INFO] [stdout]   --> src/dynamic_programming/coin_change.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn cal_min_coins(coins: &Vec<i32>, amount: i32, dp: &mut Vec<i32>) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `srt` is never used
[INFO] [stdout]  --> src/sorting/bubble_sort.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn srt<'a>(unsorted_list: &'a mut Vec<i32>) -> &'a Vec<i32> {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `swap` is never used
[INFO] [stdout]   --> src/sorting/bubble_sort.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn swap(previous_idx: usize, next_idx: usize, list: &mut Vec<i32>) -> &Vec<i32> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `WeightedAdjacencyMatrix` is never used
[INFO] [stdout]  --> src/graphs/bfs.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type WeightedAdjacencyMatrix = Vec<Vec<i32>>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bfs` is never used
[INFO] [stdout]  --> src/graphs/bfs.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn bfs(graph: WeightedAdjacencyMatrix, source: i32, needle: i32) -> Option<Vec<i32>> {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BST` should have a snake case name
[INFO] [stdout]  --> src/binary_tree/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod BST;
[INFO] [stdout]   |         ^^^ help: convert the identifier to snake case: `bst`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `AVL_tree` should have a snake case name
[INFO] [stdout]  --> src/binary_tree/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod AVL_tree;
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `avl_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.72s
[INFO] running `Command { std: "docker" "inspect" "9e947368a4dcd02fcbc87f8ce1bd9a183422e2954c596c95a9511f3bf44d946f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e947368a4dcd02fcbc87f8ce1bd9a183422e2954c596c95a9511f3bf44d946f", kill_on_drop: false }`
[INFO] [stdout] 9e947368a4dcd02fcbc87f8ce1bd9a183422e2954c596c95a9511f3bf44d946f
