[INFO] cloning repository https://github.com/fantasyfanwuren/Matrxi [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fantasyfanwuren/Matrxi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffantasyfanwuren%2FMatrxi", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffantasyfanwuren%2FMatrxi'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b47387a36da6eaabe7aa2a94fe485c4dafceec2e [INFO] linting fantasyfanwuren/Matrxi against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffantasyfanwuren%2FMatrxi" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/fantasyfanwuren/Matrxi [INFO] finished tweaking git repo https://github.com/fantasyfanwuren/Matrxi [INFO] tweaked toml for git repo https://github.com/fantasyfanwuren/Matrxi written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/fantasyfanwuren/Matrxi 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 git repo https://github.com/fantasyfanwuren/Matrxi 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] 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] 1596cac16aad183b14a7abd90d0b47e34aba1bee8a71355017dcc96d464216eb [INFO] running `Command { std: "docker" "start" "-a" "1596cac16aad183b14a7abd90d0b47e34aba1bee8a71355017dcc96d464216eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1596cac16aad183b14a7abd90d0b47e34aba1bee8a71355017dcc96d464216eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1596cac16aad183b14a7abd90d0b47e34aba1bee8a71355017dcc96d464216eb", kill_on_drop: false }` [INFO] [stdout] 1596cac16aad183b14a7abd90d0b47e34aba1bee8a71355017dcc96d464216eb [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] 7daa52dd8f552779df22d23e24e44865972a2e95deddbe4d518e998b8f4e1f74 [INFO] running `Command { std: "docker" "start" "-a" "7daa52dd8f552779df22d23e24e44865972a2e95deddbe4d518e998b8f4e1f74", kill_on_drop: false }` [INFO] [stderr] Checking matrix v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/mt/mod.rs:387:5 [INFO] [stdout] | [INFO] [stdout] 387 | / /**多线程运算矩阵与数字相乘 */ [INFO] [stdout] 388 | | [INFO] [stdout] | |_^ [INFO] [stdout] 389 | pub fn thread_mul_num(self, num: B) -> Matrix [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 line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/mt/mod.rs:458:5 [INFO] [stdout] | [INFO] [stdout] 458 | / /**#### 计算出矩阵的解,返回值为一个Option若解不存在,则返回None,若解存在则返回 Solution */ [INFO] [stdout] ... | [INFO] [stdout] 468 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 471 | fn get_pivot(&mut self, position: &Position) -> 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] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the doc comment should not document function `get_pivot` then comment it out [INFO] [stdout] | [INFO] [stdout] 458 - /**#### 计算出矩阵的解,返回值为一个Option若解不存在,则返回None,若解存在则返回 Solution */ [INFO] [stdout] 458 + /*#### 计算出矩阵的解,返回值为一个Option若解不存在,则返回None,若解存在则返回 Solution */ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/mt/mod.rs:387:5 [INFO] [stdout] | [INFO] [stdout] 387 | / /**多线程运算矩阵与数字相乘 */ [INFO] [stdout] 388 | | [INFO] [stdout] | |_^ [INFO] [stdout] 389 | pub fn thread_mul_num(self, num: B) -> Matrix [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 line is unintentional, remove it [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty line after doc comment [INFO] [stdout] --> src/mt/mod.rs:458:5 [INFO] [stdout] | [INFO] [stdout] 458 | / /**#### 计算出矩阵的解,返回值为一个Option若解不存在,则返回None,若解存在则返回 Solution */ [INFO] [stdout] ... | [INFO] [stdout] 468 | | [INFO] [stdout] | |_^ [INFO] [stdout] ... [INFO] [stdout] 471 | fn get_pivot(&mut self, position: &Position) -> 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] = help: if the empty line is unintentional, remove it [INFO] [stdout] help: if the doc comment should not document function `get_pivot` then comment it out [INFO] [stdout] | [INFO] [stdout] 458 - /**#### 计算出矩阵的解,返回值为一个Option若解不存在,则返回None,若解存在则返回 Solution */ [INFO] [stdout] 458 + /*#### 计算出矩阵的解,返回值为一个Option若解不存在,则返回None,若解存在则返回 Solution */ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/mt/mod.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | if elements.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!elements.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: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/mt/mod.rs:158:17 [INFO] [stdout] | [INFO] [stdout] 158 | / if position.col == self.col_count() - 1 { [INFO] [stdout] 159 | | false [INFO] [stdout] 160 | | } else { [INFO] [stdout] 161 | | true [INFO] [stdout] 162 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 157 ~ Some(position) [INFO] [stdout] 158 ~ if position.col == self.col_count() - 1 => { [INFO] [stdout] 159 | false [INFO] [stdout] 160 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/mt/mod.rs:158:17 [INFO] [stdout] | [INFO] [stdout] 158 | / if position.col == self.col_count() - 1 { [INFO] [stdout] 159 | | false [INFO] [stdout] 160 | | } else { [INFO] [stdout] 161 | | true [INFO] [stdout] 162 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `position.col != self.col_count() - 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/mt/mod.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | !(pivots.len() == self.col_count()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(pivots.len() != self.col_count())` [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: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/mt/mod.rs:288:44 [INFO] [stdout] | [INFO] [stdout] 288 | let threads: Vec> = (0..self.row_count()) [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 289 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..self.row_count())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/mt/mod.rs:397:31 [INFO] [stdout] | [INFO] [stdout] 397 | let handles: Vec<_> = (0..row_count) [INFO] [stdout] | _______________________________^ [INFO] [stdout] 398 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..row_count)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/mt/mod.rs:446:24 [INFO] [stdout] | [INFO] [stdout] 446 | let elements = (0..self.col_count()) [INFO] [stdout] | ________________________^ [INFO] [stdout] 447 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..self.col_count())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/mt/mod.rs:449:17 [INFO] [stdout] | [INFO] [stdout] 449 | / (0..self.row_count()) [INFO] [stdout] 450 | | .into_iter() [INFO] [stdout] | |________________________________^ help: consider removing `.into_iter()`: `(0..self.row_count())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/mt/mod.rs:572:16 [INFO] [stdout] | [INFO] [stdout] 572 | if row.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `row.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: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/mt/mod.rs:582:9 [INFO] [stdout] | [INFO] [stdout] 582 | output.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `output.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/mt/mod.rs:590:24 [INFO] [stdout] | [INFO] [stdout] 590 | if row.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `row.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: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/mt/mod.rs:602:9 [INFO] [stdout] | [INFO] [stdout] 602 | output.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `output.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/mt/mod.rs:609:20 [INFO] [stdout] | [INFO] [stdout] 609 | if pivots.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `pivots.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: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/mt/mod.rs:616:21 [INFO] [stdout] | [INFO] [stdout] 616 | output.push_str("]"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `output.push(']')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `row` is used to index `elements` [INFO] [stdout] --> src/mt/mod.rs:690:20 [INFO] [stdout] | [INFO] [stdout] 690 | for row in 0..self.row_count() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 690 - for row in 0..self.row_count() { [INFO] [stdout] 690 + for (row, ) in elements.iter_mut().enumerate().take(self.row_count()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `col` is used to index `elements` [INFO] [stdout] --> src/mt/mod.rs:691:24 [INFO] [stdout] | [INFO] [stdout] 691 | for col in 0..self.col_count() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 691 - for col in 0..self.col_count() { [INFO] [stdout] 691 + for (col, ) in elements.iter_mut().enumerate().take(self.col_count()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/mt/mod.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | if elements.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!elements.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: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/mt/mod.rs:158:17 [INFO] [stdout] | [INFO] [stdout] 158 | / if position.col == self.col_count() - 1 { [INFO] [stdout] 159 | | false [INFO] [stdout] 160 | | } else { [INFO] [stdout] 161 | | true [INFO] [stdout] 162 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 157 ~ Some(position) [INFO] [stdout] 158 ~ if position.col == self.col_count() - 1 => { [INFO] [stdout] 159 | false [INFO] [stdout] 160 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> src/mt/mod.rs:158:17 [INFO] [stdout] | [INFO] [stdout] 158 | / if position.col == self.col_count() - 1 { [INFO] [stdout] 159 | | false [INFO] [stdout] 160 | | } else { [INFO] [stdout] 161 | | true [INFO] [stdout] 162 | | } [INFO] [stdout] | |_________________^ help: you can reduce it to: `position.col != self.col_count() - 1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/mt/mod.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | !(pivots.len() == self.col_count()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(pivots.len() != self.col_count())` [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: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/mt/mod.rs:288:44 [INFO] [stdout] | [INFO] [stdout] 288 | let threads: Vec> = (0..self.row_count()) [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 289 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..self.row_count())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/mt/mod.rs:397:31 [INFO] [stdout] | [INFO] [stdout] 397 | let handles: Vec<_> = (0..row_count) [INFO] [stdout] | _______________________________^ [INFO] [stdout] 398 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..row_count)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/mt/mod.rs:446:24 [INFO] [stdout] | [INFO] [stdout] 446 | let elements = (0..self.col_count()) [INFO] [stdout] | ________________________^ [INFO] [stdout] 447 | | .into_iter() [INFO] [stdout] | |________________________^ help: consider removing `.into_iter()`: `(0..self.col_count())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::ops::Range` [INFO] [stdout] --> src/mt/mod.rs:449:17 [INFO] [stdout] | [INFO] [stdout] 449 | / (0..self.row_count()) [INFO] [stdout] 450 | | .into_iter() [INFO] [stdout] | |________________________________^ help: consider removing `.into_iter()`: `(0..self.row_count())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/mt/mod.rs:572:16 [INFO] [stdout] | [INFO] [stdout] 572 | if row.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `row.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: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/mt/mod.rs:582:9 [INFO] [stdout] | [INFO] [stdout] 582 | output.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `output.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/mt/mod.rs:590:24 [INFO] [stdout] | [INFO] [stdout] 590 | if row.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `row.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: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/mt/mod.rs:602:9 [INFO] [stdout] | [INFO] [stdout] 602 | output.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `output.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/mt/mod.rs:609:20 [INFO] [stdout] | [INFO] [stdout] 609 | if pivots.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `pivots.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: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/mt/mod.rs:616:21 [INFO] [stdout] | [INFO] [stdout] 616 | output.push_str("]"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `output.push(']')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `row` is used to index `elements` [INFO] [stdout] --> src/mt/mod.rs:690:20 [INFO] [stdout] | [INFO] [stdout] 690 | for row in 0..self.row_count() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 690 - for row in 0..self.row_count() { [INFO] [stdout] 690 + for (row, ) in elements.iter_mut().enumerate().take(self.row_count()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `col` is used to index `elements` [INFO] [stdout] --> src/mt/mod.rs:691:24 [INFO] [stdout] | [INFO] [stdout] 691 | for col in 0..self.col_count() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 691 - for col in 0..self.col_count() { [INFO] [stdout] 691 + for (col, ) in elements.iter_mut().enumerate().take(self.col_count()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/mt/mod.rs:939:9 [INFO] [stdout] | [INFO] [stdout] 939 | assert_eq!(a.can_make_all(), 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] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 939 - assert_eq!(a.can_make_all(), false); [INFO] [stdout] 939 + assert!(!a.can_make_all()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/mt/mod.rs:949:9 [INFO] [stdout] | [INFO] [stdout] 949 | assert_eq!(a.can_make_all(), 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] 949 - assert_eq!(a.can_make_all(), false); [INFO] [stdout] 949 + assert!(!a.can_make_all()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/mt/mod.rs:963:9 [INFO] [stdout] | [INFO] [stdout] 963 | assert_eq!(a.is_linearly_independent(), 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] 963 - assert_eq!(a.is_linearly_independent(), false); [INFO] [stdout] 963 + assert!(!a.is_linearly_independent()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/mt/mod.rs:968:9 [INFO] [stdout] | [INFO] [stdout] 968 | assert_eq!(a.is_linearly_independent(), 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] 968 - assert_eq!(a.is_linearly_independent(), true); [INFO] [stdout] 968 + assert!(a.is_linearly_independent()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/mt/mod.rs:978:9 [INFO] [stdout] | [INFO] [stdout] 978 | assert_eq!(a.is_linearly_independent(), 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] 978 - assert_eq!(a.is_linearly_independent(), false); [INFO] [stdout] 978 + assert!(!a.is_linearly_independent()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/mt/mod.rs:986:9 [INFO] [stdout] | [INFO] [stdout] 986 | assert_eq!(a.is_linearly_independent(), 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] 986 - assert_eq!(a.is_linearly_independent(), true); [INFO] [stdout] 986 + assert!(a.is_linearly_independent()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/mt/mod.rs:991:9 [INFO] [stdout] | [INFO] [stdout] 991 | assert_eq!(a.is_linearly_independent(), 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] 991 - assert_eq!(a.is_linearly_independent(), true); [INFO] [stdout] 991 + assert!(a.is_linearly_independent()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/mt/mod.rs:997:9 [INFO] [stdout] | [INFO] [stdout] 997 | assert_eq!(a.is_injective(), 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] 997 - assert_eq!(a.is_injective(), true); [INFO] [stdout] 997 + assert!(a.is_injective()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.51s [INFO] running `Command { std: "docker" "inspect" "7daa52dd8f552779df22d23e24e44865972a2e95deddbe4d518e998b8f4e1f74", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7daa52dd8f552779df22d23e24e44865972a2e95deddbe4d518e998b8f4e1f74", kill_on_drop: false }` [INFO] [stdout] 7daa52dd8f552779df22d23e24e44865972a2e95deddbe4d518e998b8f4e1f74