[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] testing tolumide-ng/coding-challenge against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftolumide-ng%2Fcoding-challenge" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/tolumide-ng/coding-challenge on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "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-7-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" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 958634c582a331dcdc4454db3abef160b85509ff222cc89750a61b4adc56114d
[INFO] running `Command { std: "docker" "start" "-a" "958634c582a331dcdc4454db3abef160b85509ff222cc89750a61b4adc56114d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "958634c582a331dcdc4454db3abef160b85509ff222cc89750a61b4adc56114d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "958634c582a331dcdc4454db3abef160b85509ff222cc89750a61b4adc56114d", kill_on_drop: false }`
[INFO] [stdout] 958634c582a331dcdc4454db3abef160b85509ff222cc89750a61b4adc56114d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 40913197cc3ef8bf68e217a1fb27df32ad065148522234e9a63677b1d2f54417
[INFO] running `Command { std: "docker" "start" "-a" "40913197cc3ef8bf68e217a1fb27df32ad065148522234e9a63677b1d2f54417", kill_on_drop: false }`
[INFO] [stderr]    Compiling data_structures v0.1.0 (/opt/rustwide/workdir/data_structures)
[INFO] [stderr]    Compiling 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: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 18 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] [stderr]    Compiling 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 `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]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.23s
[INFO] running `Command { std: "docker" "inspect" "40913197cc3ef8bf68e217a1fb27df32ad065148522234e9a63677b1d2f54417", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "40913197cc3ef8bf68e217a1fb27df32ad065148522234e9a63677b1d2f54417", kill_on_drop: false }`
[INFO] [stdout] 40913197cc3ef8bf68e217a1fb27df32ad065148522234e9a63677b1d2f54417
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fc05723b1f5f3bea7b9c3a68d93e3f6284069f4bd2bf03b1694188b8f0e7cc42
[INFO] running `Command { std: "docker" "start" "-a" "fc05723b1f5f3bea7b9c3a68d93e3f6284069f4bd2bf03b1694188b8f0e7cc42", kill_on_drop: false }`
[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] [stderr]    Compiling data_structures v0.1.0 (/opt/rustwide/workdir/data_structures)
[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] [stderr]    Compiling others v0.1.0 (/opt/rustwide/workdir/others)
[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] [stderr]    Compiling dynamic_pg v0.1.0 (/opt/rustwide/workdir/dynamic_pg)
[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: 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: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] 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: 18 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: 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: 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: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.50s
[INFO] running `Command { std: "docker" "inspect" "fc05723b1f5f3bea7b9c3a68d93e3f6284069f4bd2bf03b1694188b8f0e7cc42", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc05723b1f5f3bea7b9c3a68d93e3f6284069f4bd2bf03b1694188b8f0e7cc42", kill_on_drop: false }`
[INFO] [stdout] fc05723b1f5f3bea7b9c3a68d93e3f6284069f4bd2bf03b1694188b8f0e7cc42
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 689c968d48627d9edf0df9f00d629164779033b6b819de181499700424f239a1
[INFO] running `Command { std: "docker" "start" "-a" "689c968d48627d9edf0df9f00d629164779033b6b819de181499700424f239a1", kill_on_drop: false }`
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> data_structures/src/recursion/create_bst.rs:68:17
[INFO] [stderr]    |
[INFO] [stderr] 68 |             let mut parent_node = queue.get_mut(0).unwrap();
[INFO] [stderr]    |                 ----^^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pn`
[INFO] [stderr]    --> data_structures/src/recursion/same_tree.rs:108:15
[INFO] [stderr]     |
[INFO] [stderr] 108 |         (Some(pn), None) => false,
[INFO] [stderr]     |               ^^ help: if this is intentional, prefix it with an underscore: `_pn`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `qn`
[INFO] [stderr]    --> data_structures/src/recursion/same_tree.rs:109:21
[INFO] [stderr]     |
[INFO] [stderr] 109 |         (None, Some(qn)) => false,
[INFO] [stderr]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_qn`
[INFO] [stderr] 
[INFO] [stderr] warning: field `realistic_size` is never read
[INFO] [stderr]   --> data_structures/src/binary_tree/priority_queue.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct BinaryHeap<T> {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 34 |     realistic_size: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BinaryHeap` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `stack` is never read
[INFO] [stderr]   --> data_structures/src/queues_stacks/inorder_traversal.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub struct Traversal {
[INFO] [stderr]    |                --------- field in this struct
[INFO] [stderr] 18 |         stack: Vec<Option<Rc<RefCell<TreeNode>>>>,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Traversal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `deadlocks`, `target`, and `expected` are never read
[INFO] [stderr]   --> data_structures/src/queues_stacks/open_the_lock.rs:95:5
[INFO] [stderr]    |
[INFO] [stderr] 94 | pub struct Handler {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] 95 |     deadlocks: Vec<String>,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 96 |     target: String,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 97 |     expected: i32,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Handler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Parenthesis` is never constructed
[INFO] [stderr]  --> data_structures/src/recursion/generate_parenthesis.rs:1:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | struct Parenthesis {}
[INFO] [stderr]   |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `generate_parenthesis` and `backtrack` are never used
[INFO] [stderr]   --> data_structures/src/recursion/generate_parenthesis.rs:3:12
[INFO] [stderr]    |
[INFO] [stderr] 2  | impl Parenthesis {
[INFO] [stderr]    | ---------------- associated functions in this implementation
[INFO] [stderr] 3  |     pub fn generate_parenthesis(n: i32) -> Vec<String> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 11 |     fn backtrack(
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `cache` and `n` are never read
[INFO] [stderr]   --> data_structures/src/recursion/unique_binary_tree.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | struct UniqueBst {
[INFO] [stderr]    |        --------- fields in this struct
[INFO] [stderr] 26 |     // since constraint already state that n is 1 <= n <= 8, we can caceh a 2,3 tree as either 23 or 32
[INFO] [stderr] 27 |     cache: HashMap<String, TreeVec>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 28 |     n: i32,
[INFO] [stderr]    |     ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `UniqueBst` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `data_structures` (lib) generated 9 warnings (run `cargo fix --lib -p data_structures` to apply 1 suggestion)
[INFO] [stderr] warning: `data_structures` (bin "data_structures" test) generated 6 warnings (6 duplicates)
[INFO] [stderr] warning: fields `memo`, `aggregator`, and `target` are never read
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/all_construct.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     struct AllConstructs {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 14 |         dic: Vec<&'static str>,
[INFO] [stderr] 15 |         memo: HashMap<String, &'static str>,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 16 |         aggregator: ReturnType,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 17 |         target: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AllConstructs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/all_construct.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 32 | /         impl AllConstructs {
[INFO] [stderr] 33 | |             pub fn get_all_recursive_constructs(&self, target: &'static str) -> ReturnType {
[INFO] [stderr] 34 | |                 if target.len() == 0 {
[INFO] [stderr] 35 | |                     let d: RefCell<Vec<&str>> = RefCell::new(vec![]);
[INFO] [stderr] ...  |
[INFO] [stderr] 56 | |             }
[INFO] [stderr] 57 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `recursive_all_construct`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/all_construct.rs:67:9
[INFO] [stderr]     |
[INFO] [stderr] 67  | /         impl AllConstructs {
[INFO] [stderr] 68  | |             pub fn get_all_tabulated_constructs(&self, target: &'static str) -> TabReturnType {
[INFO] [stderr] 69  | |                 let mut dic_store: Vec<TabReturnType> = vec![vec![]; target.len() + 1];
[INFO] [stderr] 70  | |                 // let mut dic_store = HashMap::new();
[INFO] [stderr] ...   |
[INFO] [stderr] 101 | |             }
[INFO] [stderr] 102 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `tabulated_all_construct`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/best_sum.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 | /         impl BestSum {
[INFO] [stderr] 28 | |             pub fn get_best_sum(&self, target: i64) -> CoinType {
[INFO] [stderr] 29 | |                 if target == 0 {
[INFO] [stderr] 30 | |                     return Some(vec![]);
[INFO] [stderr] ...  |
[INFO] [stderr] 59 | |             }
[INFO] [stderr] 60 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `recursive_best_sum`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/best_sum.rs:67:9
[INFO] [stderr]     |
[INFO] [stderr] 67  | /         impl BestSum {
[INFO] [stderr] 68  | |             pub fn get_memoized_sum(&mut self, target: i64) -> CoinType {
[INFO] [stderr] 69  | |                 if self.memo.contains_key(&target) {
[INFO] [stderr] 70  | |                     let value = self.memo.get(&target);
[INFO] [stderr] ...   |
[INFO] [stderr] 108 | |             }
[INFO] [stderr] 109 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `memoized_best_sum`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/best_sum.rs:116:9
[INFO] [stderr]     |
[INFO] [stderr] 116 | /         impl BestSum {
[INFO] [stderr] 117 | |             pub fn get_tabulated_sum(&self, target: usize) -> CoinType {
[INFO] [stderr] 118 | |                 let mut vec_store: Vec<CoinType> = vec![None; target + 1];
[INFO] [stderr] ...   |
[INFO] [stderr] 156 | |             }
[INFO] [stderr] 157 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `tabulated_best_sum`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 28 | /         impl CanConstruct {
[INFO] [stderr] 29 | |             pub fn get_recursive_construct(&self, target: &str) -> bool {
[INFO] [stderr] 30 | |                 if target.len() == 0 {
[INFO] [stderr] 31 | |                     return true;
[INFO] [stderr] ...  |
[INFO] [stderr] 46 | |             }
[INFO] [stderr] 47 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `recursive_can_construct`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:54:9
[INFO] [stderr]    |
[INFO] [stderr] 54 | /         impl CanConstruct {
[INFO] [stderr] 55 | |             pub fn get_memoized_construct(&mut self, target: &str) -> bool {
[INFO] [stderr] 56 | |                 if self.memo.contains_key(&target.to_string()) {
[INFO] [stderr] 57 | |                     return *self.memo.get(&target.to_string()).unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 80 | |             }
[INFO] [stderr] 81 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `memoized_can_construct`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/can_construct.rs:89:9
[INFO] [stderr]     |
[INFO] [stderr] 89  | /         impl CanConstruct {
[INFO] [stderr] 90  | |             pub fn get_tabulated_can_construct(&self, target: &str) -> bool {
[INFO] [stderr] 91  | |                 // let target = target.trim();
[INFO] [stderr] 92  | |                 let mut vec_store = vec![false; target.len() + 1];
[INFO] [stderr] ...   |
[INFO] [stderr] 119 | |             }
[INFO] [stderr] 120 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `tabulated_can_construct`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 | /         impl CanSum {
[INFO] [stderr] 27 | |             fn get_can_sum(&self, target: i64) -> bool {
[INFO] [stderr] 28 | |                 if target == 0 {
[INFO] [stderr] 29 | |                     return true;
[INFO] [stderr] ...  |
[INFO] [stderr] 42 | |             }
[INFO] [stderr] 43 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `recursive_can_sum`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 | /         impl CanSum {
[INFO] [stderr] 56 | |             fn get_memoized_sum(&mut self, target: i64) -> bool {
[INFO] [stderr] 57 | |                 if self.memo.contains_key(&target) {
[INFO] [stderr] 58 | |                     return *self.memo.get(&target).unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 82 | |             }
[INFO] [stderr] 83 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `memoized_can_sum`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/can_sum.rs:90:9
[INFO] [stderr]     |
[INFO] [stderr] 90  | /         impl CanSum {
[INFO] [stderr] 91  | |             fn get_tabulated_sum(&self, target: i64) -> bool {
[INFO] [stderr] 92  | |                 let mut vec_store = vec![false; target as usize + 1];
[INFO] [stderr] ...   |
[INFO] [stderr] 107 | |             }
[INFO] [stderr] 108 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `tabulated_can_sum`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 | /         impl CountConstruct {
[INFO] [stderr] 27 | |             pub fn get_construct_count(&self, target: &str) -> usize {
[INFO] [stderr] 28 | |                 if target.len() == 0 {
[INFO] [stderr] 29 | |                     return 1;
[INFO] [stderr] ...  |
[INFO] [stderr] 46 | |             }
[INFO] [stderr] 47 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `recursive_count_construct`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:54:9
[INFO] [stderr]    |
[INFO] [stderr] 54 | /         impl CountConstruct {
[INFO] [stderr] 55 | |             pub fn get_memoized_count_construct(&mut self, target: &str) -> usize {
[INFO] [stderr] 56 | |                 if self.memo.contains_key(&target.to_owned()) {
[INFO] [stderr] 57 | |                     let value = self.memo.get(target).unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 82 | |             }
[INFO] [stderr] 83 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `memoized_count_construct`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/count_construct.rs:90:9
[INFO] [stderr]     |
[INFO] [stderr] 90  | /         impl CountConstruct {
[INFO] [stderr] 91  | |             pub fn get_tabulated_count_construct(&self, target: &str) -> usize {
[INFO] [stderr] 92  | |                 let mut vec_store = vec![0; target.len() + 1];
[INFO] [stderr] ...   |
[INFO] [stderr] 117 | |             }
[INFO] [stderr] 118 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `tabulated_count_construct`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 25 | /         impl HowSum {
[INFO] [stderr] 26 | |             pub fn get_recursive_sum(&self, target_sum: i64) -> ReturnType {
[INFO] [stderr] 27 | |                 if target_sum == 0 {
[INFO] [stderr] 28 | |                     return Some(Vec::new());
[INFO] [stderr] ...  |
[INFO] [stderr] 45 | |             }
[INFO] [stderr] 46 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `recursive_how_sum`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 | /         impl HowSum {
[INFO] [stderr] 54 | |             fn get_memoized_sum(&mut self, target_sum: i64) -> ReturnType {
[INFO] [stderr] 55 | |                 if self.memo.contains_key(&target_sum) {
[INFO] [stderr] 56 | |                     let value = self.memo.get(&target_sum);
[INFO] [stderr] ...  |
[INFO] [stderr] 88 | |             }
[INFO] [stderr] 89 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `memoized_how_sum`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/how_sum.rs:96:9
[INFO] [stderr]     |
[INFO] [stderr] 96  | /         impl HowSum {
[INFO] [stderr] 97  | |             pub fn get_tabulated_sum(&self, target_sum: usize) -> ReturnType {
[INFO] [stderr] 98  | |                 let mut vec_store: Vec<Option<Vec<usize>>> = vec![None; target_sum as usize + 1];
[INFO] [stderr] ...   |
[INFO] [stderr] 124 | |             }
[INFO] [stderr] 125 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `tabulated_how_sum`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: `data_structures` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr] warning: `dynamic_pg` (bin "dynamic_pg" test) generated 18 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/data_structures-bd20761b7c44145c)
[INFO] [stdout] 
[INFO] [stdout] running 109 tests
[INFO] [stdout] test binary_tree::level_order_traversal::breadth_first_search::test_breadth_first_search ... ok
[INFO] [stdout] test binary_tree::in_order_traversal::test_inorder_traversal::double_element_recursive_inorder_test ... ok
[INFO] [stdout] test binary_tree::in_order_traversal::test_inorder_traversal::one_element_recursive_inorder_test ... ok
[INFO] [stdout] test binary_tree::in_order_traversal::test_inorder_traversal::recursive_inorder_test ... ok
[INFO] [stdout] test binary_tree::level_order_traversal::breadth_first_search::double_elem_breath_first_test ... ok
[INFO] [stdout] test binary_tree::lowest_common_ancestor::test_lca::gets_none_if_unavailable ... ok
[INFO] [stdout] test binary_tree::level_order_traversal::breadth_first_search::single_elem_beadth_first_test ... ok
[INFO] [stdout] test binary_tree::pre_order_traversal::test_preorder_traversal::iterative_preorder_test ... ok
[INFO] [stdout] test binary_tree::post_order_traversal::test_post_order_traversal::test_post_order_traversal ... ok
[INFO] [stdout] test binary_tree::pre_order_traversal::test_preorder_traversal::recursive_preorder_test ... ok
[INFO] [stdout] test binary_tree::priority_queue::test_min_priority::min_priority_insertion ... ok
[INFO] [stdout] test binary_tree::priority_queue::test_min_priority::min_priority_order ... ok
[INFO] [stdout] test binary_tree::priority_queue::test_min_priority::order_after_removal ... ok
[INFO] [stdout] test binary_tree::priority_queue::test_min_priority::test_change_priority ... ok
[INFO] [stdout] test binary_tree::serialize_deserialize::serialize_deserialize_tests::test_deserialize ... ok
[INFO] [stdout] test linked_lists::dnode::dtests::test_new_dnode_integer ... ok
[INFO] [stdout] test linked_lists::dnode::dtests::test_new_dnode_string ... ok
[INFO] [stdout] test binary_tree::serialize_deserialize::serialize_deserialize_tests::test_serialize ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::insert_elemenet ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_append_to_end ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_get_nth_element ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_delete_nth_element ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_pop_end_single_elem ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_pop_head_multi_elem ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_pop_head_one_elem ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_eight ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_fifth ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_first ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_new_empty_dlist ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_third ... ok
[INFO] [stdout] test linked_lists::linked_rcs::test_linked_rcs_mod::test_append_list ... ok
[INFO] [stdout] test linked_lists::linked_rcs::test_linked_rcs_mod::test_new_empty_list ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_second ... ok
[INFO] [stdout] test linked_lists::linked_rcs::test_linked_rcs_mod::test_new_list ... ok
[INFO] [stdout] test linked_lists::node::tests::test_new_node ... ok
[INFO] [stdout] test linked_lists::nth_from_last::test_nth_pointer::get_not_enough_nth_elem ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_seventh ... ok
[INFO] [stdout] test linked_lists::nth_from_last::test_nth_pointer::get_nth_elem_empty ... ok
[INFO] [stdout] test linked_lists::nth_from_last::test_nth_pointer::get_nth_elem_from_end ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_fourth ... ok
[INFO] [stdout] test linked_lists::odd_even_linked_lists::odd_even_linked_lists ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_sixth ... ok
[INFO] [stdout] test queues_stacks::circular_queue::test_queue::test_enqeue_rear ... ok
[INFO] [stdout] test linked_lists::reversed_linked_lists::premo_wayne ... ok
[INFO] [stdout] test queues_stacks::circular_queue::test_queue::test_queue_edge_case ... ok
[INFO] [stdout] test linked_lists::single_ll::test_singly_ll_mod::singly_ll ... ok
[INFO] [stdout] test queues_stacks::daily_temperatures::test_daily_temps_cont::test_daily_temps ... ok
[INFO] [stdout] test queues_stacks::flood_fill::test_flood_fill_cont::test_flood_fill ... ok
[INFO] [stdout] test queues_stacks::decode_string::test_decode_string_cont::test_decode_string ... ok
[INFO] [stdout] test linked_lists::remove_linked_elements::remove_linked_elem ... ok
[INFO] [stdout] test queues_stacks::matrix_01::test_matrix_01_cont::test_matrix_01 ... ok
[INFO] [stdout] test queues_stacks::min_stack::test_min_stack_cont::test_min_stack ... ok
[INFO] [stdout] test queues_stacks::number_of_islands_bfs::test_islands_number_bfs_cont::test_island_number_bfs ... ok
[INFO] [stdout] test queues_stacks::number_of_islands_dfs::test_islands_number::test_island_number ... ok
[INFO] [stdout] test queues_stacks::moving_data_stream::test_circular_queue::test_cq ... ok
[INFO] [stdout] test queues_stacks::reverse_polish_notation::test_rpn_cont::test_rpn ... ok
[INFO] [stdout] test queues_stacks::stack_with_queues::test::test_stack_with_queue ... ok
[INFO] [stdout] test queues_stacks::keys_and_rooms::can_visit_all_rooms_cont::test_keys_and_rooms ... ok
[INFO] [stdout] test queues_stacks::target_sum::test_target_sum_cont::test_target_sum ... ok
[INFO] [stdout] test queues_stacks::target_sum::test_target_sum_cont::test_dynamic_target_sum ... ok
[INFO] [stdout] test queues_stacks::perfect_squares::test_perfect_squares_cont::test_perfect_squares ... ok
[INFO] [stdout] test queues_stacks::target_sum::test_target_sum_cont::test_memoized_target_sum ... ok
[INFO] [stdout] test queues_stacks::walls_and_gates_dfs::test_walls_dfs::test_walls_and_gates_dfs ... ok
[INFO] [stdout] test recursion::binary_tree_depth::test_max_depth_mod::test_max_depth_bfs ... ok
[INFO] [stdout] test recursion::binary_tree_depth::test_max_depth_mod::test_max_depth_recursion ... ok
[INFO] [stdout] test recursion::climbing_stairs::test_climb_stairs_mod::test_climb_stairs ... ok
[INFO] [stdout] test recursion::combination::test_combination_mod::test_combination ... ok
[INFO] [stdout] test queues_stacks::walls_and_gates::test_walls::test_walls_and_gates ... ok
[INFO] [stdout] test recursion::create_bst::test_create_bst_mod::test_creates_bst ... ok
[INFO] [stdout] test recursion::fibonacci::test_fibonacci_mod::test_tail_optimised_fibonacci ... ok
[INFO] [stdout] test queues_stacks::valid_parentheses::test_valid_parentheses_cont::test_valid_parentheses ... ok
[INFO] [stdout] test recursion::generate_parenthesis::test_generate_parenthesis_mod::test_generate_parenthesis ... ok
[INFO] [stdout] test recursion::fibonacci::test_fibonacci_mod::test_fib_fast ... ok
[INFO] [stdout] test recursion::kth_symbol_in_grammar::test_kth_grammar_mod::test_kth_grammar ... ok
[INFO] [stdout] test recursion::largest_histogram::test_largest_histogram_mod::test_largest_histogram ... ok
[INFO] [stdout] test recursion::fibonacci::test_fibonacci_mod::test_fib_memo ... ok
[INFO] [stdout] test recursion::letter_combinations::test_letter_comb_mod::test_letter_comb ... ok
[INFO] [stdout] test recursion::merge_two_sorted_lists::merge_two_sorted_list_mod::test_merge_two_lists_approach_2 ... ok
[INFO] [stdout] test recursion::merge_sort::test_merge_sort_mod::test_top_down_approach ... ok
[INFO] [stdout] test recursion::merge_two_sorted_lists::merge_two_sorted_list_mod::test_short_list ... ok
[INFO] [stdout] test recursion::kth_largest_element::test_find_kth_largest_mod::test_find_kth_largest ... ok
[INFO] [stdout] test recursion::pascals_triangle::test_get_row_mod::test_get_row_one ... ok
[INFO] [stdout] test recursion::permutations::test_permute_mod::test_emoty_permute ... ok
[INFO] [stdout] test recursion::permutations::test_permute_mod::test_permute ... ok
[INFO] [stdout] test recursion::quick_sort::test_quick_sort ... ok
[INFO] [stdout] test recursion::reverse_linked_list::test_reverse_list_cont::test_reverse_list ... ok
[INFO] [stdout] test recursion::n_queens::test_n_queens_mod::n_queens_test ... ok
[INFO] [stdout] test recursion::pascals_triangle::test_get_row_mod::test_get_row ... ok
[INFO] [stdout] test recursion::search_2d_matrix::test_search_matrix_mod::test_search_empty_matrix ... ok
[INFO] [stdout] test recursion::pascals_triangle::test_get_row_mod::test_get_row_inexistent ... ok
[INFO] [stdout] test recursion::reverse_string::test_reverse_string_cont::test_reverse_string ... ok
[INFO] [stdout] test recursion::merge_two_sorted_lists::merge_two_sorted_list_mod::test_merge_lists ... ok
[INFO] [stdout] test recursion::search_2d_matrix::test_search_matrix_mod::test_search_matrix ... ok
[INFO] [stdout] test recursion::pascals_triangle::test_get_row_mod::test_get_row_zero ... ok
[INFO] [stdout] test recursion::search_bst::test_search_bst_cont::test_search_bst ... ok
[INFO] [stdout] test recursion::swap_node_pairs::test_swap_pairs_cont::test_function_can_make_linked_list ... ok
[INFO] [stdout] test recursion::swap_node_pairs::test_swap_pairs_cont::test_swap_pairs ... ok
[INFO] [stdout] test recursion::validate_bst::test_validate_bst_mod::test_invalid_bst ... ok
[INFO] [stdout] test recursion::sort_an_array::test_sort_array_mod::test_sort_array ... ok
[INFO] [stdout] test recursion::validate_bst::test_validate_bst_mod::test_minimum_possible_node ... ok
[INFO] [stdout] test recursion::validate_bst::test_validate_bst_mod::test_multi_child ... ok
[INFO] [stdout] test recursion::pow_x_n::test_pow_x_n_mod::test_pow_x_n ... ok
[INFO] [stdout] test recursion::validate_bst::test_validate_bst_mod::test_single_node ... ok
[INFO] [stdout] test recursion::validate_bst::test_validate_bst_mod::test_valid_bst ... ok
[INFO] [stdout] test recursion::validate_bst::test_validate_bst_mod::test_validate_possible_bst ... ok
[INFO] [stdout] test recursion::unique_binary_tree::test_unique_bsts_mod::test_unique_bsts ... ok
[INFO] [stdout] test recursion::skyline_problem::test_skyline_mod::test_skyline ... FAILED
[INFO] [stdout] test recursion::sudoku_player::test_sudoku_mod::test_sudoku ... ok
[INFO] [stdout] test queues_stacks::open_the_lock::test_open_lock::test_the_open_lock ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- recursion::skyline_problem::test_skyline_mod::test_skyline stdout ----
[INFO] [stdout] the buildings [
[INFO] [stdout]     [
[INFO] [stdout]         1,
[INFO] [stdout]         1,
[INFO] [stdout]     ],
[INFO] [stdout]     [
[INFO] [stdout]         1,
[INFO] [stdout]         2,
[INFO] [stdout]     ],
[INFO] [stdout]     [
[INFO] [stdout]         1,
[INFO] [stdout]         3,
[INFO] [stdout]     ],
[INFO] [stdout]     [
[INFO] [stdout]         2,
[INFO] [stdout]         0,
[INFO] [stdout]     ],
[INFO] [stdout] ]
[INFO] [stdout] thread 'recursion::skyline_problem::test_skyline_mod::test_skyline' panicked at data_structures/src/recursion/skyline_problem.rs:141:10:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 3
[INFO] [stdout]  right: 4
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5649c8e3d165 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x5649c8e3d165 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5649c8e3d165 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x5649c8e3d165 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5649c8e6483b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x5649c8e6483b - core::fmt::write::h8bcd80919a02be29
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x5649c8e3a99f - std::io::Write::write_fmt::h8d0c47c662cad79c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x5649c8e3cf3e - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5649c8e3cf3e - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x5649c8e3e969 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stdout]   10:     0x5649c8e3e62e - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x5649c8e0f88a - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x5649c8e0f88a - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5649c8e3ef6b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x5649c8e3ef6b - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x5649c8e3ece4 - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:664:13
[INFO] [stdout]   16:     0x5649c8e3d629 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x5649c8e3ea17 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x5649c8d3b913 - core::panicking::panic_fmt::hec11a924b87ce965
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x5649c8d3bcfe - core::panicking::assert_failed_inner::h01c8f7f0c1caba58
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:408:17
[INFO] [stdout]   20:     0x5649c8d6c05e - core::panicking::assert_failed::hdef08dc7a9adba7d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:363:5
[INFO] [stdout]   21:     0x5649c8d8a544 - data_structures::recursion::skyline_problem::test_skyline_mod::test_skyline::h7b87312e16f21d81
[INFO] [stdout]                                at /opt/rustwide/workdir/data_structures/src/recursion/skyline_problem.rs:141:10
[INFO] [stdout]   22:     0x5649c8d8a057 - data_structures::recursion::skyline_problem::test_skyline_mod::test_skyline::{{closure}}::h7b2e8ba38064936e
[INFO] [stdout]                                at /opt/rustwide/workdir/data_structures/src/recursion/skyline_problem.rs:99:22
[INFO] [stdout]   23:     0x5649c8dcb166 - core::ops::function::FnOnce::call_once::h03bb86d1a301039b
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5649c8e1426b - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5649c8e1426b - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   26:     0x5649c8e13971 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   27:     0x5649c8e13971 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x5649c8e13971 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   29:     0x5649c8e13971 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   30:     0x5649c8e13971 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   31:     0x5649c8e13971 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   32:     0x5649c8e13971 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   33:     0x5649c8ddc334 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   34:     0x5649c8ddc334 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   35:     0x5649c8de0d62 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   36:     0x5649c8de0d62 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x5649c8de0d62 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   38:     0x5649c8de0d62 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   39:     0x5649c8de0d62 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   40:     0x5649c8de0d62 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   41:     0x5649c8de0d62 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5649c8e4314b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   43:     0x5649c8e4314b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   44:     0x5649c8e4314b - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7fa21f294ac3 - <unknown>
[INFO] [stdout]   46:     0x7fa21f325a04 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     recursion::skyline_problem::test_skyline_mod::test_skyline
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 108 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p data_structures --lib`
[INFO] running `Command { std: "docker" "inspect" "689c968d48627d9edf0df9f00d629164779033b6b819de181499700424f239a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "689c968d48627d9edf0df9f00d629164779033b6b819de181499700424f239a1", kill_on_drop: false }`
[INFO] [stdout] 689c968d48627d9edf0df9f00d629164779033b6b819de181499700424f239a1
[INFO] testing tolumide-ng/coding-challenge against try#b642703cf9526da1e72c0b6755753b939a9c6b6d for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftolumide-ng%2Fcoding-challenge" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/tolumide-ng/coding-challenge on toolchain b642703cf9526da1e72c0b6755753b939a9c6b6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "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-7-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" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0cc7ca750f674bb9bbef8d1e38a756fc66bb728920477dc76cfb3d2850cbf689
[INFO] running `Command { std: "docker" "start" "-a" "0cc7ca750f674bb9bbef8d1e38a756fc66bb728920477dc76cfb3d2850cbf689", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0cc7ca750f674bb9bbef8d1e38a756fc66bb728920477dc76cfb3d2850cbf689", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0cc7ca750f674bb9bbef8d1e38a756fc66bb728920477dc76cfb3d2850cbf689", kill_on_drop: false }`
[INFO] [stdout] 0cc7ca750f674bb9bbef8d1e38a756fc66bb728920477dc76cfb3d2850cbf689
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 959dddb0a70c629d83eb8d6d475ccd27b2dc4b02224aebaa43f811c51d9e9bab
[INFO] running `Command { std: "docker" "start" "-a" "959dddb0a70c629d83eb8d6d475ccd27b2dc4b02224aebaa43f811c51d9e9bab", kill_on_drop: false }`
[INFO] [stderr]    Compiling data_structures v0.1.0 (/opt/rustwide/workdir/data_structures)
[INFO] [stderr]    Compiling 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: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 18 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] [stderr]    Compiling 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 `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]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.22s
[INFO] running `Command { std: "docker" "inspect" "959dddb0a70c629d83eb8d6d475ccd27b2dc4b02224aebaa43f811c51d9e9bab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "959dddb0a70c629d83eb8d6d475ccd27b2dc4b02224aebaa43f811c51d9e9bab", kill_on_drop: false }`
[INFO] [stdout] 959dddb0a70c629d83eb8d6d475ccd27b2dc4b02224aebaa43f811c51d9e9bab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 89f21654feb186fad1d28478fc75239832cea9fb992d2652d36494e69b9f0fdd
[INFO] running `Command { std: "docker" "start" "-a" "89f21654feb186fad1d28478fc75239832cea9fb992d2652d36494e69b9f0fdd", kill_on_drop: false }`
[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] [stderr]    Compiling data_structures v0.1.0 (/opt/rustwide/workdir/data_structures)
[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] [stderr]    Compiling others v0.1.0 (/opt/rustwide/workdir/others)
[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] [stderr]    Compiling dynamic_pg v0.1.0 (/opt/rustwide/workdir/dynamic_pg)
[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: 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: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] warning: 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] ...   |
[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 may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[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] 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: 18 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: 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: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.48s
[INFO] running `Command { std: "docker" "inspect" "89f21654feb186fad1d28478fc75239832cea9fb992d2652d36494e69b9f0fdd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89f21654feb186fad1d28478fc75239832cea9fb992d2652d36494e69b9f0fdd", kill_on_drop: false }`
[INFO] [stdout] 89f21654feb186fad1d28478fc75239832cea9fb992d2652d36494e69b9f0fdd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 89f69545a5d70c1d28d2a5f53b2d1b65eb6de47744a2c66dc07b85eb4b252def
[INFO] running `Command { std: "docker" "start" "-a" "89f69545a5d70c1d28d2a5f53b2d1b65eb6de47744a2c66dc07b85eb4b252def", kill_on_drop: false }`
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> data_structures/src/recursion/create_bst.rs:68:17
[INFO] [stderr]    |
[INFO] [stderr] 68 |             let mut parent_node = queue.get_mut(0).unwrap();
[INFO] [stderr]    |                 ----^^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pn`
[INFO] [stderr]    --> data_structures/src/recursion/same_tree.rs:108:15
[INFO] [stderr]     |
[INFO] [stderr] 108 |         (Some(pn), None) => false,
[INFO] [stderr]     |               ^^ help: if this is intentional, prefix it with an underscore: `_pn`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `qn`
[INFO] [stderr]    --> data_structures/src/recursion/same_tree.rs:109:21
[INFO] [stderr]     |
[INFO] [stderr] 109 |         (None, Some(qn)) => false,
[INFO] [stderr]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_qn`
[INFO] [stderr] 
[INFO] [stderr] warning: field `realistic_size` is never read
[INFO] [stderr]   --> data_structures/src/binary_tree/priority_queue.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct BinaryHeap<T> {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 34 |     realistic_size: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BinaryHeap` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `stack` is never read
[INFO] [stderr]   --> data_structures/src/queues_stacks/inorder_traversal.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub struct Traversal {
[INFO] [stderr]    |                --------- field in this struct
[INFO] [stderr] 18 |         stack: Vec<Option<Rc<RefCell<TreeNode>>>>,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Traversal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `deadlocks`, `target`, and `expected` are never read
[INFO] [stderr]   --> data_structures/src/queues_stacks/open_the_lock.rs:95:5
[INFO] [stderr]    |
[INFO] [stderr] 94 | pub struct Handler {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] 95 |     deadlocks: Vec<String>,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 96 |     target: String,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 97 |     expected: i32,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Handler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Parenthesis` is never constructed
[INFO] [stderr]  --> data_structures/src/recursion/generate_parenthesis.rs:1:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | struct Parenthesis {}
[INFO] [stderr]   |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `generate_parenthesis` and `backtrack` are never used
[INFO] [stderr]   --> data_structures/src/recursion/generate_parenthesis.rs:3:12
[INFO] [stderr]    |
[INFO] [stderr] 2  | impl Parenthesis {
[INFO] [stderr]    | ---------------- associated functions in this implementation
[INFO] [stderr] 3  |     pub fn generate_parenthesis(n: i32) -> Vec<String> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 11 |     fn backtrack(
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `cache` and `n` are never read
[INFO] [stderr]   --> data_structures/src/recursion/unique_binary_tree.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | struct UniqueBst {
[INFO] [stderr]    |        --------- fields in this struct
[INFO] [stderr] 26 |     // since constraint already state that n is 1 <= n <= 8, we can caceh a 2,3 tree as either 23 or 32
[INFO] [stderr] 27 |     cache: HashMap<String, TreeVec>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 28 |     n: i32,
[INFO] [stderr]    |     ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `UniqueBst` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `data_structures` (lib) generated 9 warnings (run `cargo fix --lib -p data_structures` to apply 1 suggestion)
[INFO] [stderr] warning: `data_structures` (bin "data_structures" test) generated 6 warnings (6 duplicates)
[INFO] [stderr] warning: fields `memo`, `aggregator`, and `target` are never read
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/all_construct.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     struct AllConstructs {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 14 |         dic: Vec<&'static str>,
[INFO] [stderr] 15 |         memo: HashMap<String, &'static str>,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 16 |         aggregator: ReturnType,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 17 |         target: String,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AllConstructs` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/all_construct.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 32 | /         impl AllConstructs {
[INFO] [stderr] 33 | |             pub fn get_all_recursive_constructs(&self, target: &'static str) -> ReturnType {
[INFO] [stderr] 34 | |                 if target.len() == 0 {
[INFO] [stderr] 35 | |                     let d: RefCell<Vec<&str>> = RefCell::new(vec![]);
[INFO] [stderr] ...  |
[INFO] [stderr] 56 | |             }
[INFO] [stderr] 57 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `recursive_all_construct`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/all_construct.rs:67:9
[INFO] [stderr]     |
[INFO] [stderr] 67  | /         impl AllConstructs {
[INFO] [stderr] 68  | |             pub fn get_all_tabulated_constructs(&self, target: &'static str) -> TabReturnType {
[INFO] [stderr] 69  | |                 let mut dic_store: Vec<TabReturnType> = vec![vec![]; target.len() + 1];
[INFO] [stderr] 70  | |                 // let mut dic_store = HashMap::new();
[INFO] [stderr] ...   |
[INFO] [stderr] 101 | |             }
[INFO] [stderr] 102 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `tabulated_all_construct`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/best_sum.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 27 | /         impl BestSum {
[INFO] [stderr] 28 | |             pub fn get_best_sum(&self, target: i64) -> CoinType {
[INFO] [stderr] 29 | |                 if target == 0 {
[INFO] [stderr] 30 | |                     return Some(vec![]);
[INFO] [stderr] ...  |
[INFO] [stderr] 59 | |             }
[INFO] [stderr] 60 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `recursive_best_sum`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/best_sum.rs:67:9
[INFO] [stderr]     |
[INFO] [stderr] 67  | /         impl BestSum {
[INFO] [stderr] 68  | |             pub fn get_memoized_sum(&mut self, target: i64) -> CoinType {
[INFO] [stderr] 69  | |                 if self.memo.contains_key(&target) {
[INFO] [stderr] 70  | |                     let value = self.memo.get(&target);
[INFO] [stderr] ...   |
[INFO] [stderr] 108 | |             }
[INFO] [stderr] 109 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `memoized_best_sum`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/best_sum.rs:116:9
[INFO] [stderr]     |
[INFO] [stderr] 116 | /         impl BestSum {
[INFO] [stderr] 117 | |             pub fn get_tabulated_sum(&self, target: usize) -> CoinType {
[INFO] [stderr] 118 | |                 let mut vec_store: Vec<CoinType> = vec![None; target + 1];
[INFO] [stderr] ...   |
[INFO] [stderr] 156 | |             }
[INFO] [stderr] 157 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `tabulated_best_sum`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 28 | /         impl CanConstruct {
[INFO] [stderr] 29 | |             pub fn get_recursive_construct(&self, target: &str) -> bool {
[INFO] [stderr] 30 | |                 if target.len() == 0 {
[INFO] [stderr] 31 | |                     return true;
[INFO] [stderr] ...  |
[INFO] [stderr] 46 | |             }
[INFO] [stderr] 47 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `recursive_can_construct`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/can_construct.rs:54:9
[INFO] [stderr]    |
[INFO] [stderr] 54 | /         impl CanConstruct {
[INFO] [stderr] 55 | |             pub fn get_memoized_construct(&mut self, target: &str) -> bool {
[INFO] [stderr] 56 | |                 if self.memo.contains_key(&target.to_string()) {
[INFO] [stderr] 57 | |                     return *self.memo.get(&target.to_string()).unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 80 | |             }
[INFO] [stderr] 81 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `memoized_can_construct`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/can_construct.rs:89:9
[INFO] [stderr]     |
[INFO] [stderr] 89  | /         impl CanConstruct {
[INFO] [stderr] 90  | |             pub fn get_tabulated_can_construct(&self, target: &str) -> bool {
[INFO] [stderr] 91  | |                 // let target = target.trim();
[INFO] [stderr] 92  | |                 let mut vec_store = vec![false; target.len() + 1];
[INFO] [stderr] ...   |
[INFO] [stderr] 119 | |             }
[INFO] [stderr] 120 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `tabulated_can_construct`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 | /         impl CanSum {
[INFO] [stderr] 27 | |             fn get_can_sum(&self, target: i64) -> bool {
[INFO] [stderr] 28 | |                 if target == 0 {
[INFO] [stderr] 29 | |                     return true;
[INFO] [stderr] ...  |
[INFO] [stderr] 42 | |             }
[INFO] [stderr] 43 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `recursive_can_sum`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/can_sum.rs:55:9
[INFO] [stderr]    |
[INFO] [stderr] 55 | /         impl CanSum {
[INFO] [stderr] 56 | |             fn get_memoized_sum(&mut self, target: i64) -> bool {
[INFO] [stderr] 57 | |                 if self.memo.contains_key(&target) {
[INFO] [stderr] 58 | |                     return *self.memo.get(&target).unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 82 | |             }
[INFO] [stderr] 83 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `memoized_can_sum`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/can_sum.rs:90:9
[INFO] [stderr]     |
[INFO] [stderr] 90  | /         impl CanSum {
[INFO] [stderr] 91  | |             fn get_tabulated_sum(&self, target: i64) -> bool {
[INFO] [stderr] 92  | |                 let mut vec_store = vec![false; target as usize + 1];
[INFO] [stderr] ...   |
[INFO] [stderr] 107 | |             }
[INFO] [stderr] 108 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `tabulated_can_sum`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:26:9
[INFO] [stderr]    |
[INFO] [stderr] 26 | /         impl CountConstruct {
[INFO] [stderr] 27 | |             pub fn get_construct_count(&self, target: &str) -> usize {
[INFO] [stderr] 28 | |                 if target.len() == 0 {
[INFO] [stderr] 29 | |                     return 1;
[INFO] [stderr] ...  |
[INFO] [stderr] 46 | |             }
[INFO] [stderr] 47 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `recursive_count_construct`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/count_construct.rs:54:9
[INFO] [stderr]    |
[INFO] [stderr] 54 | /         impl CountConstruct {
[INFO] [stderr] 55 | |             pub fn get_memoized_count_construct(&mut self, target: &str) -> usize {
[INFO] [stderr] 56 | |                 if self.memo.contains_key(&target.to_owned()) {
[INFO] [stderr] 57 | |                     let value = self.memo.get(target).unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 82 | |             }
[INFO] [stderr] 83 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `memoized_count_construct`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/count_construct.rs:90:9
[INFO] [stderr]     |
[INFO] [stderr] 90  | /         impl CountConstruct {
[INFO] [stderr] 91  | |             pub fn get_tabulated_count_construct(&self, target: &str) -> usize {
[INFO] [stderr] 92  | |                 let mut vec_store = vec![0; target.len() + 1];
[INFO] [stderr] ...   |
[INFO] [stderr] 117 | |             }
[INFO] [stderr] 118 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `tabulated_count_construct`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 25 | /         impl HowSum {
[INFO] [stderr] 26 | |             pub fn get_recursive_sum(&self, target_sum: i64) -> ReturnType {
[INFO] [stderr] 27 | |                 if target_sum == 0 {
[INFO] [stderr] 28 | |                     return Some(Vec::new());
[INFO] [stderr] ...  |
[INFO] [stderr] 45 | |             }
[INFO] [stderr] 46 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `recursive_how_sum`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]   --> dynamic_pg/src/dynamic_programming/how_sum.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 | /         impl HowSum {
[INFO] [stderr] 54 | |             fn get_memoized_sum(&mut self, target_sum: i64) -> ReturnType {
[INFO] [stderr] 55 | |                 if self.memo.contains_key(&target_sum) {
[INFO] [stderr] 56 | |                     let value = self.memo.get(&target_sum);
[INFO] [stderr] ...  |
[INFO] [stderr] 88 | |             }
[INFO] [stderr] 89 | |         }
[INFO] [stderr]    | |_________^
[INFO] [stderr]    |
[INFO] [stderr]    = help: move this `impl` block outside the of the current function `memoized_how_sum`
[INFO] [stderr]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]    = 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] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stderr]    --> dynamic_pg/src/dynamic_programming/how_sum.rs:96:9
[INFO] [stderr]     |
[INFO] [stderr] 96  | /         impl HowSum {
[INFO] [stderr] 97  | |             pub fn get_tabulated_sum(&self, target_sum: usize) -> ReturnType {
[INFO] [stderr] 98  | |                 let mut vec_store: Vec<Option<Vec<usize>>> = vec![None; target_sum as usize + 1];
[INFO] [stderr] ...   |
[INFO] [stderr] 124 | |             }
[INFO] [stderr] 125 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: move this `impl` block outside the of the current function `tabulated_how_sum`
[INFO] [stderr]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: `data_structures` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr] warning: `dynamic_pg` (bin "dynamic_pg" test) generated 18 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/data_structures-bd20761b7c44145c)
[INFO] [stdout] 
[INFO] [stdout] running 109 tests
[INFO] [stdout] test binary_tree::in_order_traversal::test_inorder_traversal::one_element_recursive_inorder_test ... ok
[INFO] [stdout] test binary_tree::in_order_traversal::test_inorder_traversal::double_element_recursive_inorder_test ... ok
[INFO] [stdout] test binary_tree::level_order_traversal::breadth_first_search::double_elem_breath_first_test ... ok
[INFO] [stdout] test binary_tree::in_order_traversal::test_inorder_traversal::recursive_inorder_test ... ok
[INFO] [stdout] test binary_tree::level_order_traversal::breadth_first_search::single_elem_beadth_first_test ... ok
[INFO] [stdout] test binary_tree::level_order_traversal::breadth_first_search::test_breadth_first_search ... ok
[INFO] [stdout] test binary_tree::lowest_common_ancestor::test_lca::gets_none_if_unavailable ... ok
[INFO] [stdout] test binary_tree::post_order_traversal::test_post_order_traversal::test_post_order_traversal ... ok
[INFO] [stdout] test binary_tree::pre_order_traversal::test_preorder_traversal::iterative_preorder_test ... ok
[INFO] [stdout] test binary_tree::pre_order_traversal::test_preorder_traversal::recursive_preorder_test ... ok
[INFO] [stdout] test binary_tree::priority_queue::test_min_priority::min_priority_insertion ... ok
[INFO] [stdout] test binary_tree::priority_queue::test_min_priority::min_priority_order ... ok
[INFO] [stdout] test binary_tree::priority_queue::test_min_priority::order_after_removal ... ok
[INFO] [stdout] test binary_tree::priority_queue::test_min_priority::test_change_priority ... ok
[INFO] [stdout] test binary_tree::serialize_deserialize::serialize_deserialize_tests::test_deserialize ... ok
[INFO] [stdout] test binary_tree::serialize_deserialize::serialize_deserialize_tests::test_serialize ... ok
[INFO] [stdout] test linked_lists::dnode::dtests::test_new_dnode_integer ... ok
[INFO] [stdout] test linked_lists::dnode::dtests::test_new_dnode_string ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::insert_elemenet ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_append_to_end ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_delete_nth_element ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_get_nth_element ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_new_empty_dlist ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_pop_end_single_elem ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_pop_head_multi_elem ... ok
[INFO] [stdout] test linked_lists::doubly_linked_list::test_doubly_linked_list::test_pop_head_one_elem ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_fifth ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_eight ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_first ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_fourth ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_second ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_seventh ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_sixth ... ok
[INFO] [stdout] test linked_lists::linked_palindrome::linked_palindrom_tests::is_palindrome_third ... ok
[INFO] [stdout] test linked_lists::linked_rcs::test_linked_rcs_mod::test_append_list ... ok
[INFO] [stdout] test linked_lists::linked_rcs::test_linked_rcs_mod::test_new_list ... ok
[INFO] [stdout] test linked_lists::node::tests::test_new_node ... ok
[INFO] [stdout] test linked_lists::nth_from_last::test_nth_pointer::get_not_enough_nth_elem ... ok
[INFO] [stdout] test linked_lists::nth_from_last::test_nth_pointer::get_nth_elem_from_end ... ok
[INFO] [stdout] test linked_lists::linked_rcs::test_linked_rcs_mod::test_new_empty_list ... ok
[INFO] [stdout] test linked_lists::odd_even_linked_lists::odd_even_linked_lists ... ok
[INFO] [stdout] test linked_lists::reversed_linked_lists::premo_wayne ... ok
[INFO] [stdout] test queues_stacks::circular_queue::test_queue::test_queue_edge_case ... ok
[INFO] [stdout] test linked_lists::nth_from_last::test_nth_pointer::get_nth_elem_empty ... ok
[INFO] [stdout] test linked_lists::remove_linked_elements::remove_linked_elem ... ok
[INFO] [stdout] test queues_stacks::circular_queue::test_queue::test_enqeue_rear ... ok
[INFO] [stdout] test linked_lists::single_ll::test_singly_ll_mod::singly_ll ... ok
[INFO] [stdout] test queues_stacks::flood_fill::test_flood_fill_cont::test_flood_fill ... ok
[INFO] [stdout] test queues_stacks::keys_and_rooms::can_visit_all_rooms_cont::test_keys_and_rooms ... ok
[INFO] [stdout] test queues_stacks::matrix_01::test_matrix_01_cont::test_matrix_01 ... ok
[INFO] [stdout] test queues_stacks::min_stack::test_min_stack_cont::test_min_stack ... ok
[INFO] [stdout] test queues_stacks::moving_data_stream::test_circular_queue::test_cq ... ok
[INFO] [stdout] test queues_stacks::daily_temperatures::test_daily_temps_cont::test_daily_temps ... ok
[INFO] [stdout] test queues_stacks::number_of_islands_dfs::test_islands_number::test_island_number ... ok
[INFO] [stdout] test queues_stacks::number_of_islands_bfs::test_islands_number_bfs_cont::test_island_number_bfs ... ok
[INFO] [stdout] test queues_stacks::reverse_polish_notation::test_rpn_cont::test_rpn ... ok
[INFO] [stdout] test queues_stacks::stack_with_queues::test::test_stack_with_queue ... ok
[INFO] [stdout] test queues_stacks::decode_string::test_decode_string_cont::test_decode_string ... ok
[INFO] [stdout] test queues_stacks::target_sum::test_target_sum_cont::test_dynamic_target_sum ... ok
[INFO] [stdout] test queues_stacks::target_sum::test_target_sum_cont::test_memoized_target_sum ... ok
[INFO] [stdout] test queues_stacks::target_sum::test_target_sum_cont::test_target_sum ... ok
[INFO] [stdout] test queues_stacks::perfect_squares::test_perfect_squares_cont::test_perfect_squares ... ok
[INFO] [stdout] test queues_stacks::walls_and_gates::test_walls::test_walls_and_gates ... ok
[INFO] [stdout] test queues_stacks::valid_parentheses::test_valid_parentheses_cont::test_valid_parentheses ... ok
[INFO] [stdout] test recursion::binary_tree_depth::test_max_depth_mod::test_max_depth_bfs ... ok
[INFO] [stdout] test recursion::binary_tree_depth::test_max_depth_mod::test_max_depth_recursion ... ok
[INFO] [stdout] test recursion::climbing_stairs::test_climb_stairs_mod::test_climb_stairs ... ok
[INFO] [stdout] test recursion::combination::test_combination_mod::test_combination ... ok
[INFO] [stdout] test recursion::fibonacci::test_fibonacci_mod::test_fib_fast ... ok
[INFO] [stdout] test recursion::fibonacci::test_fibonacci_mod::test_tail_optimised_fibonacci ... ok
[INFO] [stdout] test recursion::fibonacci::test_fibonacci_mod::test_fib_memo ... ok
[INFO] [stdout] test queues_stacks::walls_and_gates_dfs::test_walls_dfs::test_walls_and_gates_dfs ... ok
[INFO] [stdout] test recursion::generate_parenthesis::test_generate_parenthesis_mod::test_generate_parenthesis ... ok
[INFO] [stdout] test recursion::kth_largest_element::test_find_kth_largest_mod::test_find_kth_largest ... ok
[INFO] [stdout] test recursion::create_bst::test_create_bst_mod::test_creates_bst ... ok
[INFO] [stdout] test recursion::kth_symbol_in_grammar::test_kth_grammar_mod::test_kth_grammar ... ok
[INFO] [stdout] test recursion::merge_two_sorted_lists::merge_two_sorted_list_mod::test_merge_lists ... ok
[INFO] [stdout] test recursion::largest_histogram::test_largest_histogram_mod::test_largest_histogram ... ok
[INFO] [stdout] test recursion::letter_combinations::test_letter_comb_mod::test_letter_comb ... ok
[INFO] [stdout] test recursion::merge_two_sorted_lists::merge_two_sorted_list_mod::test_merge_two_lists_approach_2 ... ok
[INFO] [stdout] test recursion::merge_two_sorted_lists::merge_two_sorted_list_mod::test_short_list ... ok
[INFO] [stdout] test recursion::merge_sort::test_merge_sort_mod::test_top_down_approach ... ok
[INFO] [stdout] test recursion::pascals_triangle::test_get_row_mod::test_get_row ... ok
[INFO] [stdout] test recursion::n_queens::test_n_queens_mod::n_queens_test ... ok
[INFO] [stdout] test recursion::pascals_triangle::test_get_row_mod::test_get_row_zero ... ok
[INFO] [stdout] test recursion::pow_x_n::test_pow_x_n_mod::test_pow_x_n ... ok
[INFO] [stdout] test recursion::pascals_triangle::test_get_row_mod::test_get_row_inexistent ... ok
[INFO] [stdout] test recursion::pascals_triangle::test_get_row_mod::test_get_row_one ... ok
[INFO] [stdout] test recursion::search_2d_matrix::test_search_matrix_mod::test_search_empty_matrix ... ok
[INFO] [stdout] test recursion::search_2d_matrix::test_search_matrix_mod::test_search_matrix ... ok
[INFO] [stdout] test recursion::permutations::test_permute_mod::test_emoty_permute ... ok
[INFO] [stdout] test recursion::search_bst::test_search_bst_cont::test_search_bst ... ok
[INFO] [stdout] test recursion::permutations::test_permute_mod::test_permute ... ok
[INFO] [stdout] test recursion::sort_an_array::test_sort_array_mod::test_sort_array ... ok
[INFO] [stdout] test recursion::quick_sort::test_quick_sort ... ok
[INFO] [stdout] test recursion::swap_node_pairs::test_swap_pairs_cont::test_swap_pairs ... ok
[INFO] [stdout] test recursion::reverse_string::test_reverse_string_cont::test_reverse_string ... ok
[INFO] [stdout] test recursion::validate_bst::test_validate_bst_mod::test_invalid_bst ... ok
[INFO] [stdout] test recursion::validate_bst::test_validate_bst_mod::test_minimum_possible_node ... ok
[INFO] [stdout] test recursion::reverse_linked_list::test_reverse_list_cont::test_reverse_list ... ok
[INFO] [stdout] test recursion::validate_bst::test_validate_bst_mod::test_validate_possible_bst ... ok
[INFO] [stdout] test recursion::validate_bst::test_validate_bst_mod::test_valid_bst ... ok
[INFO] [stdout] test recursion::swap_node_pairs::test_swap_pairs_cont::test_function_can_make_linked_list ... ok
[INFO] [stdout] test recursion::validate_bst::test_validate_bst_mod::test_multi_child ... ok
[INFO] [stdout] test recursion::validate_bst::test_validate_bst_mod::test_single_node ... ok
[INFO] [stdout] test recursion::unique_binary_tree::test_unique_bsts_mod::test_unique_bsts ... ok
[INFO] [stdout] test recursion::skyline_problem::test_skyline_mod::test_skyline ... FAILED
[INFO] [stdout] test recursion::sudoku_player::test_sudoku_mod::test_sudoku ... ok
[INFO] [stdout] test queues_stacks::open_the_lock::test_open_lock::test_the_open_lock ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- recursion::skyline_problem::test_skyline_mod::test_skyline stdout ----
[INFO] [stdout] the buildings [
[INFO] [stdout]     [
[INFO] [stdout]         1,
[INFO] [stdout]         1,
[INFO] [stdout]     ],
[INFO] [stdout]     [
[INFO] [stdout]         1,
[INFO] [stdout]         2,
[INFO] [stdout]     ],
[INFO] [stdout]     [
[INFO] [stdout]         1,
[INFO] [stdout]         3,
[INFO] [stdout]     ],
[INFO] [stdout]     [
[INFO] [stdout]         2,
[INFO] [stdout]         0,
[INFO] [stdout]     ],
[INFO] [stdout] ]
[INFO] [stdout] thread 'recursion::skyline_problem::test_skyline_mod::test_skyline' panicked at data_structures/src/recursion/skyline_problem.rs:141:10:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 3
[INFO] [stdout]  right: 4
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5653a1bf1205 - std::backtrace_rs::backtrace::libunwind::trace::he49dc9a9e3164223
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x5653a1bf1205 - std::backtrace_rs::backtrace::trace_unsynchronized::h3a3e77c68030aa6b
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5653a1bf1205 - std::sys_common::backtrace::_print_fmt::h9479ad2f99afd5d4
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x5653a1bf1205 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hfb01aa1fa3fb1821
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5653a1c1887b - core::fmt::rt::Argument::fmt::h125e56152abbc1c3
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x5653a1c1887b - core::fmt::write::hb0ab4ff05ccfe741
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x5653a1beeaef - std::io::Write::write_fmt::hea6336dbf2fa00b8
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x5653a1bf0fde - std::sys_common::backtrace::_print::h79ca548f3a2adf4b
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5653a1bf0fde - std::sys_common::backtrace::print::h9aebf997b2fea2d3
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x5653a1bf2949 - std::panicking::default_hook::{{closure}}::h68a0954af2694526
[INFO] [stdout]   10:     0x5653a1bf269c - std::panicking::default_hook::h5be50cc6849ffb00
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x5653a1bc395f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd874405dcbd1d3ed
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x5653a1bc395f - test::test_main::{{closure}}::h4f26a9df34a84b94
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5653a1bf2f4b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h00e96d9c62aa9a12
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x5653a1bf2f4b - std::panicking::rust_panic_with_hook::h3c0df6036729334c
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x5653a1bf2cc4 - std::panicking::begin_panic_handler::{{closure}}::ha3a21e93c4cfd807
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:664:13
[INFO] [stdout]   16:     0x5653a1bf16c9 - std::sys_common::backtrace::__rust_end_short_backtrace::h19508a8f8ae71dc9
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x5653a1bf29f7 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x5653a1aef8f3 - core::panicking::panic_fmt::h2ba8af99174d83ea
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x5653a1aefcde - core::panicking::assert_failed_inner::h5c44db15a6ee70ee
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/panicking.rs:408:17
[INFO] [stdout]   20:     0x5653a1b2392e - core::panicking::assert_failed::hcd9dc4012b7e79d7
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/panicking.rs:363:5
[INFO] [stdout]   21:     0x5653a1b690b4 - data_structures::recursion::skyline_problem::test_skyline_mod::test_skyline::hb97e4a90f9c16db7
[INFO] [stdout]                                at /opt/rustwide/workdir/data_structures/src/recursion/skyline_problem.rs:141:10
[INFO] [stdout]   22:     0x5653a1b68bc7 - data_structures::recursion::skyline_problem::test_skyline_mod::test_skyline::{{closure}}::h1bea8195018f7549
[INFO] [stdout]                                at /opt/rustwide/workdir/data_structures/src/recursion/skyline_problem.rs:99:22
[INFO] [stdout]   23:     0x5653a1b2b696 - core::ops::function::FnOnce::call_once::h44480aaed6b4e66e
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5653a1bc827b - core::ops::function::FnOnce::call_once::h18c6bf92212b87a4
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5653a1bc827b - test::__rust_begin_short_backtrace::hdcf0edcfa9080086
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/test/src/lib.rs:625:18
[INFO] [stdout]   26:     0x5653a1bc7941 - test::run_test_in_process::{{closure}}::heac2c4eb375d2d10
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/test/src/lib.rs:648:60
[INFO] [stdout]   27:     0x5653a1bc7941 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h0289bafc8a1cc004
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x5653a1bc7941 - std::panicking::try::do_call::h5e158f1ad8a5f983
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:559:40
[INFO] [stdout]   29:     0x5653a1bc7941 - std::panicking::try::hea3411d60321c4de
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:523:19
[INFO] [stdout]   30:     0x5653a1bc7941 - std::panic::catch_unwind::hafb7bb18bc47bbc7
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panic.rs:149:14
[INFO] [stdout]   31:     0x5653a1bc7941 - test::run_test_in_process::h74dd138dc7762d99
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/test/src/lib.rs:648:27
[INFO] [stdout]   32:     0x5653a1bc7941 - test::run_test::{{closure}}::h6b390822e63606cf
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/test/src/lib.rs:569:43
[INFO] [stdout]   33:     0x5653a1b90314 - test::run_test::{{closure}}::h6e11dba8131d354b
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/test/src/lib.rs:599:41
[INFO] [stdout]   34:     0x5653a1b90314 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha71b3541b59bdbbb
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   35:     0x5653a1b94de2 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hef92127c5ef9e53c
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   36:     0x5653a1b94de2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h859c109f9d11c92b
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x5653a1b94de2 - std::panicking::try::do_call::hbf534c458cd858f0
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:559:40
[INFO] [stdout]   38:     0x5653a1b94de2 - std::panicking::try::h65c18365a7b9ad90
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:523:19
[INFO] [stdout]   39:     0x5653a1b94de2 - std::panic::catch_unwind::h21b25d4c69478c39
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panic.rs:149:14
[INFO] [stdout]   40:     0x5653a1b94de2 - std::thread::Builder::spawn_unchecked_::{{closure}}::h23335f620275a9bf
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   41:     0x5653a1b94de2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb491dc55513e9b7c
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5653a1bf711b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h41b39260afcffdc9
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   43:     0x5653a1bf711b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6694c8dc6dd010c4
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   44:     0x5653a1bf711b - std::sys::pal::unix::thread::Thread::new::thread_start::hf16038e1c8e19c99
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7f55970feac3 - <unknown>
[INFO] [stdout]   46:     0x7f559718fa04 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     recursion::skyline_problem::test_skyline_mod::test_skyline
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 108 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p data_structures --lib`
[INFO] running `Command { std: "docker" "inspect" "89f69545a5d70c1d28d2a5f53b2d1b65eb6de47744a2c66dc07b85eb4b252def", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89f69545a5d70c1d28d2a5f53b2d1b65eb6de47744a2c66dc07b85eb4b252def", kill_on_drop: false }`
[INFO] [stdout] 89f69545a5d70c1d28d2a5f53b2d1b65eb6de47744a2c66dc07b85eb4b252def
