[INFO] cloning repository https://github.com/mesachinjakhar/dsa-in-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mesachinjakhar/dsa-in-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmesachinjakhar%2Fdsa-in-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmesachinjakhar%2Fdsa-in-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] eaa95e350054daa3f47cf1b0771a04b4524faed7
[INFO] checking mesachinjakhar/dsa-in-rust against try#5f6abd89da253a562ad85d235b9342a3ac336c28 for pr-156114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmesachinjakhar%2Fdsa-in-rust" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mesachinjakhar/dsa-in-rust
[INFO] finished tweaking git repo https://github.com/mesachinjakhar/dsa-in-rust
[INFO] tweaked toml for git repo https://github.com/mesachinjakhar/dsa-in-rust written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mesachinjakhar/dsa-in-rust on toolchain 5f6abd89da253a562ad85d235b9342a3ac336c28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5f6abd89da253a562ad85d235b9342a3ac336c28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mesachinjakhar/dsa-in-rust 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" "+5f6abd89da253a562ad85d235b9342a3ac336c28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking mesachinjakhar/dsa-in-rust against try#5f6abd89da253a562ad85d235b9342a3ac336c28 for pr-156114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmesachinjakhar%2Fdsa-in-rust" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mesachinjakhar/dsa-in-rust
[INFO] finished tweaking git repo https://github.com/mesachinjakhar/dsa-in-rust
[INFO] tweaked toml for git repo https://github.com/mesachinjakhar/dsa-in-rust written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mesachinjakhar/dsa-in-rust on toolchain 5f6abd89da253a562ad85d235b9342a3ac336c28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5f6abd89da253a562ad85d235b9342a3ac336c28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mesachinjakhar/dsa-in-rust 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" "+5f6abd89da253a562ad85d235b9342a3ac336c28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+5f6abd89da253a562ad85d235b9342a3ac336c28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9c677ada0186c0fd329f476ce3f2bb79f7e87e70cab73a5f3a31a7e8fed98b45
[INFO] running `Command { std: "docker" "start" "-a" "9c677ada0186c0fd329f476ce3f2bb79f7e87e70cab73a5f3a31a7e8fed98b45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c677ada0186c0fd329f476ce3f2bb79f7e87e70cab73a5f3a31a7e8fed98b45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c677ada0186c0fd329f476ce3f2bb79f7e87e70cab73a5f3a31a7e8fed98b45", kill_on_drop: false }`
[INFO] [stdout] 9c677ada0186c0fd329f476ce3f2bb79f7e87e70cab73a5f3a31a7e8fed98b45
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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" "+5f6abd89da253a562ad85d235b9342a3ac336c28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 95970162301c73acb825057c871aac54b50a6f3f832e76a161a1df0f3622a07b
[INFO] running `Command { std: "docker" "start" "-a" "95970162301c73acb825057c871aac54b50a6f3f832e76a161a1df0f3622a07b", kill_on_drop: false }`
[INFO] [stderr]     Checking dsa-in-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type `largest` should have an upper camel case name
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 427 | struct largest {
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to upper camel case: `Largest`
[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 `largest` should have an upper camel case name
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 427 | struct largest {
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to upper camel case: `Largest`
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/binary_search/single_element_in_sorted_array.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut n = arr.len();
[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/binary_search/single_element_in_sorted_array.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut n = arr.len();
[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/binary_search/painters_partition.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut mid = st + (end - st) / 2;
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/binary_search/painters_partition.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut mid = st + (end - st) / 2;
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/sorting/insertion_sort.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |         let mut curr = arr[i];
[INFO] [stdout]   |             ----^^^^
[INFO] [stdout]   |             |
[INFO] [stdout]   |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/sorting/insertion_sort.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |         let mut curr = arr[i];
[INFO] [stdout]   |             ----^^^^
[INFO] [stdout]   |             |
[INFO] [stdout]   |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/strings/is_palindrome.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let mut chars: Vec<char> = s1.chars().filter(|c| c.is_alphanumeric()).collect();
[INFO] [stdout]   |         ----^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/strings/is_palindrome.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     let mut chars: Vec<char> = s1.chars().filter(|c| c.is_alphanumeric()).collect();
[INFO] [stdout]   |         ----^^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/strings/reverse_words_in_string.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(mut s: String) -> String {
[INFO] [stdout]   |                          ----^
[INFO] [stdout]   |                          |
[INFO] [stdout]   |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/strings/reverse_words_in_string.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(mut s: String) -> String {
[INFO] [stdout]   |                          ----^
[INFO] [stdout]   |                          |
[INFO] [stdout]   |                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]  --> src/two_d_arrays/diagonal_sum.rs:1:51
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]  --> src/two_d_arrays/diagonal_sum.rs:1:51
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]   --> src/two_d_arrays/diagonal_sum.rs:31:57
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn optimize_approach(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]    |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]   --> src/two_d_arrays/diagonal_sum.rs:31:57
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn optimize_approach(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]    |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/hashing/find_missing_repeating_values.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 |             if let Some(v) = m.get(&arr[i][j]) {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/hashing/find_missing_repeating_values.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 |             if let Some(v) = m.get(&arr[i][j]) {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inorder1`
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout] 380 |     let inorder1 = inorder(root1, &mut vec1); 
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inorder1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inorder2`
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:381:9
[INFO] [stdout]     |
[INFO] [stdout] 381 |     let inorder2 = inorder(root2, & mut vec2);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inorder2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:457:9
[INFO] [stdout]     |
[INFO] [stdout] 457 |     let mut prev: Option<Rc<RefCell<TreeNode3>>> = None;
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev`
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:457:9
[INFO] [stdout]     |
[INFO] [stdout] 457 |     let mut prev: Option<Rc<RefCell<TreeNode3>>> = None;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inorder1`
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout] 380 |     let inorder1 = inorder(root1, &mut vec1); 
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inorder1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inorder2`
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:381:9
[INFO] [stdout]     |
[INFO] [stdout] 381 |     let inorder2 = inorder(root2, & mut vec2);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inorder2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:457:9
[INFO] [stdout]     |
[INFO] [stdout] 457 |     let mut prev: Option<Rc<RefCell<TreeNode3>>> = None;
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev`
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:457:9
[INFO] [stdout]     |
[INFO] [stdout] 457 |     let mut prev: Option<Rc<RefCell<TreeNode3>>> = None;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:622:1
[INFO] [stdout]     |
[INFO] [stdout] 622 | fn helper2(root: Option<Rc<RefCell<TreeNode2>>>, stack: &mut Vec<i32>, ans: &mut Vec<i32>) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 630 |     helper2(node.borrow().right.clone(), stack, ans);
[INFO] [stdout]     |     ------------------------------------------------ recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smaller_element` is never used
[INFO] [stdout]  --> src/stack/smaller_element.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn smaller_element(nums: Vec<i32>) -> Vec<i32> {
[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 `val` is never read
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:277:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub struct TreeNode3 {
[INFO] [stdout]     |                --------- field in this struct
[INFO] [stdout] 277 |     val: i32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TreeNode3` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:622:1
[INFO] [stdout]     |
[INFO] [stdout] 622 | fn helper2(root: Option<Rc<RefCell<TreeNode2>>>, stack: &mut Vec<i32>, ans: &mut Vec<i32>) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 630 |     helper2(node.borrow().right.clone(), stack, ans);
[INFO] [stdout]     |     ------------------------------------------------ recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `largest` is never constructed
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 427 | struct largest {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_bst` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:434:4
[INFO] [stdout]     |
[INFO] [stdout] 434 | fn largest_bst(root: &Option<Box<TreeNode>>) -> largest {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_val` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:542:4
[INFO] [stdout]     |
[INFO] [stdout] 542 | fn insert_val(root: Option<Rc<RefCell<TreeNode2>>>, value: i32) -> Option<Rc<RefCell<TreeNode2>>>{
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smaller_element` is never used
[INFO] [stdout]  --> src/stack/smaller_element.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn smaller_element(nums: Vec<i32>) -> Vec<i32> {
[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 `floor` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:559:4
[INFO] [stdout]     |
[INFO] [stdout] 559 | fn floor(root: Option<Rc<RefCell<TreeNode2>>>, ans: &mut i32, key: i32) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ciel` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:579:4
[INFO] [stdout]     |
[INFO] [stdout] 579 | fn ciel(root: Option<Rc<RefCell<TreeNode2>>>, key: i32, ans: &mut i32) {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_sum` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:599:4
[INFO] [stdout]     |
[INFO] [stdout] 599 | fn range_sum(root: Option<Rc<RefCell<TreeNode2>>>, low: i32, high: i32, ans: &mut i32) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `helper2` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:622:4
[INFO] [stdout]     |
[INFO] [stdout] 622 | fn helper2(root: Option<Rc<RefCell<TreeNode2>>>, stack: &mut Vec<i32>, ans: &mut Vec<i32>) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val` is never read
[INFO] [stdout]  --> src/linked_list/reverse.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Node {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 2 |     val: i32,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]  --> src/sorting/insertion_sort.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |         while prev >= 0 && arr[prev] > curr {
[INFO] [stdout]   |               ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val` is never read
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:277:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub struct TreeNode3 {
[INFO] [stdout]     |                --------- field in this struct
[INFO] [stdout] 277 |     val: i32,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TreeNode3` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `largest` is never constructed
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 427 | struct largest {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_bst` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:434:4
[INFO] [stdout]     |
[INFO] [stdout] 434 | fn largest_bst(root: &Option<Box<TreeNode>>) -> largest {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_val` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:542:4
[INFO] [stdout]     |
[INFO] [stdout] 542 | fn insert_val(root: Option<Rc<RefCell<TreeNode2>>>, value: i32) -> Option<Rc<RefCell<TreeNode2>>>{
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `floor` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:559:4
[INFO] [stdout]     |
[INFO] [stdout] 559 | fn floor(root: Option<Rc<RefCell<TreeNode2>>>, ans: &mut i32, key: i32) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ciel` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:579:4
[INFO] [stdout]     |
[INFO] [stdout] 579 | fn ciel(root: Option<Rc<RefCell<TreeNode2>>>, key: i32, ans: &mut i32) {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_sum` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:599:4
[INFO] [stdout]     |
[INFO] [stdout] 599 | fn range_sum(root: Option<Rc<RefCell<TreeNode2>>>, low: i32, high: i32, ans: &mut i32) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `helper2` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:622:4
[INFO] [stdout]     |
[INFO] [stdout] 622 | fn helper2(root: Option<Rc<RefCell<TreeNode2>>>, stack: &mut Vec<i32>, ans: &mut Vec<i32>) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `val` is never read
[INFO] [stdout]  --> src/linked_list/reverse.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Node {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 2 |     val: i32,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]  --> src/sorting/insertion_sort.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |         while prev >= 0 && arr[prev] > curr {
[INFO] [stdout]   |               ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dsa_in_rust::strings`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use dsa_in_rust::strings;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `largest` should have an upper camel case name
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 427 | struct largest {
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to upper camel case: `Largest`
[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: unused import: `dsa_in_rust::strings`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use dsa_in_rust::strings;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `largest` should have an upper camel case name
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 427 | struct largest {
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to upper camel case: `Largest`
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/binary_search/single_element_in_sorted_array.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut n = arr.len();
[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/binary_search/single_element_in_sorted_array.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut n = arr.len();
[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/binary_search/painters_partition.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut mid = st + (end - st) / 2;
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/binary_search/painters_partition.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut mid = st + (end - st) / 2;
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/sorting/insertion_sort.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |         let mut curr = arr[i];
[INFO] [stdout]   |             ----^^^^
[INFO] [stdout]   |             |
[INFO] [stdout]   |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/sorting/insertion_sort.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |         let mut curr = arr[i];
[INFO] [stdout]   |             ----^^^^
[INFO] [stdout]   |             |
[INFO] [stdout]   |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]  --> src/two_d_arrays/diagonal_sum.rs:1:51
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]  --> src/two_d_arrays/diagonal_sum.rs:1:51
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]   |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]   --> src/two_d_arrays/diagonal_sum.rs:31:57
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn optimize_approach(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]    |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `col`
[INFO] [stdout]   --> src/two_d_arrays/diagonal_sum.rs:31:57
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn optimize_approach(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]    |                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_col`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/hashing/find_missing_repeating_values.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 |             if let Some(v) = m.get(&arr[i][j]) {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/hashing/find_missing_repeating_values.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 |             if let Some(v) = m.get(&arr[i][j]) {
[INFO] [stdout]    |                         ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inorder1`
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout] 380 |     let inorder1 = inorder(root1, &mut vec1); 
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inorder1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inorder2`
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:381:9
[INFO] [stdout]     |
[INFO] [stdout] 381 |     let inorder2 = inorder(root2, & mut vec2);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inorder2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inorder1`
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout] 380 |     let inorder1 = inorder(root1, &mut vec1); 
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inorder1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inorder2`
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:381:9
[INFO] [stdout]     |
[INFO] [stdout] 381 |     let inorder2 = inorder(root2, & mut vec2);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inorder2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:457:9
[INFO] [stdout]     |
[INFO] [stdout] 457 |     let mut prev: Option<Rc<RefCell<TreeNode3>>> = None;
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev`
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:457:9
[INFO] [stdout]     |
[INFO] [stdout] 457 |     let mut prev: Option<Rc<RefCell<TreeNode3>>> = None;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:457:9
[INFO] [stdout]     |
[INFO] [stdout] 457 |     let mut prev: Option<Rc<RefCell<TreeNode3>>> = None;
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev`
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:457:9
[INFO] [stdout]     |
[INFO] [stdout] 457 |     let mut prev: Option<Rc<RefCell<TreeNode3>>> = None;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:622:1
[INFO] [stdout]     |
[INFO] [stdout] 622 | fn helper2(root: Option<Rc<RefCell<TreeNode2>>>, stack: &mut Vec<i32>, ans: &mut Vec<i32>) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 630 |     helper2(node.borrow().right.clone(), stack, ans);
[INFO] [stdout]     |     ------------------------------------------------ recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function cannot return without recursing
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:622:1
[INFO] [stdout]     |
[INFO] [stdout] 622 | fn helper2(root: Option<Rc<RefCell<TreeNode2>>>, stack: &mut Vec<i32>, ans: &mut Vec<i32>) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
[INFO] [stdout] ...
[INFO] [stdout] 630 |     helper2(node.borrow().right.clone(), stack, ans);
[INFO] [stdout]     |     ------------------------------------------------ recursive call site
[INFO] [stdout]     |
[INFO] [stdout]     = help: a `loop` may express intention better if this is on purpose
[INFO] [stdout]     = note: `#[warn(unconditional_recursion)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `val`, `left`, and `right` are never read
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub struct TreeNode {
[INFO] [stdout]    |                -------- fields in this struct
[INFO] [stdout] 15 |     val: i32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     left: Option<Box<TreeNode>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 17 |     right: Option<Box<TreeNode>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TreeNode` 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: function `valid_parentheses` is never used
[INFO] [stdout]  --> src/stack/valid_parentheses.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn valid_parentheses (s: String) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stock_span` is never used
[INFO] [stdout]  --> src/stack/stock_span.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn stock_span(arr: Vec<u32>) -> Vec<u32> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `greater_element` is never used
[INFO] [stdout]  --> src/stack/greater_element.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn greater_element(list1: Vec<i32> ,list2: Vec<i32> ) -> Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smaller_element` is never used
[INFO] [stdout]  --> src/stack/smaller_element.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn smaller_element(nums: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_rectangle_area` is never used
[INFO] [stdout]  --> src/stack/largest_rectangle_area.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn largest_rectangle_area(heights: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `linear_search` is never used
[INFO] [stdout]  --> src/arrays/linear_search.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn linear_search(arr: Vec<i32>, target: i32) -> Option<usize> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `val`, `left`, and `right` are never read
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub struct TreeNode {
[INFO] [stdout]    |                -------- fields in this struct
[INFO] [stdout] 15 |     val: i32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     left: Option<Box<TreeNode>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 17 |     right: Option<Box<TreeNode>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TreeNode` 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: function `smallest_in_array` is never used
[INFO] [stdout]  --> src/arrays/smallest_in_array.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn smallest_in_array(arr: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `valid_parentheses` is never used
[INFO] [stdout]  --> src/stack/valid_parentheses.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn valid_parentheses (s: String) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largets_in_array` is never used
[INFO] [stdout]   --> src/arrays/smallest_in_array.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn largets_in_array(arr: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `change_array` is never used
[INFO] [stdout]   --> src/arrays/smallest_in_array.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn change_array(arr: &mut Vec<i32>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stock_span` is never used
[INFO] [stdout]  --> src/stack/stock_span.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn stock_span(arr: Vec<u32>) -> Vec<u32> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reverse_array` is never used
[INFO] [stdout]  --> src/arrays/reverse_array.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn reverse_array(arr: &mut Vec<i32>) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `greater_element` is never used
[INFO] [stdout]  --> src/stack/greater_element.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn greater_element(list1: Vec<i32> ,list2: Vec<i32> ) -> Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/arrays/single_number.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn brute_force(arr: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smaller_element` is never used
[INFO] [stdout]  --> src/stack/smaller_element.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn smaller_element(nums: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_rectangle_area` is never used
[INFO] [stdout]  --> src/stack/largest_rectangle_area.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn largest_rectangle_area(heights: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/arrays/single_number.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn optimize_approach(nums: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/arrays/maximum_subarray.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(nums: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `linear_search` is never used
[INFO] [stdout]  --> src/arrays/linear_search.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn linear_search(arr: Vec<i32>, target: i32) -> Option<usize> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/arrays/pair_sum.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<i32>, target: i32) -> Vec<i32>{
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `smallest_in_array` is never used
[INFO] [stdout]  --> src/arrays/smallest_in_array.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn smallest_in_array(arr: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/arrays/pair_sum.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn optimize_approach(arr: Vec<i32>, target: i32) -> Vec<i32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largets_in_array` is never used
[INFO] [stdout]   --> src/arrays/smallest_in_array.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn largets_in_array(arr: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/arrays/majority_element.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `better_approach` is never used
[INFO] [stdout]   --> src/arrays/majority_element.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn better_approach(arr: &mut Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `change_array` is never used
[INFO] [stdout]   --> src/arrays/smallest_in_array.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn change_array(arr: &mut Vec<i32>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reverse_array` is never used
[INFO] [stdout]  --> src/arrays/reverse_array.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn reverse_array(arr: &mut Vec<i32>) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/arrays/majority_element.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn optimize_approach(arr: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/arrays/buy_sell_stock.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn optimize_approach(prices: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]   --> src/arrays/buy_sell_stock.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn brute_force(prices: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/arrays/container_with_most_water.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn brute_force(heights: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/arrays/container_with_most_water.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn optimize_approach(heights: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/arrays/product_of_array_except_self.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/arrays/product_of_array_except_self.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn optimize_approach(arr: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_search` is never used
[INFO] [stdout]  --> src/binary_search/binary_search.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn binary_search(arr: Vec<i32>, tar: i32) -> Option<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recursion` is never used
[INFO] [stdout]   --> src/binary_search/binary_search.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn recursion(arr: &Vec<i32>, tar: i32, st: usize, end: usize) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/binary_search/search_in_roated_sorted_array.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: Vec<i32>, tar: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/binary_search/peak_index_in_montain_array.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/binary_search/peak_index_in_montain_array.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn optimize_approach(arr: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/binary_search/single_element_in_sorted_array.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr:Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/binary_search/single_element_in_sorted_array.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn optimize_approach(arr:Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]  --> src/binary_search/book_allocation.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn is_valid(arr: &Vec<i32>, mid: i32, m: i32) -> bool {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/binary_search/book_allocation.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn optimize_approach(arr: Vec<i32>, m: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]  --> src/binary_search/painters_partition.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn is_valid(arr: &Vec<i32>, mid: i32, m: i32) -> bool {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/binary_search/painters_partition.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn optimize_approach(arr: Vec<i32>, m: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]  --> src/binary_search/aggresive_cow.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn is_valid(arr: &Vec<i32>, c: i32, mid: i32) -> bool {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/binary_search/aggresive_cow.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn optimize_approach(arr: &mut Vec<i32>, c: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/sorting/bubble_sort.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &mut Vec<i32>) -> &Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/sorting/selection_sort.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &mut Vec<i32>) -> &Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/sorting/insertion_sort.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &mut Vec<i32>) -> &Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/sorting/sort_0_1_and_2.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &mut Vec<i32>) -> &Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/sorting/merge_2_sorted_array.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(nums1: &mut Vec<i32>, nums2: Vec<i32>, m: i32, n: i32) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/sorting/next_permutation.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &mut Vec<i32>) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/two_d_arrays/linear_search.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: Vec<Vec<i32>>, rows: i32, col: i32, find: i32) -> Option<(i32, i32)>  {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/arrays/single_number.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn brute_force(arr: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/arrays/single_number.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn optimize_approach(nums: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/arrays/maximum_subarray.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(nums: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/arrays/pair_sum.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<i32>, target: i32) -> Vec<i32>{
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/two_d_arrays/maximum_row_sum.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/two_d_arrays/maximum_col_sum.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/two_d_arrays/diagonal_sum.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force_2` is never used
[INFO] [stdout]   --> src/two_d_arrays/diagonal_sum.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn brute_force_2(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/arrays/pair_sum.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn optimize_approach(arr: Vec<i32>, target: i32) -> Vec<i32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/two_d_arrays/diagonal_sum.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn optimize_approach(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/two_d_arrays/search_in_2d_array.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: Vec<Vec<i32>>, tar: i32) -> Option<(usize, usize)> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/two_d_arrays/spiral_matrix.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: Vec<Vec<i32>>) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/hashing/two_sum.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn brute_force(arr: Vec<i32>, tar: i32) -> Option<(usize, usize)> {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `better_approach` is never used
[INFO] [stdout]   --> src/hashing/two_sum.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn better_approach(arr: &mut Vec<i32>, tar: i32) -> Option<(usize, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/hashing/two_sum.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn optimize_approach(arr: &mut Vec<i32>, tar: i32) -> Option<(usize, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/hashing/find_missing_repeating_values.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn optimize_approach(arr: Vec<Vec<i32>>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/hashing/find_duplicates.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/hashing/three_sum.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<i32>) -> Option<(i32, i32, i32)>{
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/hashing/three_sum.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn optimize_approach(arr: &mut Vec<i32>) -> Vec<(i32, i32, i32)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/hashing/four_sum.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn optimize_approach(arr: &mut Vec<i32>, tar: i32) -> Vec<Vec<i32>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/hashing/subarray_sum_equals_k.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn brute_force(arr: Vec<i32>, tar: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/hashing/subarray_sum_equals_k.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn optimize_approach(arr: Vec<i32>, k:i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/print_to_n.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(n: i32) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/factorial.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(n: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/sum_of_n.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(n: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/fibnacci.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(n: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/is_array_sorted.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &Vec<i32>, idx: usize) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/binary_search.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &Vec<i32>, st: i32, end: i32, tar: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/print_all_subsets.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &Vec<i32>, ans: &mut Vec<i32>, i : usize) { 
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/print_all_subsets_2.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &Vec<i32>, ans: &mut Vec<i32>, i: usize) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/permutations.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &mut Vec<i32>, idx: usize) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_safe` is never used
[INFO] [stdout]  --> src/recursion/n_queens.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn is_safe(board: &mut Vec<Vec<char>>, row: usize, col: usize) -> bool {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/recursion/n_queens.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn optimize_approach(board: &mut Vec<Vec<char>>, ans: &mut Vec<Vec<Vec<char>>>, row: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/binary_tree/binrary_tree.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     impl TreeNode {
[INFO] [stdout]    |     ------------- associated function in this implementation
[INFO] [stdout] 13 |     // create new leaf node
[INFO] [stdout] 14 |     pub fn new(val: i32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pre_order` is never used
[INFO] [stdout]   --> src/binary_tree/binrary_tree.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn pre_order(root: &Option<Box<TreeNode>>, ans: &mut Vec<i32>) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `in_order` is never used
[INFO] [stdout]   --> src/binary_tree/binrary_tree.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn in_order(root: &Option<Box<TreeNode>>, ans: &mut Vec<i32>) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `height` is never used
[INFO] [stdout]   --> src/binary_tree/binrary_tree.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub fn height(root: &Option<Box<TreeNode>>) -> i32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `height_helper` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn height_helper(root: &Option<Box<TreeNode>>, ans: &mut i32) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn count(root: &Option<Box<TreeNode>>) -> i32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn sum(root: &Option<Box<TreeNode>>) -> i32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_identical` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn is_identical(p: &Option<Box<TreeNode>>, q: &Option<Box<TreeNode>>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `diameter` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn diameter(root: &Option<Box<TreeNode>>) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `top_view` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn top_view(root: &Option<Box<TreeNode>>) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kth_level` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn kth_level(root: &Option<Box<TreeNode>>, k: i32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/arrays/majority_element.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_tree` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:212:8
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub fn sum_tree(root: &mut Option<Box<TreeNode>>) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_helper` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn search_helper(in_order: &Vec<i32>, value: i32, left: i32, right: i32) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_tree_using_pre_and_in_order` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn build_tree_using_pre_and_in_order(pre_order: &Vec<i32>, in_order: &Vec<i32>, pre_index: &mut usize, left: i32, right: i32) -...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `better_approach` is never used
[INFO] [stdout]   --> src/arrays/majority_element.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn better_approach(arr: &mut Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeNode2` is never constructed
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:262:16
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub struct TreeNode2 {
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 268 |   impl TreeNode2 {
[INFO] [stdout]     |   -------------- associated function in this implementation
[INFO] [stdout] 269 |     // create new leaf node
[INFO] [stdout] 270 |     pub fn new(val: i32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeNode3` is never constructed
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:276:16
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub struct TreeNode3 {
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/arrays/majority_element.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn optimize_approach(arr: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `morris_inorder` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:283:8
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub fn morris_inorder(root: Option<Rc<RefCell<TreeNode2>>>) -> Vec<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:320:8
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub fn delete(root: Option<Box<TreeNode>>, key: i32) -> Option<Box<TreeNode>>  {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_successor` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:356:4
[INFO] [stdout]     |
[INFO] [stdout] 356 | fn find_successor(root: &Option<Box<TreeNode>>) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/arrays/buy_sell_stock.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn optimize_approach(prices: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inorder` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:367:8
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn inorder(root: Option<Box<TreeNode>>, vec1: &mut Vec<i32>) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `helper` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:376:8
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub fn helper(root1: Option<Box<TreeNode>>, root2: Option<Box<TreeNode>>) -> Option<Box<TreeNode>> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_tree` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:413:4
[INFO] [stdout]     |
[INFO] [stdout] 413 | fn build_tree(inorder: &Vec<i32>, st: i32, end: i32) -> Option<Box<TreeNode>> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `largest` is never constructed
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 427 | struct largest {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]   --> src/arrays/buy_sell_stock.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn brute_force(prices: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_bst` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:434:4
[INFO] [stdout]     |
[INFO] [stdout] 434 | fn largest_bst(root: &Option<Box<TreeNode>>) -> largest {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `populate_next_right_pointers` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:451:8
[INFO] [stdout]     |
[INFO] [stdout] 451 | pub fn populate_next_right_pointers(root: Option<Rc<RefCell<TreeNode3>>>) -> Option<Rc<RefCell<TreeNode3>>>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pred_succ` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:489:8
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub fn get_pred_succ(root: Option<Rc<RefCell<TreeNode2>>>, key: i32) -> (Option<Rc<RefCell<TreeNode2>>>, Option<Rc<RefCell<TreeNode...
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/arrays/container_with_most_water.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn brute_force(heights: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_pred` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:517:8
[INFO] [stdout]     |
[INFO] [stdout] 517 | pub fn find_pred(root: Option<Rc<RefCell<TreeNode2>>>) -> Option<Rc<RefCell<TreeNode2>>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_succ` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:527:8
[INFO] [stdout]     |
[INFO] [stdout] 527 | pub fn find_succ(root: Option<Rc<RefCell<TreeNode2>>>) -> Option<Rc<RefCell<TreeNode2>>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_val` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:542:4
[INFO] [stdout]     |
[INFO] [stdout] 542 | fn insert_val(root: Option<Rc<RefCell<TreeNode2>>>, value: i32) -> Option<Rc<RefCell<TreeNode2>>>{
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/arrays/container_with_most_water.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn optimize_approach(heights: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `floor` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:559:4
[INFO] [stdout]     |
[INFO] [stdout] 559 | fn floor(root: Option<Rc<RefCell<TreeNode2>>>, ans: &mut i32, key: i32) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ciel` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:579:4
[INFO] [stdout]     |
[INFO] [stdout] 579 | fn ciel(root: Option<Rc<RefCell<TreeNode2>>>, key: i32, ans: &mut i32) {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/arrays/product_of_array_except_self.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/arrays/product_of_array_except_self.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn optimize_approach(arr: Vec<i32>) -> Vec<i32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_search` is never used
[INFO] [stdout]  --> src/binary_search/binary_search.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn binary_search(arr: Vec<i32>, tar: i32) -> Option<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recursion` is never used
[INFO] [stdout]   --> src/binary_search/binary_search.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn recursion(arr: &Vec<i32>, tar: i32, st: usize, end: usize) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/binary_search/search_in_roated_sorted_array.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: Vec<i32>, tar: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/binary_search/peak_index_in_montain_array.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/binary_search/peak_index_in_montain_array.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn optimize_approach(arr: Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/binary_search/single_element_in_sorted_array.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr:Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/binary_search/single_element_in_sorted_array.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn optimize_approach(arr:Vec<i32>) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]  --> src/binary_search/book_allocation.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn is_valid(arr: &Vec<i32>, mid: i32, m: i32) -> bool {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/binary_search/book_allocation.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn optimize_approach(arr: Vec<i32>, m: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]  --> src/binary_search/painters_partition.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn is_valid(arr: &Vec<i32>, mid: i32, m: i32) -> bool {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/binary_search/painters_partition.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn optimize_approach(arr: Vec<i32>, m: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid` is never used
[INFO] [stdout]  --> src/binary_search/aggresive_cow.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn is_valid(arr: &Vec<i32>, c: i32, mid: i32) -> bool {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_sum` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:599:4
[INFO] [stdout]     |
[INFO] [stdout] 599 | fn range_sum(root: Option<Rc<RefCell<TreeNode2>>>, low: i32, high: i32, ans: &mut i32) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/binary_search/aggresive_cow.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn optimize_approach(arr: &mut Vec<i32>, c: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/sorting/bubble_sort.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &mut Vec<i32>) -> &Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/sorting/selection_sort.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &mut Vec<i32>) -> &Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/sorting/insertion_sort.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &mut Vec<i32>) -> &Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/sorting/sort_0_1_and_2.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &mut Vec<i32>) -> &Vec<i32> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/sorting/merge_2_sorted_array.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(nums1: &mut Vec<i32>, nums2: Vec<i32>, m: i32, n: i32) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/sorting/next_permutation.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &mut Vec<i32>) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/two_d_arrays/linear_search.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: Vec<Vec<i32>>, rows: i32, col: i32, find: i32) -> Option<(i32, i32)>  {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/two_d_arrays/maximum_row_sum.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/two_d_arrays/maximum_col_sum.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/two_d_arrays/diagonal_sum.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force_2` is never used
[INFO] [stdout]   --> src/two_d_arrays/diagonal_sum.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn brute_force_2(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/two_d_arrays/diagonal_sum.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn optimize_approach(arr: Vec<Vec<i32>>, rows: i32, col: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/two_d_arrays/search_in_2d_array.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: Vec<Vec<i32>>, tar: i32) -> Option<(usize, usize)> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/two_d_arrays/spiral_matrix.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: Vec<Vec<i32>>) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/hashing/two_sum.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn brute_force(arr: Vec<i32>, tar: i32) -> Option<(usize, usize)> {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `better_approach` is never used
[INFO] [stdout]   --> src/hashing/two_sum.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn better_approach(arr: &mut Vec<i32>, tar: i32) -> Option<(usize, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/hashing/two_sum.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn optimize_approach(arr: &mut Vec<i32>, tar: i32) -> Option<(usize, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/hashing/find_missing_repeating_values.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn optimize_approach(arr: Vec<Vec<i32>>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/hashing/find_duplicates.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: Vec<i32>) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/hashing/three_sum.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn brute_force(arr: Vec<i32>) -> Option<(i32, i32, i32)>{
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/hashing/three_sum.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn optimize_approach(arr: &mut Vec<i32>) -> Vec<(i32, i32, i32)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/hashing/four_sum.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn optimize_approach(arr: &mut Vec<i32>, tar: i32) -> Vec<Vec<i32>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `brute_force` is never used
[INFO] [stdout]  --> src/hashing/subarray_sum_equals_k.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn brute_force(arr: Vec<i32>, tar: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/hashing/subarray_sum_equals_k.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn optimize_approach(arr: Vec<i32>, k:i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/print_to_n.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(n: i32) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/factorial.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(n: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/sum_of_n.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(n: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/fibnacci.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(n: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/is_array_sorted.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &Vec<i32>, idx: usize) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/binary_search.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &Vec<i32>, st: i32, end: i32, tar: i32) -> i32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/print_all_subsets.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &Vec<i32>, ans: &mut Vec<i32>, i : usize) { 
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/print_all_subsets_2.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &Vec<i32>, ans: &mut Vec<i32>, i: usize) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]  --> src/recursion/permutations.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn optimize_approach(arr: &mut Vec<i32>, idx: usize) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_safe` is never used
[INFO] [stdout]  --> src/recursion/n_queens.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn is_safe(board: &mut Vec<Vec<char>>, row: usize, col: usize) -> bool {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimize_approach` is never used
[INFO] [stdout]   --> src/recursion/n_queens.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn optimize_approach(board: &mut Vec<Vec<char>>, ans: &mut Vec<Vec<Vec<char>>>, row: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/binary_tree/binrary_tree.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     impl TreeNode {
[INFO] [stdout]    |     ------------- associated function in this implementation
[INFO] [stdout] 13 |     // create new leaf node
[INFO] [stdout] 14 |     pub fn new(val: i32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pre_order` is never used
[INFO] [stdout]   --> src/binary_tree/binrary_tree.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn pre_order(root: &Option<Box<TreeNode>>, ans: &mut Vec<i32>) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `in_order` is never used
[INFO] [stdout]   --> src/binary_tree/binrary_tree.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn in_order(root: &Option<Box<TreeNode>>, ans: &mut Vec<i32>) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `height` is never used
[INFO] [stdout]   --> src/binary_tree/binrary_tree.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub fn height(root: &Option<Box<TreeNode>>) -> i32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `height_helper` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn height_helper(root: &Option<Box<TreeNode>>, ans: &mut i32) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn count(root: &Option<Box<TreeNode>>) -> i32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn sum(root: &Option<Box<TreeNode>>) -> i32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_identical` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn is_identical(p: &Option<Box<TreeNode>>, q: &Option<Box<TreeNode>>) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `diameter` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn diameter(root: &Option<Box<TreeNode>>) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `top_view` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn top_view(root: &Option<Box<TreeNode>>) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kth_level` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn kth_level(root: &Option<Box<TreeNode>>, k: i32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sum_tree` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:212:8
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub fn sum_tree(root: &mut Option<Box<TreeNode>>) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `search_helper` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn search_helper(in_order: &Vec<i32>, value: i32, left: i32, right: i32) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_tree_using_pre_and_in_order` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn build_tree_using_pre_and_in_order(pre_order: &Vec<i32>, in_order: &Vec<i32>, pre_index: &mut usize, left: i32, right: i32) -...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeNode2` is never constructed
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:262:16
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub struct TreeNode2 {
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 268 |   impl TreeNode2 {
[INFO] [stdout]     |   -------------- associated function in this implementation
[INFO] [stdout] 269 |     // create new leaf node
[INFO] [stdout] 270 |     pub fn new(val: i32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeNode3` is never constructed
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:276:16
[INFO] [stdout]     |
[INFO] [stdout] 276 |     pub struct TreeNode3 {
[INFO] [stdout]     |                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `morris_inorder` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:283:8
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub fn morris_inorder(root: Option<Rc<RefCell<TreeNode2>>>) -> Vec<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:320:8
[INFO] [stdout]     |
[INFO] [stdout] 320 | pub fn delete(root: Option<Box<TreeNode>>, key: i32) -> Option<Box<TreeNode>>  {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_successor` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:356:4
[INFO] [stdout]     |
[INFO] [stdout] 356 | fn find_successor(root: &Option<Box<TreeNode>>) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inorder` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:367:8
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub fn inorder(root: Option<Box<TreeNode>>, vec1: &mut Vec<i32>) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `helper` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:376:8
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub fn helper(root1: Option<Box<TreeNode>>, root2: Option<Box<TreeNode>>) -> Option<Box<TreeNode>> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_tree` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:413:4
[INFO] [stdout]     |
[INFO] [stdout] 413 | fn build_tree(inorder: &Vec<i32>, st: i32, end: i32) -> Option<Box<TreeNode>> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `largest` is never constructed
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:427:8
[INFO] [stdout]     |
[INFO] [stdout] 427 | struct largest {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `largest_bst` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:434:4
[INFO] [stdout]     |
[INFO] [stdout] 434 | fn largest_bst(root: &Option<Box<TreeNode>>) -> largest {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `populate_next_right_pointers` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:451:8
[INFO] [stdout]     |
[INFO] [stdout] 451 | pub fn populate_next_right_pointers(root: Option<Rc<RefCell<TreeNode3>>>) -> Option<Rc<RefCell<TreeNode3>>>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pred_succ` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:489:8
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub fn get_pred_succ(root: Option<Rc<RefCell<TreeNode2>>>, key: i32) -> (Option<Rc<RefCell<TreeNode2>>>, Option<Rc<RefCell<TreeNode...
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_pred` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:517:8
[INFO] [stdout]     |
[INFO] [stdout] 517 | pub fn find_pred(root: Option<Rc<RefCell<TreeNode2>>>) -> Option<Rc<RefCell<TreeNode2>>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `helper2` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:622:4
[INFO] [stdout]     |
[INFO] [stdout] 622 | fn helper2(root: Option<Rc<RefCell<TreeNode2>>>, stack: &mut Vec<i32>, ans: &mut Vec<i32>) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_succ` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:527:8
[INFO] [stdout]     |
[INFO] [stdout] 527 | pub fn find_succ(root: Option<Rc<RefCell<TreeNode2>>>) -> Option<Rc<RefCell<TreeNode2>>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_val` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:542:4
[INFO] [stdout]     |
[INFO] [stdout] 542 | fn insert_val(root: Option<Rc<RefCell<TreeNode2>>>, value: i32) -> Option<Rc<RefCell<TreeNode2>>>{
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/linked_list/reverse.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Node {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `floor` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:559:4
[INFO] [stdout]     |
[INFO] [stdout] 559 | fn floor(root: Option<Rc<RefCell<TreeNode2>>>, ans: &mut i32, key: i32) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reverse` is never used
[INFO] [stdout]  --> src/linked_list/reverse.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn reverse(mut head: Option<Box<Node>>) -> Option<Box<Node>> {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ciel` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:579:4
[INFO] [stdout]     |
[INFO] [stdout] 579 | fn ciel(root: Option<Rc<RefCell<TreeNode2>>>, key: i32, ans: &mut i32) {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `range_sum` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:599:4
[INFO] [stdout]     |
[INFO] [stdout] 599 | fn range_sum(root: Option<Rc<RefCell<TreeNode2>>>, low: i32, high: i32, ans: &mut i32) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]  --> src/sorting/insertion_sort.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |         while prev >= 0 && arr[prev] > curr {
[INFO] [stdout]   |               ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `helper2` is never used
[INFO] [stdout]    --> src/binary_tree/binrary_tree.rs:622:4
[INFO] [stdout]     |
[INFO] [stdout] 622 | fn helper2(root: Option<Rc<RefCell<TreeNode2>>>, stack: &mut Vec<i32>, ans: &mut Vec<i32>) {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]  --> src/linked_list/reverse.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Node {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reverse` is never used
[INFO] [stdout]  --> src/linked_list/reverse.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn reverse(mut head: Option<Box<Node>>) -> Option<Box<Node>> {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]  --> src/sorting/insertion_sort.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |         while prev >= 0 && arr[prev] > curr {
[INFO] [stdout]   |               ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.42s
[INFO] running `Command { std: "docker" "inspect" "95970162301c73acb825057c871aac54b50a6f3f832e76a161a1df0f3622a07b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95970162301c73acb825057c871aac54b50a6f3f832e76a161a1df0f3622a07b", kill_on_drop: false }`
[INFO] [stdout] 95970162301c73acb825057c871aac54b50a6f3f832e76a161a1df0f3622a07b
