[INFO] cloning repository https://github.com/tolumide-ng/coding-challenge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tolumide-ng/coding-challenge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftolumide-ng%2Fcoding-challenge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftolumide-ng%2Fcoding-challenge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f086f2c577d12dfbcf99f99bba55dae91f64d928
[INFO] checking tolumide-ng/coding-challenge against master#507271bc119683008ec719ecee48814e8ac86c65 for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftolumide-ng%2Fcoding-challenge" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tolumide-ng/coding-challenge
[INFO] finished tweaking git repo https://github.com/tolumide-ng/coding-challenge
[INFO] tweaked toml for git repo https://github.com/tolumide-ng/coding-challenge written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tolumide-ng/coding-challenge on toolchain 507271bc119683008ec719ecee48814e8ac86c65
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tolumide-ng/coding-challenge 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" "+507271bc119683008ec719ecee48814e8ac86c65" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 11573fc947fbe7fda01ded165e183576c7c85889dec525b83b718136aed731d9
[INFO] running `Command { std: "docker" "start" "-a" "11573fc947fbe7fda01ded165e183576c7c85889dec525b83b718136aed731d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "11573fc947fbe7fda01ded165e183576c7c85889dec525b83b718136aed731d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11573fc947fbe7fda01ded165e183576c7c85889dec525b83b718136aed731d9", kill_on_drop: false }`
[INFO] [stdout] 11573fc947fbe7fda01ded165e183576c7c85889dec525b83b718136aed731d9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+507271bc119683008ec719ecee48814e8ac86c65" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 57e43d65de8f1257a68609afca8178d3b64c9fc1fd7f09ea6bf3f111ff063b89
[INFO] running `Command { std: "docker" "start" "-a" "57e43d65de8f1257a68609afca8178d3b64c9fc1fd7f09ea6bf3f111ff063b89", kill_on_drop: false }`
[INFO] [stderr]     Checking data_structures v0.1.0 (/opt/rustwide/workdir/data_structures)
[INFO] [stderr]     Checking dynamic_pg v0.1.0 (/opt/rustwide/workdir/dynamic_pg)
[INFO] [stdout] warning: fields `memo`, `aggregator`, and `target` are never read
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/all_construct.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     struct AllConstructs {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 14 |         dic: Vec<&'static str>,
[INFO] [stdout] 15 |         memo: HashMap<String, &'static str>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 16 |         aggregator: ReturnType,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 17 |         target: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AllConstructs` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/all_construct.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn recursive_all_construct(target: &'static str, dic: Vec<&'static str>) -> ReturnType {
[INFO] [stdout]    |     ------------------------------------------------------------------------------------------ move the `impl` block outside of this function `recursive_all_construct`
[INFO] [stdout] 32 |         impl AllConstructs {
[INFO] [stdout]    |         ^^^^^-------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `AllConstructs` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/all_construct.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn tabulated_all_construct(target: &'static str, dic: Vec<&'static str>) -> TabReturnType {
[INFO] [stdout]    |     --------------------------------------------------------------------------------------------- move the `impl` block outside of this function `tabulated_all_construct`
[INFO] [stdout] 66 |         // use std::collections::HashMap;
[INFO] [stdout] 67 |         impl AllConstructs {
[INFO] [stdout]    |         ^^^^^-------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `AllConstructs` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/best_sum.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn recursive_best_sum(target: i64, coins: Vec<usize>) -> CoinType {
[INFO] [stdout]    |     --------------------------------------------------------------------- move the `impl` block outside of this function `recursive_best_sum`
[INFO] [stdout] 27 |         impl BestSum {
[INFO] [stdout]    |         ^^^^^-------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `BestSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/best_sum.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn memoized_best_sum(target: i64, coins: Vec<usize>) -> CoinType {
[INFO] [stdout]    |     -------------------------------------------------------------------- move the `impl` block outside of this function `memoized_best_sum`
[INFO] [stdout] 67 |         impl BestSum {
[INFO] [stdout]    |         ^^^^^-------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `BestSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/best_sum.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn tabulated_best_sum(target: usize, coins: Vec<usize>) -> CoinType {
[INFO] [stdout]     |     ----------------------------------------------------------------------- move the `impl` block outside of this function `tabulated_best_sum`
[INFO] [stdout] 116 |         impl BestSum {
[INFO] [stdout]     |         ^^^^^-------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `BestSum` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn recursive_can_construct(target: &str, dic: Vec<&'static str>) -> bool {
[INFO] [stdout]    |     ---------------------------------------------------------------------------- move the `impl` block outside of this function `recursive_can_construct`
[INFO] [stdout] 28 |         impl CanConstruct {
[INFO] [stdout]    |         ^^^^^------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CanConstruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn memoized_can_construct(target: &str, dic: Vec<&'static str>) -> bool {
[INFO] [stdout]    |     --------------------------------------------------------------------------- move the `impl` block outside of this function `memoized_can_construct`
[INFO] [stdout] 54 |         impl CanConstruct {
[INFO] [stdout]    |         ^^^^^------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CanConstruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn tabulated_can_construct(target: &str, dic: Vec<&'static str>) -> bool {
[INFO] [stdout]    |     ---------------------------------------------------------------------------- move the `impl` block outside of this function `tabulated_can_construct`
[INFO] [stdout] 88 |         // where dic is dictionary of words
[INFO] [stdout] 89 |         impl CanConstruct {
[INFO] [stdout]    |         ^^^^^------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CanConstruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn recursive_can_sum(target: i64, coins: Vec<u64>) -> bool {
[INFO] [stdout]    |     -------------------------------------------------------------- move the `impl` block outside of this function `recursive_can_sum`
[INFO] [stdout] ...
[INFO] [stdout] 26 |         impl CanSum {
[INFO] [stdout]    |         ^^^^^------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CanSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn memoized_can_sum(target: i64, coins: Vec<u64>) -> bool {
[INFO] [stdout]    |     ------------------------------------------------------------- move the `impl` block outside of this function `memoized_can_sum`
[INFO] [stdout] ...
[INFO] [stdout] 55 |         impl CanSum {
[INFO] [stdout]    |         ^^^^^------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CanSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn tabulated_can_sum(target: i64, coins: Vec<u64>) -> bool {
[INFO] [stdout]    |     -------------------------------------------------------------- move the `impl` block outside of this function `tabulated_can_sum`
[INFO] [stdout] 90 |         impl CanSum {
[INFO] [stdout]    |         ^^^^^------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CanSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn recursive_count_construct(target: &str, dic: Vec<&'static str>) -> usize {
[INFO] [stdout]    |     ------------------------------------------------------------------------------- move the `impl` block outside of this function `recursive_count_construct`
[INFO] [stdout] 26 |         impl CountConstruct {
[INFO] [stdout]    |         ^^^^^--------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CountConstruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn memoized_count_construct(target: &str, dic: Vec<&'static str>) -> usize {
[INFO] [stdout]    |     ------------------------------------------------------------------------------ move the `impl` block outside of this function `memoized_count_construct`
[INFO] [stdout] 54 |         impl CountConstruct {
[INFO] [stdout]    |         ^^^^^--------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CountConstruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn tabulated_count_construct(target: &str, dic: Vec<&'static str>) -> usize {
[INFO] [stdout]    |     ------------------------------------------------------------------------------- move the `impl` block outside of this function `tabulated_count_construct`
[INFO] [stdout] 90 |         impl CountConstruct {
[INFO] [stdout]    |         ^^^^^--------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CountConstruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn recursive_how_sum(target_sum: i64, coins: Vec<usize>) -> ReturnType {
[INFO] [stdout]    |     -------------------------------------------------------------------------- move the `impl` block outside of this function `recursive_how_sum`
[INFO] [stdout] 25 |         impl HowSum {
[INFO] [stdout]    |         ^^^^^------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `HowSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn memoized_how_sum(target_sum: i64, coins: Vec<usize>) -> ReturnType {
[INFO] [stdout]    |     ------------------------------------------------------------------------- move the `impl` block outside of this function `memoized_how_sum`
[INFO] [stdout] 53 |         impl HowSum {
[INFO] [stdout]    |         ^^^^^------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `HowSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn tabulated_how_sum(target_sum: usize, coins: Vec<usize>) -> ReturnType {
[INFO] [stdout]    |     ---------------------------------------------------------------------------- move the `impl` block outside of this function `tabulated_how_sum`
[INFO] [stdout] 96 |         impl HowSum {
[INFO] [stdout]    |         ^^^^^------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `HowSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `memo`, `aggregator`, and `target` are never read
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/all_construct.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     struct AllConstructs {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 14 |         dic: Vec<&'static str>,
[INFO] [stdout] 15 |         memo: HashMap<String, &'static str>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 16 |         aggregator: ReturnType,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 17 |         target: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AllConstructs` 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: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/all_construct.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn recursive_all_construct(target: &'static str, dic: Vec<&'static str>) -> ReturnType {
[INFO] [stdout]    |     ------------------------------------------------------------------------------------------ move the `impl` block outside of this function `recursive_all_construct`
[INFO] [stdout] 32 |         impl AllConstructs {
[INFO] [stdout]    |         ^^^^^-------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `AllConstructs` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/all_construct.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn tabulated_all_construct(target: &'static str, dic: Vec<&'static str>) -> TabReturnType {
[INFO] [stdout]    |     --------------------------------------------------------------------------------------------- move the `impl` block outside of this function `tabulated_all_construct`
[INFO] [stdout] 66 |         // use std::collections::HashMap;
[INFO] [stdout] 67 |         impl AllConstructs {
[INFO] [stdout]    |         ^^^^^-------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `AllConstructs` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/best_sum.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn recursive_best_sum(target: i64, coins: Vec<usize>) -> CoinType {
[INFO] [stdout]    |     --------------------------------------------------------------------- move the `impl` block outside of this function `recursive_best_sum`
[INFO] [stdout] 27 |         impl BestSum {
[INFO] [stdout]    |         ^^^^^-------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `BestSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/best_sum.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn memoized_best_sum(target: i64, coins: Vec<usize>) -> CoinType {
[INFO] [stdout]    |     -------------------------------------------------------------------- move the `impl` block outside of this function `memoized_best_sum`
[INFO] [stdout] 67 |         impl BestSum {
[INFO] [stdout]    |         ^^^^^-------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `BestSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/best_sum.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub fn tabulated_best_sum(target: usize, coins: Vec<usize>) -> CoinType {
[INFO] [stdout]     |     ----------------------------------------------------------------------- move the `impl` block outside of this function `tabulated_best_sum`
[INFO] [stdout] 116 |         impl BestSum {
[INFO] [stdout]     |         ^^^^^-------
[INFO] [stdout]     |              |
[INFO] [stdout]     |              `BestSum` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn recursive_can_construct(target: &str, dic: Vec<&'static str>) -> bool {
[INFO] [stdout]    |     ---------------------------------------------------------------------------- move the `impl` block outside of this function `recursive_can_construct`
[INFO] [stdout] 28 |         impl CanConstruct {
[INFO] [stdout]    |         ^^^^^------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CanConstruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn memoized_can_construct(target: &str, dic: Vec<&'static str>) -> bool {
[INFO] [stdout]    |     --------------------------------------------------------------------------- move the `impl` block outside of this function `memoized_can_construct`
[INFO] [stdout] 54 |         impl CanConstruct {
[INFO] [stdout]    |         ^^^^^------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CanConstruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn tabulated_can_construct(target: &str, dic: Vec<&'static str>) -> bool {
[INFO] [stdout]    |     ---------------------------------------------------------------------------- move the `impl` block outside of this function `tabulated_can_construct`
[INFO] [stdout] 88 |         // where dic is dictionary of words
[INFO] [stdout] 89 |         impl CanConstruct {
[INFO] [stdout]    |         ^^^^^------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CanConstruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn recursive_can_sum(target: i64, coins: Vec<u64>) -> bool {
[INFO] [stdout]    |     -------------------------------------------------------------- move the `impl` block outside of this function `recursive_can_sum`
[INFO] [stdout] ...
[INFO] [stdout] 26 |         impl CanSum {
[INFO] [stdout]    |         ^^^^^------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CanSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn memoized_can_sum(target: i64, coins: Vec<u64>) -> bool {
[INFO] [stdout]    |     ------------------------------------------------------------- move the `impl` block outside of this function `memoized_can_sum`
[INFO] [stdout] ...
[INFO] [stdout] 55 |         impl CanSum {
[INFO] [stdout]    |         ^^^^^------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CanSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn tabulated_can_sum(target: i64, coins: Vec<u64>) -> bool {
[INFO] [stdout]    |     -------------------------------------------------------------- move the `impl` block outside of this function `tabulated_can_sum`
[INFO] [stdout] 90 |         impl CanSum {
[INFO] [stdout]    |         ^^^^^------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CanSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn recursive_count_construct(target: &str, dic: Vec<&'static str>) -> usize {
[INFO] [stdout]    |     ------------------------------------------------------------------------------- move the `impl` block outside of this function `recursive_count_construct`
[INFO] [stdout] 26 |         impl CountConstruct {
[INFO] [stdout]    |         ^^^^^--------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CountConstruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn memoized_count_construct(target: &str, dic: Vec<&'static str>) -> usize {
[INFO] [stdout]    |     ------------------------------------------------------------------------------ move the `impl` block outside of this function `memoized_count_construct`
[INFO] [stdout] 54 |         impl CountConstruct {
[INFO] [stdout]    |         ^^^^^--------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CountConstruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn tabulated_count_construct(target: &str, dic: Vec<&'static str>) -> usize {
[INFO] [stdout]    |     ------------------------------------------------------------------------------- move the `impl` block outside of this function `tabulated_count_construct`
[INFO] [stdout] 90 |         impl CountConstruct {
[INFO] [stdout]    |         ^^^^^--------------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `CountConstruct` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn recursive_how_sum(target_sum: i64, coins: Vec<usize>) -> ReturnType {
[INFO] [stdout]    |     -------------------------------------------------------------------------- move the `impl` block outside of this function `recursive_how_sum`
[INFO] [stdout] 25 |         impl HowSum {
[INFO] [stdout]    |         ^^^^^------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `HowSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn memoized_how_sum(target_sum: i64, coins: Vec<usize>) -> ReturnType {
[INFO] [stdout]    |     ------------------------------------------------------------------------- move the `impl` block outside of this function `memoized_how_sum`
[INFO] [stdout] 53 |         impl HowSum {
[INFO] [stdout]    |         ^^^^^------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `HowSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn tabulated_how_sum(target_sum: usize, coins: Vec<usize>) -> ReturnType {
[INFO] [stdout]    |     ---------------------------------------------------------------------------- move the `impl` block outside of this function `tabulated_how_sum`
[INFO] [stdout] 96 |         impl HowSum {
[INFO] [stdout]    |         ^^^^^------
[INFO] [stdout]    |              |
[INFO] [stdout]    |              `HowSum` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> data_structures/src/recursion/create_bst.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             let mut parent_node = queue.get_mut(0).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pn`
[INFO] [stdout]    --> data_structures/src/recursion/same_tree.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |         (Some(pn), None) => false,
[INFO] [stdout]     |               ^^ help: if this is intentional, prefix it with an underscore: `_pn`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qn`
[INFO] [stdout]    --> data_structures/src/recursion/same_tree.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |         (None, Some(qn)) => false,
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_qn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `realistic_size` is never read
[INFO] [stdout]   --> data_structures/src/binary_tree/priority_queue.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct BinaryHeap<T> {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     realistic_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BinaryHeap` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stack` is never read
[INFO] [stdout]   --> data_structures/src/queues_stacks/inorder_traversal.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub struct Traversal {
[INFO] [stdout]    |                --------- field in this struct
[INFO] [stdout] 18 |         stack: Vec<Option<Rc<RefCell<TreeNode>>>>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Traversal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `deadlocks`, `target`, and `expected` are never read
[INFO] [stdout]   --> data_structures/src/queues_stacks/open_the_lock.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Handler {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 95 |     deadlocks: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 96 |     target: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 97 |     expected: i32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Handler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parenthesis` is never constructed
[INFO] [stdout]  --> data_structures/src/recursion/generate_parenthesis.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Parenthesis {}
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `generate_parenthesis` and `backtrack` are never used
[INFO] [stdout]   --> data_structures/src/recursion/generate_parenthesis.rs:3:12
[INFO] [stdout]    |
[INFO] [stdout]  2 | impl Parenthesis {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout]  3 |     pub fn generate_parenthesis(n: i32) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     fn backtrack(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache` and `n` are never read
[INFO] [stdout]   --> data_structures/src/recursion/unique_binary_tree.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct UniqueBst {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 26 |     // since constraint already state that n is 1 <= n <= 8, we can caceh a 2,3 tree as either 23 or 32
[INFO] [stdout] 27 |     cache: HashMap<String, TreeVec>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 28 |     n: i32,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UniqueBst` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking others v0.1.0 (/opt/rustwide/workdir/others)
[INFO] [stdout] warning: function `histogram_brute_force` is never used
[INFO] [stdout]  --> others/src/the_algos/largest_rectangle_histogram.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pub fn histogram_brute_force(heights: Vec<i32>) -> 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 `calculate_area` is never used
[INFO] [stdout]   --> others/src/the_algos/largest_rectangle_histogram.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn calculate_area(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `histogram_stack_approach` is never used
[INFO] [stdout]   --> others/src/the_algos/largest_rectangle_histogram.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn histogram_stack_approach(heights: Vec<i32>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> data_structures/src/recursion/create_bst.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             let mut parent_node = queue.get_mut(0).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pn`
[INFO] [stdout]    --> data_structures/src/recursion/same_tree.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |         (Some(pn), None) => false,
[INFO] [stdout]     |               ^^ help: if this is intentional, prefix it with an underscore: `_pn`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qn`
[INFO] [stdout]    --> data_structures/src/recursion/same_tree.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |         (None, Some(qn)) => false,
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_qn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `realistic_size` is never read
[INFO] [stdout]   --> data_structures/src/binary_tree/priority_queue.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct BinaryHeap<T> {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     realistic_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BinaryHeap` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stack` is never read
[INFO] [stdout]   --> data_structures/src/queues_stacks/inorder_traversal.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub struct Traversal {
[INFO] [stdout]    |                --------- field in this struct
[INFO] [stdout] 18 |         stack: Vec<Option<Rc<RefCell<TreeNode>>>>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Traversal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache` and `n` are never read
[INFO] [stdout]   --> data_structures/src/recursion/unique_binary_tree.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct UniqueBst {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 26 |     // since constraint already state that n is 1 <= n <= 8, we can caceh a 2,3 tree as either 23 or 32
[INFO] [stdout] 27 |     cache: HashMap<String, TreeVec>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 28 |     n: i32,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UniqueBst` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> data_structures/src/recursion/create_bst.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             let mut parent_node = queue.get_mut(0).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pn`
[INFO] [stdout]    --> data_structures/src/recursion/same_tree.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |         (Some(pn), None) => false,
[INFO] [stdout]     |               ^^ help: if this is intentional, prefix it with an underscore: `_pn`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qn`
[INFO] [stdout]    --> data_structures/src/recursion/same_tree.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |         (None, Some(qn)) => false,
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_qn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `realistic_size` is never read
[INFO] [stdout]   --> data_structures/src/binary_tree/priority_queue.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct BinaryHeap<T> {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     realistic_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BinaryHeap` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stack` is never read
[INFO] [stdout]   --> data_structures/src/queues_stacks/inorder_traversal.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub struct Traversal {
[INFO] [stdout]    |                --------- field in this struct
[INFO] [stdout] 18 |         stack: Vec<Option<Rc<RefCell<TreeNode>>>>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Traversal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `deadlocks`, `target`, and `expected` are never read
[INFO] [stdout]   --> data_structures/src/queues_stacks/open_the_lock.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Handler {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 95 |     deadlocks: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 96 |     target: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 97 |     expected: i32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Handler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parenthesis` is never constructed
[INFO] [stdout]  --> data_structures/src/recursion/generate_parenthesis.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct Parenthesis {}
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `generate_parenthesis` and `backtrack` are never used
[INFO] [stdout]   --> data_structures/src/recursion/generate_parenthesis.rs:3:12
[INFO] [stdout]    |
[INFO] [stdout]  2 | impl Parenthesis {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout]  3 |     pub fn generate_parenthesis(n: i32) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     fn backtrack(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache` and `n` are never read
[INFO] [stdout]   --> data_structures/src/recursion/unique_binary_tree.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct UniqueBst {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 26 |     // since constraint already state that n is 1 <= n <= 8, we can caceh a 2,3 tree as either 23 or 32
[INFO] [stdout] 27 |     cache: HashMap<String, TreeVec>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 28 |     n: i32,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UniqueBst` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> data_structures/src/recursion/create_bst.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |             let mut parent_node = queue.get_mut(0).unwrap();
[INFO] [stdout]    |                 ----^^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pn`
[INFO] [stdout]    --> data_structures/src/recursion/same_tree.rs:108:15
[INFO] [stdout]     |
[INFO] [stdout] 108 |         (Some(pn), None) => false,
[INFO] [stdout]     |               ^^ help: if this is intentional, prefix it with an underscore: `_pn`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `qn`
[INFO] [stdout]    --> data_structures/src/recursion/same_tree.rs:109:21
[INFO] [stdout]     |
[INFO] [stdout] 109 |         (None, Some(qn)) => false,
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_qn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `realistic_size` is never read
[INFO] [stdout]   --> data_structures/src/binary_tree/priority_queue.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct BinaryHeap<T> {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     realistic_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BinaryHeap` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stack` is never read
[INFO] [stdout]   --> data_structures/src/queues_stacks/inorder_traversal.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub struct Traversal {
[INFO] [stdout]    |                --------- field in this struct
[INFO] [stdout] 18 |         stack: Vec<Option<Rc<RefCell<TreeNode>>>>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Traversal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cache` and `n` are never read
[INFO] [stdout]   --> data_structures/src/recursion/unique_binary_tree.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct UniqueBst {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 26 |     // since constraint already state that n is 1 <= n <= 8, we can caceh a 2,3 tree as either 23 or 32
[INFO] [stdout] 27 |     cache: HashMap<String, TreeVec>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 28 |     n: i32,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UniqueBst` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.49s
[INFO] running `Command { std: "docker" "inspect" "57e43d65de8f1257a68609afca8178d3b64c9fc1fd7f09ea6bf3f111ff063b89", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "57e43d65de8f1257a68609afca8178d3b64c9fc1fd7f09ea6bf3f111ff063b89", kill_on_drop: false }`
[INFO] [stdout] 57e43d65de8f1257a68609afca8178d3b64c9fc1fd7f09ea6bf3f111ff063b89
