[INFO] fetching crate onlinecode 0.1.1... [INFO] linting onlinecode-0.1.1 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate onlinecode 0.1.1 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate onlinecode 0.1.1 [INFO] finished tweaking crates.io crate onlinecode 0.1.1 [INFO] tweaked toml for crates.io crate onlinecode 0.1.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate onlinecode 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] crate crates.io crate onlinecode 0.1.1 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded sha-1 v0.9.6 [INFO] [stderr] Downloaded cpufeatures v0.1.5 [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] 8ae4d5cdd31be02c6b0f2f9a97909e006b6b7dcc967b78924bca5f2baf21413a [INFO] running `Command { std: "docker" "start" "-a" "8ae4d5cdd31be02c6b0f2f9a97909e006b6b7dcc967b78924bca5f2baf21413a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8ae4d5cdd31be02c6b0f2f9a97909e006b6b7dcc967b78924bca5f2baf21413a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8ae4d5cdd31be02c6b0f2f9a97909e006b6b7dcc967b78924bca5f2baf21413a", kill_on_drop: false }` [INFO] [stdout] 8ae4d5cdd31be02c6b0f2f9a97909e006b6b7dcc967b78924bca5f2baf21413a [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] 493889a001f984f549c4f49f68bdb6ef1065f244388cd0e5b2dd5dc3864c4438 [INFO] running `Command { std: "docker" "start" "-a" "493889a001f984f549c4f49f68bdb6ef1065f244388cd0e5b2dd5dc3864c4438", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.98 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling typenum v1.13.0 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking cpufeatures v0.1.5 [INFO] [stderr] Checking opaque-debug v0.3.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking sha-1 v0.9.6 [INFO] [stderr] Checking onlinecode v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `rand::rngs::StdRng` [INFO] [stdout] --> src/probdist.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rand::rngs::StdRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/probdist.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::*` [INFO] [stdout] --> src/rng.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | use crate::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha1` [INFO] [stdout] --> src/rng.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/rng.rs:218:1 [INFO] [stdout] | [INFO] [stdout] 218 | / #[cfg(test)] [INFO] [stdout] 219 | | [INFO] [stdout] | |_^ [INFO] [stdout] 220 | mod tests { [INFO] [stdout] | --------- the attribute applies to this module [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_outer_attr)]` on by default [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::rngs::StdRng` [INFO] [stdout] --> src/floyd.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | use rand::rngs::StdRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty lines after outer attribute [INFO] [stdout] --> src/floyd.rs:94:1 [INFO] [stdout] | [INFO] [stdout] 94 | / #[cfg(test)] [INFO] [stdout] 95 | | [INFO] [stdout] 96 | | [INFO] [stdout] | |_^ [INFO] [stdout] 97 | mod tests { [INFO] [stdout] | --------- the attribute applies to this module [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = help: if the empty lines are unintentional, remove them [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/bipartite.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after outer attribute [INFO] [stdout] --> src/bipartite.rs:352:1 [INFO] [stdout] | [INFO] [stdout] 352 | / #[cfg(test)] [INFO] [stdout] 353 | | [INFO] [stdout] | |_^ [INFO] [stdout] 354 | mod tests { [INFO] [stdout] | --------- the attribute applies to this module [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_outer_attr [INFO] [stdout] = help: if the empty line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/equations.rs:8:32 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::{HashSet,HashMap}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/equations.rs:416:36 [INFO] [stdout] | [INFO] [stdout] 416 | ... if (*eq_id >= self.ablocks) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 416 - if (*eq_id >= self.ablocks) { [INFO] [stdout] 416 + if *eq_id >= self.ablocks { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty lines after doc comment [INFO] [stdout] --> src/equations.rs:517:5 [INFO] [stdout] | [INFO] [stdout] 517 | / /// * 1+ unknowns → Some(Unsolved(HashSet, Vec)) [INFO] [stdout] ... | [INFO] [stdout] 524 | | [INFO] [stdout] | |____^ [INFO] [stdout] 525 | pub fn new_equation(&self, vars : Vec) -> Option { [INFO] [stdout] | ------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty lines are unintentional, remove them [INFO] [stdout] help: if the doc comment should not document function `new_equation` then comment it out [INFO] [stdout] | [INFO] [stdout] 510 ~ // /// Take a list of variables (block IDs) that comprise a check [INFO] [stdout] 511 ~ // /// block and substitute any already-solved ones in, returning [INFO] [stdout] 512 ~ // /// some kind of Option depending on the number of [INFO] [stdout] 513 ~ // /// unknowns: [INFO] [stdout] 514 ~ // /// [INFO] [stdout] 515 ~ // /// * 0 unknowns → None (already solved) [INFO] [stdout] 516 ~ // /// * 1 unknown → Some(Solved(VarID, Vec, Vec)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread_rng` [INFO] [stdout] --> src/compat.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use rand::{Rng,thread_rng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rng` [INFO] [stdout] --> src/compat.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::rng; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/compat.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Rng` [INFO] [stdout] --> src/compat.rs:43:16 [INFO] [stdout] | [INFO] [stdout] 43 | use rand::{Rng,thread_rng}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::rngs::StdRng` [INFO] [stdout] --> src/probdist.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rand::rngs::StdRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/probdist.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::*` [INFO] [stdout] --> src/rng.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | use crate::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha1` [INFO] [stdout] --> src/rng.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::rngs::StdRng` [INFO] [stdout] --> src/floyd.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | use rand::rngs::StdRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/bipartite.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/equations.rs:8:32 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::{HashSet,HashMap}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/equations.rs:416:36 [INFO] [stdout] | [INFO] [stdout] 416 | ... if (*eq_id >= self.ablocks) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 416 - if (*eq_id >= self.ablocks) { [INFO] [stdout] 416 + if *eq_id >= self.ablocks { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty lines after doc comment [INFO] [stdout] --> src/equations.rs:517:5 [INFO] [stdout] | [INFO] [stdout] 517 | / /// * 1+ unknowns → Some(Unsolved(HashSet, Vec)) [INFO] [stdout] ... | [INFO] [stdout] 524 | | [INFO] [stdout] | |____^ [INFO] [stdout] 525 | pub fn new_equation(&self, vars : Vec) -> Option { [INFO] [stdout] | ------------------- the comment documents this function [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments [INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default [INFO] [stdout] = help: if the empty lines are unintentional, remove them [INFO] [stdout] help: if the doc comment should not document function `new_equation` then comment it out [INFO] [stdout] | [INFO] [stdout] 510 ~ // /// Take a list of variables (block IDs) that comprise a check [INFO] [stdout] 511 ~ // /// block and substitute any already-solved ones in, returning [INFO] [stdout] 512 ~ // /// some kind of Option depending on the number of [INFO] [stdout] 513 ~ // /// unknowns: [INFO] [stdout] 514 ~ // /// [INFO] [stdout] 515 ~ // /// * 0 unknowns → None (already solved) [INFO] [stdout] 516 ~ // /// * 1 unknown → Some(Solved(VarID, Vec, Vec)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread_rng` [INFO] [stdout] --> src/compat.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use rand::{Rng,thread_rng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::rng` [INFO] [stdout] --> src/compat.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::rng; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> src/compat.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/bipartite.rs:166:18 [INFO] [stdout] | [INFO] [stdout] 166 | fn with_size(msg : u32, aux : u32, chk : u32, edges : u32) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aux` [INFO] [stdout] --> src/bipartite.rs:166:29 [INFO] [stdout] | [INFO] [stdout] 166 | fn with_size(msg : u32, aux : u32, chk : u32, edges : u32) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aux` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chk` [INFO] [stdout] --> src/bipartite.rs:166:40 [INFO] [stdout] | [INFO] [stdout] 166 | fn with_size(msg : u32, aux : u32, chk : u32, edges : u32) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_chk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `edges` [INFO] [stdout] --> src/bipartite.rs:166:51 [INFO] [stdout] | [INFO] [stdout] 166 | fn with_size(msg : u32, aux : u32, chk : u32, edges : u32) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_edges` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/equations.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | let mut equations = Vec::with_capacity(coblocks + headroom); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/equations.rs:233:17 [INFO] [stdout] | [INFO] [stdout] 233 | let mut rhs = Vec::::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hash` [INFO] [stdout] --> src/equations.rs:298:36 [INFO] [stdout] | [INFO] [stdout] 298 | EquationType::Unsolved(ref hash,_) => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `found_solved` is assigned to, but never used [INFO] [stdout] --> src/equations.rs:353:17 [INFO] [stdout] | [INFO] [stdout] 353 | let mut found_solved = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_found_solved` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs` [INFO] [stdout] --> src/equations.rs:363:44 [INFO] [stdout] | [INFO] [stdout] 363 | EquationType::Solved(v,rhs) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `found_solved` is never read [INFO] [stdout] --> src/equations.rs:366:25 [INFO] [stdout] | [INFO] [stdout] 366 | found_solved += 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/bipartite.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct MessageNode { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 44 | id : u32, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `MessageNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `right_degree` is never used [INFO] [stdout] --> src/bipartite.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl MessageNode { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | fn right_degree(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/bipartite.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 60 | pub struct AuxiliaryNode { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 61 | id : u32, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `AuxiliaryNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/bipartite.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct CheckNode { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 78 | id : u32, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `CheckNode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `with_size` and `new_edge` are never used [INFO] [stdout] --> src/bipartite.rs:166:8 [INFO] [stdout] | [INFO] [stdout] 151 | impl BipartiteGraph { [INFO] [stdout] | ------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 166 | fn with_size(msg : u32, aux : u32, chk : u32, edges : u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn new_edge() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Compat` is never used [INFO] [stdout] --> src/compat.rs:68:7 [INFO] [stdout] | [INFO] [stdout] 68 | trait Compat { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/rng.rs:276:6 [INFO] [stdout] | [INFO] [stdout] 276 | let mut val : u32 = rng.gen(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `set` [INFO] [stdout] --> src/floyd.rs:115:6 [INFO] [stdout] | [INFO] [stdout] 115 | let set = floyd_usize(&mut rng, 2, 1); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_set` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/bipartite.rs:166:18 [INFO] [stdout] | [INFO] [stdout] 166 | fn with_size(msg : u32, aux : u32, chk : u32, edges : u32) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str` [INFO] [stdout] --> src/rng.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | / pub fn from_str(s : &str) -> Self { [INFO] [stdout] 99 | | // [INFO] [stdout] 100 | | let hash = sha1::Sha1::digest(s.as_bytes()); [INFO] [stdout] 101 | | let mut output = [0u8; 20]; [INFO] [stdout] 102 | | output.copy_from_slice(&hash); [INFO] [stdout] 103 | | Self::from_seed(output) [INFO] [stdout] 104 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aux` [INFO] [stdout] --> src/bipartite.rs:166:29 [INFO] [stdout] | [INFO] [stdout] 166 | fn with_size(msg : u32, aux : u32, chk : u32, edges : u32) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aux` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> src/rng.rs:164:2 [INFO] [stdout] | [INFO] [stdout] 164 | Ok(self.fill_bytes(dest)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] = note: `#[warn(clippy::unit_arg)]` on by default [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 164 ~ self.fill_bytes(dest); [INFO] [stdout] 165 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chk` [INFO] [stdout] --> src/bipartite.rs:166:40 [INFO] [stdout] | [INFO] [stdout] 166 | fn with_size(msg : u32, aux : u32, chk : u32, edges : u32) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_chk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `edges` [INFO] [stdout] --> src/bipartite.rs:166:51 [INFO] [stdout] | [INFO] [stdout] 166 | fn with_size(msg : u32, aux : u32, chk : u32, edges : u32) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_edges` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `leftnode` [INFO] [stdout] --> src/bipartite.rs:432:7 [INFO] [stdout] | [INFO] [stdout] 432 | let (leftnode,rightnode) = graph.delete_edge(&edge); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_leftnode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rightnode` [INFO] [stdout] --> src/bipartite.rs:432:16 [INFO] [stdout] | [INFO] [stdout] 432 | let (leftnode,rightnode) = graph.delete_edge(&edge); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rightnode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/equations.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | let mut equations = Vec::with_capacity(coblocks + headroom); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/equations.rs:233:17 [INFO] [stdout] | [INFO] [stdout] 233 | let mut rhs = Vec::::new(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: mutable key type [INFO] [stdout] --> src/bipartite.rs:50:2 [INFO] [stdout] | [INFO] [stdout] 50 | let right_edges = HashSet::>::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ... because it contains `Rc`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Edge`, which has interior mutability [INFO] [stdout] = note: ... because it contains `LeftNode`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Rc>`, which has interior mutability [INFO] [stdout] = note: ... because it contains `RefCell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Cell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `UnsafeCell`, which has interior mutability [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutable_key_type [INFO] [stdout] = note: `#[warn(clippy::mutable_key_type)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: mutable key type [INFO] [stdout] --> src/bipartite.rs:68:2 [INFO] [stdout] | [INFO] [stdout] 68 | let left_edges = HashSet::>::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ... because it contains `Rc`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Edge`, which has interior mutability [INFO] [stdout] = note: ... because it contains `LeftNode`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Rc>`, which has interior mutability [INFO] [stdout] = note: ... because it contains `RefCell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Cell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `UnsafeCell`, which has interior mutability [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutable_key_type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hash` [INFO] [stdout] --> src/equations.rs:298:36 [INFO] [stdout] | [INFO] [stdout] 298 | EquationType::Unsolved(ref hash,_) => { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `found_solved` is assigned to, but never used [INFO] [stdout] --> src/equations.rs:353:17 [INFO] [stdout] | [INFO] [stdout] 353 | let mut found_solved = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_found_solved` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rhs` [INFO] [stdout] --> src/equations.rs:363:44 [INFO] [stdout] | [INFO] [stdout] 363 | EquationType::Solved(v,rhs) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rhs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `found_solved` is never read [INFO] [stdout] --> src/equations.rs:366:25 [INFO] [stdout] | [INFO] [stdout] 366 | found_solved += 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: mutable key type [INFO] [stdout] --> src/bipartite.rs:69:2 [INFO] [stdout] | [INFO] [stdout] 69 | let right_edges = HashSet::>::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ... because it contains `Rc`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Edge`, which has interior mutability [INFO] [stdout] = note: ... because it contains `LeftNode`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Rc>`, which has interior mutability [INFO] [stdout] = note: ... because it contains `RefCell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Cell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `UnsafeCell`, which has interior mutability [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutable_key_type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: mutable key type [INFO] [stdout] --> src/bipartite.rs:84:2 [INFO] [stdout] | [INFO] [stdout] 84 | let left_edges = HashSet::>::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ... because it contains `Rc`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Edge`, which has interior mutability [INFO] [stdout] = note: ... because it contains `LeftNode`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Rc>`, which has interior mutability [INFO] [stdout] = note: ... because it contains `RefCell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Cell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `UnsafeCell`, which has interior mutability [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutable_key_type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `BipartiteGraph` [INFO] [stdout] --> src/bipartite.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | / pub fn new() -> Self { [INFO] [stdout] 155 | | Self { [INFO] [stdout] 156 | | msg_nodes : HashMap::>>::new(), [INFO] [stdout] 157 | | aux_nodes : HashMap::>>::new(), [INFO] [stdout] ... | [INFO] [stdout] 164 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 151 + impl Default for BipartiteGraph { [INFO] [stdout] 152 + fn default() -> Self { [INFO] [stdout] 153 + Self::new() [INFO] [stdout] 154 + } [INFO] [stdout] 155 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bipartite.rs:229:43 [INFO] [stdout] | [INFO] [stdout] 229 | left_node : LeftNode::Msg(Rc::clone(&msg)), [INFO] [stdout] | ^^^^ help: change this to: `msg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bipartite.rs:230:44 [INFO] [stdout] | [INFO] [stdout] 230 | right_node : RightNode::Aux(Rc::clone(&aux)) [INFO] [stdout] | ^^^^ help: change this to: `aux` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bipartite.rs:283:43 [INFO] [stdout] | [INFO] [stdout] 283 | left_node : LeftNode::Msg(Rc::clone(&msg)), [INFO] [stdout] | ^^^^ help: change this to: `msg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bipartite.rs:284:44 [INFO] [stdout] | [INFO] [stdout] 284 | right_node : RightNode::Chk(Rc::clone(&chk)) [INFO] [stdout] | ^^^^ help: change this to: `chk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bipartite.rs:302:43 [INFO] [stdout] | [INFO] [stdout] 302 | left_node : LeftNode::Aux(Rc::clone(&aux)), [INFO] [stdout] | ^^^^ help: change this to: `aux` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bipartite.rs:303:44 [INFO] [stdout] | [INFO] [stdout] 303 | right_node : RightNode::Chk(Rc::clone(&chk)) [INFO] [stdout] | ^^^^ help: change this to: `chk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/bipartite.rs:333:3 [INFO] [stdout] | [INFO] [stdout] 333 | / assert_eq!(true, [INFO] [stdout] 334 | | msg.borrow_mut().right_edges.remove(edge)) }, [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 333 - assert_eq!(true, [INFO] [stdout] 334 - msg.borrow_mut().right_edges.remove(edge)) }, [INFO] [stdout] 333 + assert!(msg.borrow_mut().right_edges.remove(edge)) }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/bipartite.rs:336:3 [INFO] [stdout] | [INFO] [stdout] 336 | / assert_eq!(true, [INFO] [stdout] 337 | | aux.borrow_mut().right_edges.remove(edge)) }, [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 336 - assert_eq!(true, [INFO] [stdout] 337 - aux.borrow_mut().right_edges.remove(edge)) }, [INFO] [stdout] 336 + assert!(aux.borrow_mut().right_edges.remove(edge)) }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/bipartite.rs:342:3 [INFO] [stdout] | [INFO] [stdout] 342 | assert_eq!(true, aux.borrow_mut().left_edges.remove(edge)) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 342 - assert_eq!(true, aux.borrow_mut().left_edges.remove(edge)) }, [INFO] [stdout] 342 + assert!(aux.borrow_mut().left_edges.remove(edge)) }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/bipartite.rs:344:3 [INFO] [stdout] | [INFO] [stdout] 344 | assert_eq!(true, chk.borrow_mut().left_edges.remove(edge)) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 344 - assert_eq!(true, chk.borrow_mut().left_edges.remove(edge)) }, [INFO] [stdout] 344 + assert!(chk.borrow_mut().left_edges.remove(edge)) }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/equations.rs:544:20 [INFO] [stdout] | [INFO] [stdout] 544 | 0 => { 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] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 544 - 0 => { return None }, [INFO] [stdout] 544 + 0 => { None }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/equations.rs:558:17 [INFO] [stdout] | [INFO] [stdout] 558 | return Some(EquationType::Solved(single_unsolved, rhs)) [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] 558 - return Some(EquationType::Solved(single_unsolved, rhs)) [INFO] [stdout] 558 + Some(EquationType::Solved(single_unsolved, rhs)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/equations.rs:573:17 [INFO] [stdout] | [INFO] [stdout] 573 | return Some(EquationType::Unsolved(lhs,rhs)) [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] 573 - return Some(EquationType::Unsolved(lhs,rhs)) [INFO] [stdout] 573 + Some(EquationType::Unsolved(lhs,rhs)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `done` [INFO] [stdout] --> src/equations.rs:1168:18 [INFO] [stdout] | [INFO] [stdout] 1168 | let (done, pending, solved) = [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_done` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pending` [INFO] [stdout] --> src/equations.rs:1168:24 [INFO] [stdout] | [INFO] [stdout] 1168 | let (done, pending, solved) = [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pending` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mapping` [INFO] [stdout] --> src/compat.rs:62:6 [INFO] [stdout] | [INFO] [stdout] 62 | let mapping = AuxMapping::new(&mut rng, 20, 5, 6); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mapping` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/compat.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | aux_to_mblocks[*ablock as usize].push(mblock) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `{ *ablock }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `right_degree` is never used [INFO] [stdout] --> src/bipartite.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 48 | impl MessageNode { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | fn right_degree(&self) -> usize { [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 functions `with_size` and `new_edge` are never used [INFO] [stdout] --> src/bipartite.rs:166:8 [INFO] [stdout] | [INFO] [stdout] 151 | impl BipartiteGraph { [INFO] [stdout] | ------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 166 | fn with_size(msg : u32, aux : u32, chk : u32, edges : u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn new_edge() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `solve_via_aux_case_1` is never used [INFO] [stdout] --> src/equations.rs:741:8 [INFO] [stdout] | [INFO] [stdout] 741 | fn solve_via_aux_case_1() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Compat` is never used [INFO] [stdout] --> src/compat.rs:68:7 [INFO] [stdout] | [INFO] [stdout] 68 | trait Compat { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `from_str` can be confused for the standard trait method `std::str::FromStr::from_str` [INFO] [stdout] --> src/rng.rs:98:5 [INFO] [stdout] | [INFO] [stdout] 98 | / pub fn from_str(s : &str) -> Self { [INFO] [stdout] 99 | | // [INFO] [stdout] 100 | | let hash = sha1::Sha1::digest(s.as_bytes()); [INFO] [stdout] 101 | | let mut output = [0u8; 20]; [INFO] [stdout] 102 | | output.copy_from_slice(&hash); [INFO] [stdout] 103 | | Self::from_seed(output) [INFO] [stdout] 104 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: consider implementing the trait `std::str::FromStr` or choosing a less ambiguous method name [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stdout] = note: `#[warn(clippy::should_implement_trait)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: passing a unit value to a function [INFO] [stdout] --> src/rng.rs:164:2 [INFO] [stdout] | [INFO] [stdout] 164 | Ok(self.fill_bytes(dest)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stdout] = note: `#[warn(clippy::unit_arg)]` on by default [INFO] [stdout] help: move the expression in front of the call and replace it with the unit literal `()` [INFO] [stdout] | [INFO] [stdout] 164 ~ self.fill_bytes(dest); [INFO] [stdout] 165 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rng.rs:230:2 [INFO] [stdout] | [INFO] [stdout] 230 | assert_eq!(rng.always_hash, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 230 - assert_eq!(rng.always_hash, true); [INFO] [stdout] 230 + assert!(rng.always_hash); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rng.rs:237:2 [INFO] [stdout] | [INFO] [stdout] 237 | assert_eq!(rng.always_hash, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 237 - assert_eq!(rng.always_hash, true); [INFO] [stdout] 237 + assert!(rng.always_hash); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/rng.rs:244:2 [INFO] [stdout] | [INFO] [stdout] 244 | assert_eq!(rng.always_hash, false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 244 - assert_eq!(rng.always_hash, false); [INFO] [stdout] 244 + assert!(!rng.always_hash); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: mutable key type [INFO] [stdout] --> src/bipartite.rs:50:2 [INFO] [stdout] | [INFO] [stdout] 50 | let right_edges = HashSet::>::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ... because it contains `Rc`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Edge`, which has interior mutability [INFO] [stdout] = note: ... because it contains `LeftNode`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Rc>`, which has interior mutability [INFO] [stdout] = note: ... because it contains `RefCell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Cell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `UnsafeCell`, which has interior mutability [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutable_key_type [INFO] [stdout] = note: `#[warn(clippy::mutable_key_type)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: mutable key type [INFO] [stdout] --> src/bipartite.rs:68:2 [INFO] [stdout] | [INFO] [stdout] 68 | let left_edges = HashSet::>::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ... because it contains `Rc`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Edge`, which has interior mutability [INFO] [stdout] = note: ... because it contains `LeftNode`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Rc>`, which has interior mutability [INFO] [stdout] = note: ... because it contains `RefCell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Cell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `UnsafeCell`, which has interior mutability [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutable_key_type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: mutable key type [INFO] [stdout] --> src/bipartite.rs:69:2 [INFO] [stdout] | [INFO] [stdout] 69 | let right_edges = HashSet::>::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ... because it contains `Rc`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Edge`, which has interior mutability [INFO] [stdout] = note: ... because it contains `LeftNode`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Rc>`, which has interior mutability [INFO] [stdout] = note: ... because it contains `RefCell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Cell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `UnsafeCell`, which has interior mutability [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutable_key_type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: mutable key type [INFO] [stdout] --> src/bipartite.rs:84:2 [INFO] [stdout] | [INFO] [stdout] 84 | let left_edges = HashSet::>::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: ... because it contains `Rc`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Edge`, which has interior mutability [INFO] [stdout] = note: ... because it contains `LeftNode`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Rc>`, which has interior mutability [INFO] [stdout] = note: ... because it contains `RefCell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `Cell`, which has interior mutability [INFO] [stdout] = note: ... because it contains `UnsafeCell`, which has interior mutability [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutable_key_type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `BipartiteGraph` [INFO] [stdout] --> src/bipartite.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | / pub fn new() -> Self { [INFO] [stdout] 155 | | Self { [INFO] [stdout] 156 | | msg_nodes : HashMap::>>::new(), [INFO] [stdout] 157 | | aux_nodes : HashMap::>>::new(), [INFO] [stdout] ... | [INFO] [stdout] 164 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 151 + impl Default for BipartiteGraph { [INFO] [stdout] 152 + fn default() -> Self { [INFO] [stdout] 153 + Self::new() [INFO] [stdout] 154 + } [INFO] [stdout] 155 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bipartite.rs:229:43 [INFO] [stdout] | [INFO] [stdout] 229 | left_node : LeftNode::Msg(Rc::clone(&msg)), [INFO] [stdout] | ^^^^ help: change this to: `msg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bipartite.rs:230:44 [INFO] [stdout] | [INFO] [stdout] 230 | right_node : RightNode::Aux(Rc::clone(&aux)) [INFO] [stdout] | ^^^^ help: change this to: `aux` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bipartite.rs:283:43 [INFO] [stdout] | [INFO] [stdout] 283 | left_node : LeftNode::Msg(Rc::clone(&msg)), [INFO] [stdout] | ^^^^ help: change this to: `msg` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bipartite.rs:284:44 [INFO] [stdout] | [INFO] [stdout] 284 | right_node : RightNode::Chk(Rc::clone(&chk)) [INFO] [stdout] | ^^^^ help: change this to: `chk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bipartite.rs:302:43 [INFO] [stdout] | [INFO] [stdout] 302 | left_node : LeftNode::Aux(Rc::clone(&aux)), [INFO] [stdout] | ^^^^ help: change this to: `aux` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bipartite.rs:303:44 [INFO] [stdout] | [INFO] [stdout] 303 | right_node : RightNode::Chk(Rc::clone(&chk)) [INFO] [stdout] | ^^^^ help: change this to: `chk` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/bipartite.rs:333:3 [INFO] [stdout] | [INFO] [stdout] 333 | / assert_eq!(true, [INFO] [stdout] 334 | | msg.borrow_mut().right_edges.remove(edge)) }, [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 333 - assert_eq!(true, [INFO] [stdout] 334 - msg.borrow_mut().right_edges.remove(edge)) }, [INFO] [stdout] 333 + assert!(msg.borrow_mut().right_edges.remove(edge)) }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/bipartite.rs:336:3 [INFO] [stdout] | [INFO] [stdout] 336 | / assert_eq!(true, [INFO] [stdout] 337 | | aux.borrow_mut().right_edges.remove(edge)) }, [INFO] [stdout] | |_________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 336 - assert_eq!(true, [INFO] [stdout] 337 - aux.borrow_mut().right_edges.remove(edge)) }, [INFO] [stdout] 336 + assert!(aux.borrow_mut().right_edges.remove(edge)) }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/bipartite.rs:342:3 [INFO] [stdout] | [INFO] [stdout] 342 | assert_eq!(true, aux.borrow_mut().left_edges.remove(edge)) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 342 - assert_eq!(true, aux.borrow_mut().left_edges.remove(edge)) }, [INFO] [stdout] 342 + assert!(aux.borrow_mut().left_edges.remove(edge)) }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/bipartite.rs:344:3 [INFO] [stdout] | [INFO] [stdout] 344 | assert_eq!(true, chk.borrow_mut().left_edges.remove(edge)) }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 344 - assert_eq!(true, chk.borrow_mut().left_edges.remove(edge)) }, [INFO] [stdout] 344 + assert!(chk.borrow_mut().left_edges.remove(edge)) }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/equations.rs:544:20 [INFO] [stdout] | [INFO] [stdout] 544 | 0 => { 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] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 544 - 0 => { return None }, [INFO] [stdout] 544 + 0 => { None }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/equations.rs:558:17 [INFO] [stdout] | [INFO] [stdout] 558 | return Some(EquationType::Solved(single_unsolved, rhs)) [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] 558 - return Some(EquationType::Solved(single_unsolved, rhs)) [INFO] [stdout] 558 + Some(EquationType::Solved(single_unsolved, rhs)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/equations.rs:573:17 [INFO] [stdout] | [INFO] [stdout] 573 | return Some(EquationType::Unsolved(lhs,rhs)) [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] 573 - return Some(EquationType::Unsolved(lhs,rhs)) [INFO] [stdout] 573 + Some(EquationType::Unsolved(lhs,rhs)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/equations.rs:645:9 [INFO] [stdout] | [INFO] [stdout] 645 | assert_eq!(done, true); // last block was solved [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 645 - assert_eq!(done, true); // last block was solved [INFO] [stdout] 645 + assert!(done); // last block was solved [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/equations.rs:647:9 [INFO] [stdout] | [INFO] [stdout] 647 | assert_eq!(solved.is_none(), false); // got Some(Vec) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 647 - assert_eq!(solved.is_none(), false); // got Some(Vec) [INFO] [stdout] 647 + assert!(!solved.is_none()); // got Some(Vec) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/equations.rs:674:17 [INFO] [stdout] | [INFO] [stdout] 674 | assert!(!solved.is_none()); // Some(Vec) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `solved.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: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/equations.rs:663:9 [INFO] [stdout] | [INFO] [stdout] 663 | assert_eq!(done, false); // nothing solved [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 663 - assert_eq!(done, false); // nothing solved [INFO] [stdout] 663 + assert!(!done); // nothing solved [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/equations.rs:672:9 [INFO] [stdout] | [INFO] [stdout] 672 | assert_eq!(done, true); // all solved [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 672 - assert_eq!(done, true); // all solved [INFO] [stdout] 672 + assert!(done); // all solved [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/equations.rs:806:17 [INFO] [stdout] | [INFO] [stdout] 806 | assert!(!solved.is_none()); // Some(Vec) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `solved.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] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/equations.rs:788:9 [INFO] [stdout] | [INFO] [stdout] 788 | assert_eq!(done, false); // nothing solved [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 788 - assert_eq!(done, false); // nothing solved [INFO] [stdout] 788 + assert!(!done); // nothing solved [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/equations.rs:795:9 [INFO] [stdout] | [INFO] [stdout] 795 | assert_eq!(done, true); // all solved [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 795 - assert_eq!(done, true); // all solved [INFO] [stdout] 795 + assert!(done); // all solved [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/equations.rs:882:17 [INFO] [stdout] | [INFO] [stdout] 882 | assert!(!solved.is_none()); // Some(Vec) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `solved.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] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/equations.rs:880:9 [INFO] [stdout] | [INFO] [stdout] 880 | assert_eq!(done, true); // everything solved [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 880 - assert_eq!(done, true); // everything solved [INFO] [stdout] 880 + assert!(done); // everything solved [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Arg` [INFO] [stdout] --> src/bin/codec.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | use clap::{Arg, App}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha1` [INFO] [stdout] --> src/bin/codec.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/equations.rs:948:17 [INFO] [stdout] | [INFO] [stdout] 948 | assert!(!solved.is_none()); // Some(Vec) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `solved.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] [INFO] [stdout] [INFO] [stdout] warning: the feature `destructuring_assignment` has been stable since 1.59.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/bin/codec.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | #![feature(destructuring_assignment)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Arg` [INFO] [stdout] --> src/bin/codec.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | use clap::{Arg, App}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sha1` [INFO] [stdout] --> src/bin/codec.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | use sha1::{Sha1, Digest}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/equations.rs:946:9 [INFO] [stdout] | [INFO] [stdout] 946 | assert_eq!(done, true); // everything solved [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 946 - assert_eq!(done, true); // everything solved [INFO] [stdout] 946 + assert!(done); // everything solved [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `destructuring_assignment` has been stable since 1.59.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/bin/codec.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | #![feature(destructuring_assignment)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/equations.rs:1014:17 [INFO] [stdout] | [INFO] [stdout] 1014 | assert!(!solved.is_none()); // Some(Vec) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `solved.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] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/equations.rs:1012:9 [INFO] [stdout] | [INFO] [stdout] 1012 | assert_eq!(done, false); // msg1 not solved yet [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1012 - assert_eq!(done, false); // msg1 not solved yet [INFO] [stdout] 1012 + assert!(!done); // msg1 not solved yet [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/equations.rs:1198:21 [INFO] [stdout] | [INFO] [stdout] 1198 | assert_eq!(solvedp[*v], true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 1198 - assert_eq!(solvedp[*v], true); [INFO] [stdout] 1198 + assert!(solvedp[*v]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: items after a test module [INFO] [stdout] --> src/compat.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | mod test_auxmapping { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | trait Compat { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_test_module [INFO] [stdout] = note: `#[warn(clippy::items_after_test_module)]` on by default [INFO] [stdout] = help: move the items to before the test module was defined [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/compat.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | aux_to_mblocks[*ablock as usize].push(mblock) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `{ *ablock }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/bin/codec.rs:351:17 [INFO] [stdout] | [INFO] [stdout] 351 | assert_eq!(solvedp[*v], true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 351 - assert_eq!(solvedp[*v], true); [INFO] [stdout] 351 + assert!(solvedp[*v]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/bin/codec.rs:351:17 [INFO] [stdout] | [INFO] [stdout] 351 | assert_eq!(solvedp[*v], true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 351 - assert_eq!(solvedp[*v], true); [INFO] [stdout] 351 + assert!(solvedp[*v]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.52s [INFO] running `Command { std: "docker" "inspect" "493889a001f984f549c4f49f68bdb6ef1065f244388cd0e5b2dd5dc3864c4438", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "493889a001f984f549c4f49f68bdb6ef1065f244388cd0e5b2dd5dc3864c4438", kill_on_drop: false }` [INFO] [stdout] 493889a001f984f549c4f49f68bdb6ef1065f244388cd0e5b2dd5dc3864c4438