[INFO] cloning repository https://github.com/tolumide-ng/coding-challenge [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tolumide-ng/coding-challenge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftolumide-ng%2Fcoding-challenge", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftolumide-ng%2Fcoding-challenge'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f086f2c577d12dfbcf99f99bba55dae91f64d928 [INFO] checking tolumide-ng/coding-challenge against master#023084804e5e8ea42877451c2b3030e7050281cc for pr-123909 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftolumide-ng%2Fcoding-challenge" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tolumide-ng/coding-challenge on toolchain 023084804e5e8ea42877451c2b3030e7050281cc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+023084804e5e8ea42877451c2b3030e7050281cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/tolumide-ng/coding-challenge [INFO] finished tweaking git repo https://github.com/tolumide-ng/coding-challenge [INFO] tweaked toml for git repo https://github.com/tolumide-ng/coding-challenge written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/tolumide-ng/coding-challenge already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+023084804e5e8ea42877451c2b3030e7050281cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [ERROR] this task or one of its parent failed! [ERROR] no output for 300 seconds [ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace. [INFO] checking tolumide-ng/coding-challenge against try#3b6ef522ec6da5b39fa0cf004b820c15884319db for pr-123909 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftolumide-ng%2Fcoding-challenge" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/tolumide-ng/coding-challenge on toolchain 3b6ef522ec6da5b39fa0cf004b820c15884319db [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3b6ef522ec6da5b39fa0cf004b820c15884319db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/tolumide-ng/coding-challenge [INFO] finished tweaking git repo https://github.com/tolumide-ng/coding-challenge [INFO] tweaked toml for git repo https://github.com/tolumide-ng/coding-challenge written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/tolumide-ng/coding-challenge already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3b6ef522ec6da5b39fa0cf004b820c15884319db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+3b6ef522ec6da5b39fa0cf004b820c15884319db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 93c43d1eb7ba2b7d09733284b634e9379ee0ecc8210dbd7a4abfefe51f18c462 [INFO] running `Command { std: "docker" "start" "-a" "93c43d1eb7ba2b7d09733284b634e9379ee0ecc8210dbd7a4abfefe51f18c462", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "93c43d1eb7ba2b7d09733284b634e9379ee0ecc8210dbd7a4abfefe51f18c462", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "93c43d1eb7ba2b7d09733284b634e9379ee0ecc8210dbd7a4abfefe51f18c462", kill_on_drop: false }` [INFO] [stdout] 93c43d1eb7ba2b7d09733284b634e9379ee0ecc8210dbd7a4abfefe51f18c462 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+3b6ef522ec6da5b39fa0cf004b820c15884319db" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 899ad981c2ac34a9d1a81c7db16d319cf2af3230e445f817df356d6799589c87 [INFO] running `Command { std: "docker" "start" "-a" "899ad981c2ac34a9d1a81c7db16d319cf2af3230e445f817df356d6799589c87", kill_on_drop: false }` [INFO] [stderr] Checking data_structures v0.1.0 (/opt/rustwide/workdir/data_structures) [INFO] [stderr] Checking dynamic_pg v0.1.0 (/opt/rustwide/workdir/dynamic_pg) [INFO] [stdout] warning: fields `memo`, `aggregator`, and `target` are never read [INFO] [stdout] --> dynamic_pg/src/dynamic_programming/all_construct.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 13 | struct AllConstructs { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 14 | dic: Vec<&'static str>, [INFO] [stdout] 15 | memo: HashMap, [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> = 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 [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 = 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 [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 [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 [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 = 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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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>> = 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 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 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, [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> = 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 [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 = 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 [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 [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 [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 = 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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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 [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>> = 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 [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 { [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>>>, [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, [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 { [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, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 28 | n: i32, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `UniqueBst` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking others v0.1.0 (/opt/rustwide/workdir/others) [INFO] [stdout] warning: function `histogram_brute_force` is never used [INFO] [stdout] --> others/src/the_algos/largest_rectangle_histogram.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub fn histogram_brute_force(heights: Vec) -> i32 { [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 { [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 { [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>>>, [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, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 28 | n: i32, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `UniqueBst` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> data_structures/src/recursion/create_bst.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | let mut parent_node = queue.get_mut(0).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pn` [INFO] [stdout] --> data_structures/src/recursion/same_tree.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | (Some(pn), None) => false, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pn` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qn` [INFO] [stdout] --> data_structures/src/recursion/same_tree.rs:109:21 [INFO] [stdout] | [INFO] [stdout] 109 | (None, Some(qn)) => false, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_qn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `realistic_size` is never read [INFO] [stdout] --> data_structures/src/binary_tree/priority_queue.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct BinaryHeap { [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>>>, [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, [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 { [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, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 28 | n: i32, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `UniqueBst` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> data_structures/src/recursion/create_bst.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | let mut parent_node = queue.get_mut(0).unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pn` [INFO] [stdout] --> data_structures/src/recursion/same_tree.rs:108:15 [INFO] [stdout] | [INFO] [stdout] 108 | (Some(pn), None) => false, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_pn` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `qn` [INFO] [stdout] --> data_structures/src/recursion/same_tree.rs:109:21 [INFO] [stdout] | [INFO] [stdout] 109 | (None, Some(qn)) => false, [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_qn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `realistic_size` is never read [INFO] [stdout] --> data_structures/src/binary_tree/priority_queue.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct BinaryHeap { [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>>>, [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, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 28 | n: i32, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `UniqueBst` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.52s [INFO] running `Command { std: "docker" "inspect" "899ad981c2ac34a9d1a81c7db16d319cf2af3230e445f817df356d6799589c87", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "899ad981c2ac34a9d1a81c7db16d319cf2af3230e445f817df356d6799589c87", kill_on_drop: false }` [INFO] [stdout] 899ad981c2ac34a9d1a81c7db16d319cf2af3230e445f817df356d6799589c87