[INFO] fetching crate quarkrs 0.1.1... [INFO] linting quarkrs-0.1.1 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate quarkrs 0.1.1 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate quarkrs 0.1.1 [INFO] finished tweaking crates.io crate quarkrs 0.1.1 [INFO] tweaked toml for crates.io crate quarkrs 0.1.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate quarkrs 0.1.1 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 37acd5c9ce9712e6cb2433ddbd2dcf1a6f59263f718b91fdfa521a2200835fe6 [INFO] running `Command { std: "docker" "start" "-a" "37acd5c9ce9712e6cb2433ddbd2dcf1a6f59263f718b91fdfa521a2200835fe6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "37acd5c9ce9712e6cb2433ddbd2dcf1a6f59263f718b91fdfa521a2200835fe6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "37acd5c9ce9712e6cb2433ddbd2dcf1a6f59263f718b91fdfa521a2200835fe6", kill_on_drop: false }` [INFO] [stdout] 37acd5c9ce9712e6cb2433ddbd2dcf1a6f59263f718b91fdfa521a2200835fe6 [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ec63f333f241140db192d3d20051b92eb8638b69fa1c57ba30aa30c75983ac93 [INFO] running `Command { std: "docker" "start" "-a" "ec63f333f241140db192d3d20051b92eb8638b69fa1c57ba30aa30c75983ac93", kill_on_drop: false }` [INFO] [stderr] Checking quarkrs v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/structures/tree.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/structures/graph.rs:24:28 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn get_node(&self, val: T){todo!()} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/structures/graph.rs:47:30 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn insert(&mut self, value: T, parent: T) {todo!()} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/structures/graph.rs:47:40 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn insert(&mut self, value: T, parent: T) {todo!()} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `link_a` [INFO] [stdout] --> src/structures/graph.rs:49:38 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn add_undirected_arc(&self, link_a: T, link_b: T) {todo!()} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_link_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `link_b` [INFO] [stdout] --> src/structures/graph.rs:49:49 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn add_undirected_arc(&self, link_a: T, link_b: T) {todo!()} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_link_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/structures/graph.rs:51:36 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn add_directed_arc(&self, from: T, to: T) {todo!()} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/structures/graph.rs:51:45 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn add_directed_arc(&self, from: T, to: T) {todo!()} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/structures/graph.rs:53:28 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn contains(&self, value: T) -> bool {todo!()} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/structures/graph.rs:55:26 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn remove(&self, value: T) -> bool {todo!()} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `old` [INFO] [stdout] --> src/structures/graph.rs:57:26 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn update(&self, old: T, new: T) -> bool {todo!()} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_old` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new` [INFO] [stdout] --> src/structures/graph.rs:57:34 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn update(&self, old: T, new: T) -> bool {todo!()} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `value` and `arcs` are never read [INFO] [stdout] --> src/structures/graph.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | struct GraphNode { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 4 | value: T, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 5 | arcs: Vec>> [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `new_struct`, `add_arc`, and `get_node` are never used [INFO] [stdout] --> src/structures/graph.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl GraphNode { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 9 | pub fn new(val: T) -> GraphNode { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | fn new_struct(val: T) -> ThreadData> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn add_arc(&mut self, val: T) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn get_node(&self, val: T){todo!()} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `entry` is never read [INFO] [stdout] --> src/structures/graph.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct UnweightedGraph { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 30 | entry: ThreadData>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add_subtree` is never used [INFO] [stdout] --> src/structures/tree.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 19 | impl TreeNode { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | fn add_subtree(&mut self, tree: TreeNode) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/structures/linked_list.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 9 | / impl ListNode [INFO] [stdout] 10 | | where T: Debug { [INFO] [stdout] | |__________________- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | fn to_string(&self) -> String {format!("{:?}", self.value)} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/functions/searches.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | return lst; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 22 - return lst; [INFO] [stdout] 22 + lst [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/functions/sorts.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | return lst [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 16 - return lst [INFO] [stdout] 16 + lst [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/structures/tree.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | value: value, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/functions/sorts.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | return lst [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return lst [INFO] [stdout] 34 + lst [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/tree.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | return count + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 51 - return count + 1; [INFO] [stdout] 51 + count + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/tree.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 66 - return None; [INFO] [stdout] 66 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/structures/tree.rs:57:15 [INFO] [stdout] | [INFO] [stdout] 57 | while queue.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!queue.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/tree.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | return out; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 79 - return out; [INFO] [stdout] 79 + out [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/tree.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return None; [INFO] [stdout] 94 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/structures/tree.rs:85:15 [INFO] [stdout] | [INFO] [stdout] 85 | while queue.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!queue.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/structures/linked_list.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | fn set_next<'a>(&mut self, next: T) { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/linked_list.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | return self.next.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 32 - return self.next.clone(); [INFO] [stdout] 32 + self.next.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `structures::linked_list::ListNode` [INFO] [stdout] --> src/structures/linked_list.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | fn to_string(&self) -> String {format!("{:?}", self.value)} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `structures::linked_list::ListNode` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] = note: `#[warn(clippy::inherent_to_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/structures/linked_list.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | while !select.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `select.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/linked_list.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | return count; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 71 - return count; [INFO] [stdout] 71 + count [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/linked_list.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | return Some(select); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 95 - return Some(select); [INFO] [stdout] 95 + Some(select) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> src/structures/linked_list.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | / loop { [INFO] [stdout] 108 | | match select.clone().read().unwrap().get_next() { [INFO] [stdout] 109 | | Some(next) => { [INFO] [stdout] 110 | | select = next; [INFO] [stdout] ... | [INFO] [stdout] 113 | | }; [INFO] [stdout] 114 | | } [INFO] [stdout] | |_________^ help: try: `while let Some(next) = select.clone().read().unwrap().get_next() { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] = note: `#[warn(clippy::while_let_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `structures::linked_list::LinkedList` [INFO] [stdout] --> src/structures/linked_list.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | / pub fn to_string(&self) -> String { [INFO] [stdout] 119 | | let mut select = self.start.clone(); [INFO] [stdout] 120 | | let mut out = "".to_string(); [INFO] [stdout] 121 | | loop { [INFO] [stdout] ... | [INFO] [stdout] 130 | | return out; [INFO] [stdout] 131 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `structures::linked_list::LinkedList` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/linked_list.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | return out; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 130 - return out; [INFO] [stdout] 130 + out [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/linked_list.rs:143:17 [INFO] [stdout] | [INFO] [stdout] 143 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 143 - return true; [INFO] [stdout] 143 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/linked_list.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 159 - return true; [INFO] [stdout] 159 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/structures/graph.rs:24:28 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn get_node(&self, val: T){todo!()} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/structures/graph.rs:47:30 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn insert(&mut self, value: T, parent: T) {todo!()} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parent` [INFO] [stdout] --> src/structures/graph.rs:47:40 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn insert(&mut self, value: T, parent: T) {todo!()} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `link_a` [INFO] [stdout] --> src/structures/graph.rs:49:38 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn add_undirected_arc(&self, link_a: T, link_b: T) {todo!()} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_link_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `link_b` [INFO] [stdout] --> src/structures/graph.rs:49:49 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn add_undirected_arc(&self, link_a: T, link_b: T) {todo!()} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_link_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `from` [INFO] [stdout] --> src/structures/graph.rs:51:36 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn add_directed_arc(&self, from: T, to: T) {todo!()} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_from` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `to` [INFO] [stdout] --> src/structures/graph.rs:51:45 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn add_directed_arc(&self, from: T, to: T) {todo!()} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/structures/graph.rs:53:28 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn contains(&self, value: T) -> bool {todo!()} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/structures/graph.rs:55:26 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn remove(&self, value: T) -> bool {todo!()} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `old` [INFO] [stdout] --> src/structures/graph.rs:57:26 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn update(&self, old: T, new: T) -> bool {todo!()} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_old` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new` [INFO] [stdout] --> src/structures/graph.rs:57:34 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn update(&self, old: T, new: T) -> bool {todo!()} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_new` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `value` and `arcs` are never read [INFO] [stdout] --> src/structures/graph.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | struct GraphNode { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 4 | value: T, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 5 | arcs: Vec>> [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `new_struct`, `add_arc`, and `get_node` are never used [INFO] [stdout] --> src/structures/graph.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl GraphNode { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 9 | pub fn new(val: T) -> GraphNode { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | fn new_struct(val: T) -> ThreadData> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn add_arc(&mut self, val: T) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn get_node(&self, val: T){todo!()} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `entry` is never read [INFO] [stdout] --> src/structures/graph.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct UnweightedGraph { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 30 | entry: ThreadData>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add_subtree` is never used [INFO] [stdout] --> src/structures/tree.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 19 | impl TreeNode { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | fn add_subtree(&mut self, tree: TreeNode) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/structures/linked_list.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 9 | / impl ListNode [INFO] [stdout] 10 | | where T: Debug { [INFO] [stdout] | |__________________- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | fn to_string(&self) -> String {format!("{:?}", self.value)} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/functions/searches.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | return lst; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 22 - return lst; [INFO] [stdout] 22 + lst [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/functions/sorts.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | return lst [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 16 - return lst [INFO] [stdout] 16 + lst [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/functions/sorts.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | return lst [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 34 - return lst [INFO] [stdout] 34 + lst [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/tree.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | return count + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 51 - return count + 1; [INFO] [stdout] 51 + count + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/tree.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 66 - return None; [INFO] [stdout] 66 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/structures/tree.rs:57:15 [INFO] [stdout] | [INFO] [stdout] 57 | while queue.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!queue.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/tree.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | return out; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 79 - return out; [INFO] [stdout] 79 + out [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/tree.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return None; [INFO] [stdout] 94 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/structures/tree.rs:85:15 [INFO] [stdout] | [INFO] [stdout] 85 | while queue.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!queue.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/structures/linked_list.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | fn set_next<'a>(&mut self, next: T) { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/linked_list.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | return self.next.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 32 - return self.next.clone(); [INFO] [stdout] 32 + self.next.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `structures::linked_list::ListNode` [INFO] [stdout] --> src/structures/linked_list.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | fn to_string(&self) -> String {format!("{:?}", self.value)} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `structures::linked_list::ListNode` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] = note: `#[warn(clippy::inherent_to_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/structures/linked_list.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | while !select.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `select.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/linked_list.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | return count; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 71 - return count; [INFO] [stdout] 71 + count [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/linked_list.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | return Some(select); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 95 - return Some(select); [INFO] [stdout] 95 + Some(select) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> src/structures/linked_list.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | / loop { [INFO] [stdout] 108 | | match select.clone().read().unwrap().get_next() { [INFO] [stdout] 109 | | Some(next) => { [INFO] [stdout] 110 | | select = next; [INFO] [stdout] ... | [INFO] [stdout] 113 | | }; [INFO] [stdout] 114 | | } [INFO] [stdout] | |_________^ help: try: `while let Some(next) = select.clone().read().unwrap().get_next() { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] = note: `#[warn(clippy::while_let_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implementation of inherent method `to_string(&self) -> String` for type `structures::linked_list::LinkedList` [INFO] [stdout] --> src/structures/linked_list.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | / pub fn to_string(&self) -> String { [INFO] [stdout] 119 | | let mut select = self.start.clone(); [INFO] [stdout] 120 | | let mut out = "".to_string(); [INFO] [stdout] 121 | | loop { [INFO] [stdout] ... | [INFO] [stdout] 130 | | return out; [INFO] [stdout] 131 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: implement trait `Display` for type `structures::linked_list::LinkedList` instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inherent_to_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/linked_list.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | return out; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 130 - return out; [INFO] [stdout] 130 + out [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/linked_list.rs:143:17 [INFO] [stdout] | [INFO] [stdout] 143 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 143 - return true; [INFO] [stdout] 143 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/structures/linked_list.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 159 - return true; [INFO] [stdout] 159 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.32s [INFO] running `Command { std: "docker" "inspect" "ec63f333f241140db192d3d20051b92eb8638b69fa1c57ba30aa30c75983ac93", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ec63f333f241140db192d3d20051b92eb8638b69fa1c57ba30aa30c75983ac93", kill_on_drop: false }` [INFO] [stdout] ec63f333f241140db192d3d20051b92eb8638b69fa1c57ba30aa30c75983ac93