[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#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftolumide-ng%2Fcoding-challenge" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/tolumide-ng/coding-challenge on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-5-tc1/source/Cargo.toml
[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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4c4efda1783ec59efc027017e7e7e10aed134a9b0adc5fea687afab377ff38ab
[INFO] running `Command { std: "docker" "start" "-a" "4c4efda1783ec59efc027017e7e7e10aed134a9b0adc5fea687afab377ff38ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4c4efda1783ec59efc027017e7e7e10aed134a9b0adc5fea687afab377ff38ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c4efda1783ec59efc027017e7e7e10aed134a9b0adc5fea687afab377ff38ab", kill_on_drop: false }`
[INFO] [stdout] 4c4efda1783ec59efc027017e7e7e10aed134a9b0adc5fea687afab377ff38ab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e351bb49279821b64774f430994c3da27d657a6d98fcc8e68e203db18bd91d50
[INFO] running `Command { std: "docker" "start" "-a" "e351bb49279821b64774f430994c3da27d657a6d98fcc8e68e203db18bd91d50", 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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> 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)]` 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)]` 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)]` 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: 9 warnings emitted
[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)]` 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: 3 warnings emitted
[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)]` 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)]` 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)]` 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: 6 warnings emitted
[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)]` 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)]` 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)]` 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: 9 warnings emitted
[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)]` 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)]` 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)]` 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: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.91s
[INFO] running `Command { std: "docker" "inspect" "e351bb49279821b64774f430994c3da27d657a6d98fcc8e68e203db18bd91d50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e351bb49279821b64774f430994c3da27d657a6d98fcc8e68e203db18bd91d50", kill_on_drop: false }`
[INFO] [stdout] e351bb49279821b64774f430994c3da27d657a6d98fcc8e68e203db18bd91d50
[INFO] checking tolumide-ng/coding-challenge against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftolumide-ng%2Fcoding-challenge" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/tolumide-ng/coding-challenge on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-5-tc2/source/Cargo.toml
[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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ec8857202ff590eaf26d9b61267c0c20dd7d73dba6b7d9b9534b39bdadcb07a6
[INFO] running `Command { std: "docker" "start" "-a" "ec8857202ff590eaf26d9b61267c0c20dd7d73dba6b7d9b9534b39bdadcb07a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec8857202ff590eaf26d9b61267c0c20dd7d73dba6b7d9b9534b39bdadcb07a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec8857202ff590eaf26d9b61267c0c20dd7d73dba6b7d9b9534b39bdadcb07a6", kill_on_drop: false }`
[INFO] [stdout] ec8857202ff590eaf26d9b61267c0c20dd7d73dba6b7d9b9534b39bdadcb07a6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dnon_local_definitions" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a066da1e352d994cae81d961427106b425f139498851fd9ec5a84df3b2024d7a
[INFO] running `Command { std: "docker" "start" "-a" "a066da1e352d994cae81d961427106b425f139498851fd9ec5a84df3b2024d7a", 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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/all_construct.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | /         impl AllConstructs {
[INFO] [stdout] 33 | |             pub fn get_all_recursive_constructs(&self, target: &'static str) -> ReturnType {
[INFO] [stdout] 34 | |                 if target.len() == 0 {
[INFO] [stdout] 35 | |                     let d: RefCell<Vec<&str>> = RefCell::new(vec![]);
[INFO] [stdout] ...  |
[INFO] [stdout] 56 | |             }
[INFO] [stdout] 57 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `recursive_all_construct`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/all_construct.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout] 67  | /         impl AllConstructs {
[INFO] [stdout] 68  | |             pub fn get_all_tabulated_constructs(&self, target: &'static str) -> TabReturnType {
[INFO] [stdout] 69  | |                 let mut dic_store: Vec<TabReturnType> = vec![vec![]; target.len() + 1];
[INFO] [stdout] 70  | |                 // let mut dic_store = HashMap::new();
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |             }
[INFO] [stdout] 102 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `tabulated_all_construct`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/best_sum.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | /         impl BestSum {
[INFO] [stdout] 28 | |             pub fn get_best_sum(&self, target: i64) -> CoinType {
[INFO] [stdout] 29 | |                 if target == 0 {
[INFO] [stdout] 30 | |                     return Some(vec![]);
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |             }
[INFO] [stdout] 60 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `recursive_best_sum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/best_sum.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout] 67  | /         impl BestSum {
[INFO] [stdout] 68  | |             pub fn get_memoized_sum(&mut self, target: i64) -> CoinType {
[INFO] [stdout] 69  | |                 if self.memo.contains_key(&target) {
[INFO] [stdout] 70  | |                     let value = self.memo.get(&target);
[INFO] [stdout] ...   |
[INFO] [stdout] 108 | |             }
[INFO] [stdout] 109 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `memoized_best_sum`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/best_sum.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 | /         impl BestSum {
[INFO] [stdout] 117 | |             pub fn get_tabulated_sum(&self, target: usize) -> CoinType {
[INFO] [stdout] 118 | |                 let mut vec_store: Vec<CoinType> = vec![None; target + 1];
[INFO] [stdout] 119 | |
[INFO] [stdout] ...   |
[INFO] [stdout] 156 | |             }
[INFO] [stdout] 157 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `tabulated_best_sum`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | /         impl CanConstruct {
[INFO] [stdout] 29 | |             pub fn get_recursive_construct(&self, target: &str) -> bool {
[INFO] [stdout] 30 | |                 if target.len() == 0 {
[INFO] [stdout] 31 | |                     return true;
[INFO] [stdout] ...  |
[INFO] [stdout] 46 | |             }
[INFO] [stdout] 47 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `recursive_can_construct`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | /         impl CanConstruct {
[INFO] [stdout] 55 | |             pub fn get_memoized_construct(&mut self, target: &str) -> bool {
[INFO] [stdout] 56 | |                 if self.memo.contains_key(&target.to_string()) {
[INFO] [stdout] 57 | |                     return *self.memo.get(&target.to_string()).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 80 | |             }
[INFO] [stdout] 81 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `memoized_can_construct`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/can_construct.rs:89:9
[INFO] [stdout]     |
[INFO] [stdout] 89  | /         impl CanConstruct {
[INFO] [stdout] 90  | |             pub fn get_tabulated_can_construct(&self, target: &str) -> bool {
[INFO] [stdout] 91  | |                 // let target = target.trim();
[INFO] [stdout] 92  | |                 let mut vec_store = vec![false; target.len() + 1];
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |             }
[INFO] [stdout] 120 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `tabulated_can_construct`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | /         impl CanSum {
[INFO] [stdout] 27 | |             fn get_can_sum(&self, target: i64) -> bool {
[INFO] [stdout] 28 | |                 if target == 0 {
[INFO] [stdout] 29 | |                     return true;
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |             }
[INFO] [stdout] 43 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `recursive_can_sum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | /         impl CanSum {
[INFO] [stdout] 56 | |             fn get_memoized_sum(&mut self, target: i64) -> bool {
[INFO] [stdout] 57 | |                 if self.memo.contains_key(&target) {
[INFO] [stdout] 58 | |                     return *self.memo.get(&target).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 82 | |             }
[INFO] [stdout] 83 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `memoized_can_sum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/can_sum.rs:90:9
[INFO] [stdout]     |
[INFO] [stdout] 90  | /         impl CanSum {
[INFO] [stdout] 91  | |             fn get_tabulated_sum(&self, target: i64) -> bool {
[INFO] [stdout] 92  | |                 let mut vec_store = vec![false; target as usize + 1];
[INFO] [stdout] 93  | |
[INFO] [stdout] ...   |
[INFO] [stdout] 107 | |             }
[INFO] [stdout] 108 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `tabulated_can_sum`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | /         impl CountConstruct {
[INFO] [stdout] 27 | |             pub fn get_construct_count(&self, target: &str) -> usize {
[INFO] [stdout] 28 | |                 if target.len() == 0 {
[INFO] [stdout] 29 | |                     return 1;
[INFO] [stdout] ...  |
[INFO] [stdout] 46 | |             }
[INFO] [stdout] 47 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `recursive_count_construct`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | /         impl CountConstruct {
[INFO] [stdout] 55 | |             pub fn get_memoized_count_construct(&mut self, target: &str) -> usize {
[INFO] [stdout] 56 | |                 if self.memo.contains_key(&target.to_owned()) {
[INFO] [stdout] 57 | |                     let value = self.memo.get(target).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 82 | |             }
[INFO] [stdout] 83 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `memoized_count_construct`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/count_construct.rs:90:9
[INFO] [stdout]     |
[INFO] [stdout] 90  | /         impl CountConstruct {
[INFO] [stdout] 91  | |             pub fn get_tabulated_count_construct(&self, target: &str) -> usize {
[INFO] [stdout] 92  | |                 let mut vec_store = vec![0; target.len() + 1];
[INFO] [stdout] 93  | |
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |             }
[INFO] [stdout] 118 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `tabulated_count_construct`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | /         impl HowSum {
[INFO] [stdout] 26 | |             pub fn get_recursive_sum(&self, target_sum: i64) -> ReturnType {
[INFO] [stdout] 27 | |                 if target_sum == 0 {
[INFO] [stdout] 28 | |                     return Some(Vec::new());
[INFO] [stdout] ...  |
[INFO] [stdout] 45 | |             }
[INFO] [stdout] 46 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `recursive_how_sum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 | /         impl HowSum {
[INFO] [stdout] 54 | |             fn get_memoized_sum(&mut self, target_sum: i64) -> ReturnType {
[INFO] [stdout] 55 | |                 if self.memo.contains_key(&target_sum) {
[INFO] [stdout] 56 | |                     let value = self.memo.get(&target_sum);
[INFO] [stdout] ...  |
[INFO] [stdout] 88 | |             }
[INFO] [stdout] 89 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `memoized_how_sum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/how_sum.rs:96:9
[INFO] [stdout]     |
[INFO] [stdout] 96  | /         impl HowSum {
[INFO] [stdout] 97  | |             pub fn get_tabulated_sum(&self, target_sum: usize) -> ReturnType {
[INFO] [stdout] 98  | |                 let mut vec_store: Vec<Option<Vec<usize>>> = vec![None; target_sum as usize + 1];
[INFO] [stdout] 99  | |
[INFO] [stdout] ...   |
[INFO] [stdout] 124 | |             }
[INFO] [stdout] 125 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `tabulated_how_sum`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dynamic_pg` (bin "dynamic_pg") due to 18 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/all_construct.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | /         impl AllConstructs {
[INFO] [stdout] 33 | |             pub fn get_all_recursive_constructs(&self, target: &'static str) -> ReturnType {
[INFO] [stdout] 34 | |                 if target.len() == 0 {
[INFO] [stdout] 35 | |                     let d: RefCell<Vec<&str>> = RefCell::new(vec![]);
[INFO] [stdout] ...  |
[INFO] [stdout] 56 | |             }
[INFO] [stdout] 57 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `recursive_all_construct`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/all_construct.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout] 67  | /         impl AllConstructs {
[INFO] [stdout] 68  | |             pub fn get_all_tabulated_constructs(&self, target: &'static str) -> TabReturnType {
[INFO] [stdout] 69  | |                 let mut dic_store: Vec<TabReturnType> = vec![vec![]; target.len() + 1];
[INFO] [stdout] 70  | |                 // let mut dic_store = HashMap::new();
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |             }
[INFO] [stdout] 102 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `tabulated_all_construct`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/best_sum.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | /         impl BestSum {
[INFO] [stdout] 28 | |             pub fn get_best_sum(&self, target: i64) -> CoinType {
[INFO] [stdout] 29 | |                 if target == 0 {
[INFO] [stdout] 30 | |                     return Some(vec![]);
[INFO] [stdout] ...  |
[INFO] [stdout] 59 | |             }
[INFO] [stdout] 60 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `recursive_best_sum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/best_sum.rs:67:9
[INFO] [stdout]     |
[INFO] [stdout] 67  | /         impl BestSum {
[INFO] [stdout] 68  | |             pub fn get_memoized_sum(&mut self, target: i64) -> CoinType {
[INFO] [stdout] 69  | |                 if self.memo.contains_key(&target) {
[INFO] [stdout] 70  | |                     let value = self.memo.get(&target);
[INFO] [stdout] ...   |
[INFO] [stdout] 108 | |             }
[INFO] [stdout] 109 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `memoized_best_sum`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/best_sum.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 | /         impl BestSum {
[INFO] [stdout] 117 | |             pub fn get_tabulated_sum(&self, target: usize) -> CoinType {
[INFO] [stdout] 118 | |                 let mut vec_store: Vec<CoinType> = vec![None; target + 1];
[INFO] [stdout] 119 | |
[INFO] [stdout] ...   |
[INFO] [stdout] 156 | |             }
[INFO] [stdout] 157 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `tabulated_best_sum`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | /         impl CanConstruct {
[INFO] [stdout] 29 | |             pub fn get_recursive_construct(&self, target: &str) -> bool {
[INFO] [stdout] 30 | |                 if target.len() == 0 {
[INFO] [stdout] 31 | |                     return true;
[INFO] [stdout] ...  |
[INFO] [stdout] 46 | |             }
[INFO] [stdout] 47 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `recursive_can_construct`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | /         impl CanConstruct {
[INFO] [stdout] 55 | |             pub fn get_memoized_construct(&mut self, target: &str) -> bool {
[INFO] [stdout] 56 | |                 if self.memo.contains_key(&target.to_string()) {
[INFO] [stdout] 57 | |                     return *self.memo.get(&target.to_string()).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 80 | |             }
[INFO] [stdout] 81 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `memoized_can_construct`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/can_construct.rs:89:9
[INFO] [stdout]     |
[INFO] [stdout] 89  | /         impl CanConstruct {
[INFO] [stdout] 90  | |             pub fn get_tabulated_can_construct(&self, target: &str) -> bool {
[INFO] [stdout] 91  | |                 // let target = target.trim();
[INFO] [stdout] 92  | |                 let mut vec_store = vec![false; target.len() + 1];
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |             }
[INFO] [stdout] 120 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `tabulated_can_construct`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | /         impl CanSum {
[INFO] [stdout] 27 | |             fn get_can_sum(&self, target: i64) -> bool {
[INFO] [stdout] 28 | |                 if target == 0 {
[INFO] [stdout] 29 | |                     return true;
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |             }
[INFO] [stdout] 43 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `recursive_can_sum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | /         impl CanSum {
[INFO] [stdout] 56 | |             fn get_memoized_sum(&mut self, target: i64) -> bool {
[INFO] [stdout] 57 | |                 if self.memo.contains_key(&target) {
[INFO] [stdout] 58 | |                     return *self.memo.get(&target).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 82 | |             }
[INFO] [stdout] 83 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `memoized_can_sum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/can_sum.rs:90:9
[INFO] [stdout]     |
[INFO] [stdout] 90  | /         impl CanSum {
[INFO] [stdout] 91  | |             fn get_tabulated_sum(&self, target: i64) -> bool {
[INFO] [stdout] 92  | |                 let mut vec_store = vec![false; target as usize + 1];
[INFO] [stdout] 93  | |
[INFO] [stdout] ...   |
[INFO] [stdout] 107 | |             }
[INFO] [stdout] 108 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `tabulated_can_sum`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | /         impl CountConstruct {
[INFO] [stdout] 27 | |             pub fn get_construct_count(&self, target: &str) -> usize {
[INFO] [stdout] 28 | |                 if target.len() == 0 {
[INFO] [stdout] 29 | |                     return 1;
[INFO] [stdout] ...  |
[INFO] [stdout] 46 | |             }
[INFO] [stdout] 47 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `recursive_count_construct`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | /         impl CountConstruct {
[INFO] [stdout] 55 | |             pub fn get_memoized_count_construct(&mut self, target: &str) -> usize {
[INFO] [stdout] 56 | |                 if self.memo.contains_key(&target.to_owned()) {
[INFO] [stdout] 57 | |                     let value = self.memo.get(target).unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 82 | |             }
[INFO] [stdout] 83 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `memoized_count_construct`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/count_construct.rs:90:9
[INFO] [stdout]     |
[INFO] [stdout] 90  | /         impl CountConstruct {
[INFO] [stdout] 91  | |             pub fn get_tabulated_count_construct(&self, target: &str) -> usize {
[INFO] [stdout] 92  | |                 let mut vec_store = vec![0; target.len() + 1];
[INFO] [stdout] 93  | |
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | |             }
[INFO] [stdout] 118 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `tabulated_count_construct`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | /         impl HowSum {
[INFO] [stdout] 26 | |             pub fn get_recursive_sum(&self, target_sum: i64) -> ReturnType {
[INFO] [stdout] 27 | |                 if target_sum == 0 {
[INFO] [stdout] 28 | |                     return Some(Vec::new());
[INFO] [stdout] ...  |
[INFO] [stdout] 45 | |             }
[INFO] [stdout] 46 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `recursive_how_sum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 | /         impl HowSum {
[INFO] [stdout] 54 | |             fn get_memoized_sum(&mut self, target_sum: i64) -> ReturnType {
[INFO] [stdout] 55 | |                 if self.memo.contains_key(&target_sum) {
[INFO] [stdout] 56 | |                     let value = self.memo.get(&target_sum);
[INFO] [stdout] ...  |
[INFO] [stdout] 88 | |             }
[INFO] [stdout] 89 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current function `memoized_how_sum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> dynamic_pg/src/dynamic_programming/how_sum.rs:96:9
[INFO] [stdout]     |
[INFO] [stdout] 96  | /         impl HowSum {
[INFO] [stdout] 97  | |             pub fn get_tabulated_sum(&self, target_sum: usize) -> ReturnType {
[INFO] [stdout] 98  | |                 let mut vec_store: Vec<Option<Vec<usize>>> = vec![None; target_sum as usize + 1];
[INFO] [stdout] 99  | |
[INFO] [stdout] ...   |
[INFO] [stdout] 124 | |             }
[INFO] [stdout] 125 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current function `tabulated_how_sum`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 17 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dynamic_pg` (bin "dynamic_pg" test) due to 18 previous errors; 1 warning emitted
[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)]` 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)]` 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)]` 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: 9 warnings emitted
[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)]` 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)]` 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)]` 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: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a066da1e352d994cae81d961427106b425f139498851fd9ec5a84df3b2024d7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a066da1e352d994cae81d961427106b425f139498851fd9ec5a84df3b2024d7a", kill_on_drop: false }`
[INFO] [stdout] a066da1e352d994cae81d961427106b425f139498851fd9ec5a84df3b2024d7a
