[INFO] fetching crate divsufsort 2.0.0... [INFO] linting divsufsort-2.0.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate divsufsort 2.0.0 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate divsufsort 2.0.0 [INFO] finished tweaking crates.io crate divsufsort 2.0.0 [INFO] tweaked toml for crates.io crate divsufsort 2.0.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate divsufsort 2.0.0 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 4 packages to latest compatible versions [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 sacabase v2.0.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] f7b9636cb01a752267adb3484cd9160dc6fb39bf614c1f5d3e6fd487ef8a3b4b [INFO] running `Command { std: "docker" "start" "-a" "f7b9636cb01a752267adb3484cd9160dc6fb39bf614c1f5d3e6fd487ef8a3b4b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f7b9636cb01a752267adb3484cd9160dc6fb39bf614c1f5d3e6fd487ef8a3b4b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f7b9636cb01a752267adb3484cd9160dc6fb39bf614c1f5d3e6fd487ef8a3b4b", kill_on_drop: false }` [INFO] [stdout] f7b9636cb01a752267adb3484cd9160dc6fb39bf614c1f5d3e6fd487ef8a3b4b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 8e5a46a4ae95b3b1294e2f8c8cfba484382d6e028bf7b81ef6bb07d81cb9b6f9 [INFO] running `Command { std: "docker" "start" "-a" "8e5a46a4ae95b3b1294e2f8c8cfba484382d6e028bf7b81ef6bb07d81cb9b6f9", kill_on_drop: false }` [INFO] [stderr] Checking sacabase v2.0.0 [INFO] [stderr] Checking divsufsort v2.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/crosscheck.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | let mut f = crate::crosscheck::CROSSCHECK_FILE.lock().unwrap(); [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] = note: `#[warn(clippy::crate_in_macro_def)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/crosscheck.rs:43:25 [INFO] [stdout] | [INFO] [stdout] 43 | let mut f = crate::crosscheck::CROSSCHECK_FILE.lock().unwrap(); [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/crosscheck.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 74 | let mut f = crate::crosscheck::CROSSCHECK_FILE.lock().unwrap(); [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/sssort.rs:279:6 [INFO] [stdout] | [INFO] [stdout] 279 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/sssort.rs:284:6 [INFO] [stdout] | [INFO] [stdout] 284 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/sssort.rs:523:6 [INFO] [stdout] | [INFO] [stdout] 523 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/trsort.rs:252:6 [INFO] [stdout] | [INFO] [stdout] 252 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/crosscheck.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | let mut f = crate::crosscheck::CROSSCHECK_FILE.lock().unwrap(); [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] = note: `#[warn(clippy::crate_in_macro_def)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/crosscheck.rs:43:25 [INFO] [stdout] | [INFO] [stdout] 43 | let mut f = crate::crosscheck::CROSSCHECK_FILE.lock().unwrap(); [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/crosscheck.rs:74:25 [INFO] [stdout] | [INFO] [stdout] 74 | let mut f = crate::crosscheck::CROSSCHECK_FILE.lock().unwrap(); [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/sssort.rs:279:6 [INFO] [stdout] | [INFO] [stdout] 279 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/sssort.rs:284:6 [INFO] [stdout] | [INFO] [stdout] 284 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/sssort.rs:523:6 [INFO] [stdout] | [INFO] [stdout] 523 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/trsort.rs:252:6 [INFO] [stdout] | [INFO] [stdout] 252 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/common.rs:12:34 [INFO] [stdout] | [INFO] [stdout] 12 | pub const ALPHABET_SIZE: usize = u8::max_value() as usize + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 12 - pub const ALPHABET_SIZE: usize = u8::max_value() as usize + 1; [INFO] [stdout] 12 + pub const ALPHABET_SIZE: usize = u8::MAX as usize + 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> src/common.rs:202:1 [INFO] [stdout] | [INFO] [stdout] 202 | impl Into for SAPtr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 202 ~ impl From for Idx { [INFO] [stdout] 203 | #[inline(always)] [INFO] [stdout] 204 ~ fn from(val: SAPtr) -> Self { [INFO] [stdout] 205 ~ val.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/divsufsort.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | T.len() < i32::max_value() as usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 10 - T.len() < i32::max_value() as usize, [INFO] [stdout] 10 + T.len() < i32::MAX as usize, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/divsufsort.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | i32::max_value() - 1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 12 - i32::max_value() - 1 [INFO] [stdout] 12 + i32::MAX - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:79:16 [INFO] [stdout] | [INFO] [stdout] 79 | if !(0 <= i) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(0 > i)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:84:16 [INFO] [stdout] | [INFO] [stdout] 84 | if !(c0 >= c1) { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(c0 < c1)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:104:20 [INFO] [stdout] | [INFO] [stdout] 104 | if !(0 <= i) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(0 > i)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:108:20 [INFO] [stdout] | [INFO] [stdout] 108 | if !(c0 <= c1) { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(c0 > c1)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:233:20 [INFO] [stdout] | [INFO] [stdout] 233 | if !(SA[i] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[i] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:261:24 [INFO] [stdout] | [INFO] [stdout] 261 | if !(0 <= i) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(0 > i)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:265:24 [INFO] [stdout] | [INFO] [stdout] 265 | if !(c0 >= c1) { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(c0 < c1)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:285:28 [INFO] [stdout] | [INFO] [stdout] 285 | if !(0 <= i) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(0 > i)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:289:28 [INFO] [stdout] | [INFO] [stdout] 289 | if !(c0 <= c1) { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(c0 > c1)` [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: this operation has no effect [INFO] [stdout] --> src/sssort.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | 0 + lg_table[((n >> 0) & 0xff) as usize] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `lg_table[((n >> 0) & 0xff) as usize]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/sssort.rs:28:23 [INFO] [stdout] | [INFO] [stdout] 28 | 0 + lg_table[((n >> 0) & 0xff) as usize] [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/sssort.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | let e: Idx; [INFO] [stdout] | ^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 65 | / e = if (x & 0xffff_0000) > 0 { [INFO] [stdout] 66 | | if (x & 0xff00_0000) > 0 { [INFO] [stdout] 67 | | 24 + lg_table[((x >> 24) & 0xff) as usize] [INFO] [stdout] 68 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 77 | | }; [INFO] [stdout] | |_____^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `e` here [INFO] [stdout] | [INFO] [stdout] 59 ~ [INFO] [stdout] 60 | [INFO] [stdout] ... [INFO] [stdout] 64 | [INFO] [stdout] 65 ~ let e: Idx = if (x & 0xffff_0000) > 0 { [INFO] [stdout] 66 + if (x & 0xff00_0000) > 0 { [INFO] [stdout] 67 + 24 + lg_table[((x >> 24) & 0xff) as usize] [INFO] [stdout] 68 + } else { [INFO] [stdout] 69 + 16 + lg_table[((x >> 16) & 0xff) as usize] [INFO] [stdout] 70 + } [INFO] [stdout] 71 + } else { [INFO] [stdout] 72 + if (x & 0x0000_ff00) > 0 { [INFO] [stdout] 73 + 8 + lg_table[(((x >> 8) & 0xff) as usize)] [INFO] [stdout] 74 + } else { [INFO] [stdout] 75 + 0 + lg_table[(((x >> 0) & 0xff) as usize)] [INFO] [stdout] 76 + } [INFO] [stdout] 77 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/sssort.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | 0 + lg_table[(((x >> 0) & 0xff) as usize)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `lg_table[(((x >> 0) & 0xff) as usize)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/sssort.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | 0 + lg_table[(((x >> 0) & 0xff) as usize)] [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/sssort.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 120 | / let res = if U1 < U1n { [INFO] [stdout] 121 | | if U2 < U2n { [INFO] [stdout] 122 | | T.get(U1) - T.get(U2) [INFO] [stdout] 123 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 132 | | }; [INFO] [stdout] | |______- unnecessary `let` binding [INFO] [stdout] 133 | res [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 120 ~ [INFO] [stdout] 121 ~ if U1 < U1n { [INFO] [stdout] 122 + if U2 < U2n { [INFO] [stdout] 123 + T.get(U1) - T.get(U2) [INFO] [stdout] 124 + } else { [INFO] [stdout] 125 + 1 [INFO] [stdout] 126 + } [INFO] [stdout] 127 + } else { [INFO] [stdout] 128 + if U2 < U2n { [INFO] [stdout] 129 + -1 [INFO] [stdout] 130 + } else { [INFO] [stdout] 131 + 0 [INFO] [stdout] 132 + } [INFO] [stdout] 133 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:162:16 [INFO] [stdout] | [INFO] [stdout] 162 | if !(0 < r) { [INFO] [stdout] | ^^^^^^^^ help: try: `(0 >= r)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:237:12 [INFO] [stdout] | [INFO] [stdout] 237 | if !(j < size) { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(j >= size)` [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: this function has too many arguments (9/7) [INFO] [stdout] --> src/sssort.rs:358:1 [INFO] [stdout] | [INFO] [stdout] 358 | / pub fn ss_median5( [INFO] [stdout] 359 | | T: &Text, [INFO] [stdout] 360 | | Td: Idx, [INFO] [stdout] 361 | | SA: &SuffixArray, [INFO] [stdout] ... | [INFO] [stdout] 367 | | mut v5: SAPtr, [INFO] [stdout] 368 | | ) -> SAPtr { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:474:16 [INFO] [stdout] | [INFO] [stdout] 474 | if !((PA!(a!()) + depth) >= (PA!(a!() + 1) + 1)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((PA!(a!()) + depth) < (PA!(a!() + 1) + 1))` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:488:16 [INFO] [stdout] | [INFO] [stdout] 488 | if !((PA!(b!()) + depth) < (PA!(b!() + 1) + 1)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((PA!(b!()) + depth) >= (PA!(b!() + 1) + 1))` [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 use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:471:16 [INFO] [stdout] | [INFO] [stdout] 471 | if !(a < b) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] = note: `#[warn(clippy::neg_cmp_op_on_partial_ord)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:485:16 [INFO] [stdout] | [INFO] [stdout] 485 | if !(a < b) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:548:16 [INFO] [stdout] | [INFO] [stdout] 548 | if !stack [INFO] [stdout] | ________________^ [INFO] [stdout] 549 | | .pop(&mut first, &mut last, &mut depth, &mut limit) [INFO] [stdout] 550 | | .is_ok() [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 548 ~ if stack [INFO] [stdout] 549 + .pop(&mut first, &mut last, &mut depth, &mut limit).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:637:16 [INFO] [stdout] | [INFO] [stdout] 637 | if !(x == v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x != v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:651:20 [INFO] [stdout] | [INFO] [stdout] 651 | if !(x <= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x > v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:670:16 [INFO] [stdout] | [INFO] [stdout] 670 | if !(x == v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x != v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:684:20 [INFO] [stdout] | [INFO] [stdout] 684 | if !(x >= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x < v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:705:20 [INFO] [stdout] | [INFO] [stdout] 705 | if !(x <= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x > v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:721:20 [INFO] [stdout] | [INFO] [stdout] 721 | if !(x >= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x < v)` [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 use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:633:16 [INFO] [stdout] | [INFO] [stdout] 633 | if !(b < last) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:647:20 [INFO] [stdout] | [INFO] [stdout] 647 | if !(b < last) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:666:16 [INFO] [stdout] | [INFO] [stdout] 666 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:680:20 [INFO] [stdout] | [INFO] [stdout] 680 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:701:20 [INFO] [stdout] | [INFO] [stdout] 701 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:717:20 [INFO] [stdout] | [INFO] [stdout] 717 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/sssort.rs:770:17 [INFO] [stdout] | [INFO] [stdout] 769 | let res = ss_partition(SA, PA, a, c, depth); [INFO] [stdout] | -------------------------------------------- unnecessary `let` binding [INFO] [stdout] 770 | res [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 769 ~ [INFO] [stdout] 770 ~ ss_partition(SA, PA, a, c, depth) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1045:20 [INFO] [stdout] | [INFO] [stdout] 1045 | if !(SA[b] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[b] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1070:20 [INFO] [stdout] | [INFO] [stdout] 1070 | if !(SA[c] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[c] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1088:20 [INFO] [stdout] | [INFO] [stdout] 1088 | if !(SA[b] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[b] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1113:20 [INFO] [stdout] | [INFO] [stdout] 1113 | if !(SA[c] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[c] >= 0)` [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: this function has too many arguments (8/7) [INFO] [stdout] --> src/sssort.rs:1003:1 [INFO] [stdout] | [INFO] [stdout] 1003 | / pub fn ss_mergeforward( [INFO] [stdout] 1004 | | T: &Text, [INFO] [stdout] 1005 | | SA: &mut SuffixArray, [INFO] [stdout] 1006 | | PA: SAPtr, [INFO] [stdout] ... | [INFO] [stdout] 1011 | | depth: Idx, [INFO] [stdout] 1012 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1176:24 [INFO] [stdout] | [INFO] [stdout] 1176 | if !(SA[b] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[b] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1242:24 [INFO] [stdout] | [INFO] [stdout] 1242 | if !(SA[b] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[b] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1265:24 [INFO] [stdout] | [INFO] [stdout] 1265 | if !(SA[c] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[c] >= 0)` [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: this function has too many arguments (8/7) [INFO] [stdout] --> src/sssort.rs:1122:1 [INFO] [stdout] | [INFO] [stdout] 1122 | / pub fn ss_mergebackward( [INFO] [stdout] 1123 | | T: &Text, [INFO] [stdout] 1124 | | SA: &mut SuffixArray, [INFO] [stdout] 1125 | | PA: SAPtr, [INFO] [stdout] ... | [INFO] [stdout] 1130 | | depth: Idx, [INFO] [stdout] 1131 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has a `#[must_use]` attribute with no message, but returns a type already marked as `#[must_use]` [INFO] [stdout] --> src/sssort.rs:1348:5 [INFO] [stdout] | [INFO] [stdout] 1348 | fn pop(&mut self, a: &mut SAPtr, b: &mut SAPtr, c: &mut SAPtr, d: &mut Idx) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: either add some descriptive message or remove the attribute [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_must_use [INFO] [stdout] = note: `#[warn(clippy::double_must_use)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1433:16 [INFO] [stdout] | [INFO] [stdout] 1433 | if !stack [INFO] [stdout] | ________________^ [INFO] [stdout] 1434 | | .pop(&mut first, &mut middle, &mut last, &mut check) [INFO] [stdout] 1435 | | .is_ok() [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1433 ~ if stack [INFO] [stdout] 1434 + .pop(&mut first, &mut middle, &mut last, &mut check).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1452:16 [INFO] [stdout] | [INFO] [stdout] 1452 | if !stack [INFO] [stdout] | ________________^ [INFO] [stdout] 1453 | | .pop(&mut first, &mut middle, &mut last, &mut check) [INFO] [stdout] 1454 | | .is_ok() [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1452 ~ if stack [INFO] [stdout] 1453 + .pop(&mut first, &mut middle, &mut last, &mut check).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1553:16 [INFO] [stdout] | [INFO] [stdout] 1553 | if !stack [INFO] [stdout] | ________________^ [INFO] [stdout] 1554 | | .pop(&mut first, &mut middle, &mut last, &mut check) [INFO] [stdout] 1555 | | .is_ok() [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1553 ~ if stack [INFO] [stdout] 1554 + .pop(&mut first, &mut middle, &mut last, &mut check).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/sssort.rs:1363:1 [INFO] [stdout] | [INFO] [stdout] 1363 | / pub fn ss_swapmerge( [INFO] [stdout] 1364 | | T: &Text, [INFO] [stdout] 1365 | | SA: &mut SuffixArray, [INFO] [stdout] 1366 | | PA: SAPtr, [INFO] [stdout] ... | [INFO] [stdout] 1372 | | depth: Idx, [INFO] [stdout] 1373 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/common.rs:12:34 [INFO] [stdout] | [INFO] [stdout] 12 | pub const ALPHABET_SIZE: usize = u8::max_value() as usize + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 12 - pub const ALPHABET_SIZE: usize = u8::max_value() as usize + 1; [INFO] [stdout] 12 + pub const ALPHABET_SIZE: usize = u8::MAX as usize + 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has a `#[must_use]` attribute with no message, but returns a type already marked as `#[must_use]` [INFO] [stdout] --> src/sssort.rs:1610:5 [INFO] [stdout] | [INFO] [stdout] 1610 | fn pop(&mut self, a: &mut SAPtr, b: &mut SAPtr, c: &mut Idx, d: &mut Idx) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: either add some descriptive message or remove the attribute [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_must_use [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/sssort.rs:1631:1 [INFO] [stdout] | [INFO] [stdout] 1631 | / pub fn sssort( [INFO] [stdout] 1632 | | T: &Text, [INFO] [stdout] 1633 | | SA: &mut SuffixArray, [INFO] [stdout] 1634 | | PA: SAPtr, [INFO] [stdout] ... | [INFO] [stdout] 1641 | | lastsuffix: bool, [INFO] [stdout] 1642 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/trsort.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | 0 + lg_table[((n >> 0) & 0xff) as usize] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `lg_table[((n >> 0) & 0xff) as usize]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> src/common.rs:202:1 [INFO] [stdout] | [INFO] [stdout] 202 | impl Into for SAPtr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 202 ~ impl From for Idx { [INFO] [stdout] 203 | #[inline(always)] [INFO] [stdout] 204 ~ fn from(val: SAPtr) -> Self { [INFO] [stdout] 205 ~ val.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/trsort.rs:34:27 [INFO] [stdout] | [INFO] [stdout] 34 | 0 + lg_table[((n >> 0) & 0xff) as usize] [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/divsufsort.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 10 | T.len() < i32::max_value() as usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 10 - T.len() < i32::max_value() as usize, [INFO] [stdout] 10 + T.len() < i32::MAX as usize, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/divsufsort.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | i32::max_value() - 1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 12 - i32::max_value() - 1 [INFO] [stdout] 12 + i32::MAX - 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:79:16 [INFO] [stdout] | [INFO] [stdout] 79 | if !(0 <= i) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(0 > i)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:84:16 [INFO] [stdout] | [INFO] [stdout] 84 | if !(c0 >= c1) { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(c0 < c1)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:104:20 [INFO] [stdout] | [INFO] [stdout] 104 | if !(0 <= i) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(0 > i)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:108:20 [INFO] [stdout] | [INFO] [stdout] 108 | if !(c0 <= c1) { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(c0 > c1)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:233:20 [INFO] [stdout] | [INFO] [stdout] 233 | if !(SA[i] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[i] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:261:24 [INFO] [stdout] | [INFO] [stdout] 261 | if !(0 <= i) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(0 > i)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:265:24 [INFO] [stdout] | [INFO] [stdout] 265 | if !(c0 >= c1) { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(c0 < c1)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:285:28 [INFO] [stdout] | [INFO] [stdout] 285 | if !(0 <= i) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(0 > i)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/divsufsort.rs:289:28 [INFO] [stdout] | [INFO] [stdout] 289 | if !(c0 <= c1) { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(c0 > c1)` [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: this function has a `#[must_use]` attribute with no message, but returns a type already marked as `#[must_use]` [INFO] [stdout] --> src/trsort.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | / fn pop( [INFO] [stdout] 156 | | &mut self, [INFO] [stdout] 157 | | a: &mut SAPtr, [INFO] [stdout] 158 | | b: &mut SAPtr, [INFO] [stdout] ... | [INFO] [stdout] 161 | | e: &mut Idx, [INFO] [stdout] 162 | | ) -> Result<(), ()> { [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: either add some descriptive message or remove the attribute [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_must_use [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:201:16 [INFO] [stdout] | [INFO] [stdout] 201 | if !(0 > r) { [INFO] [stdout] | ^^^^^^^^ help: try: `(0 <= r)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 260 | if !(j < size) { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(j >= size)` [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: unneeded `return` statement [INFO] [stdout] --> src/trsort.rs:452:9 [INFO] [stdout] | [INFO] [stdout] 452 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 452 - return true; [INFO] [stdout] 452 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:495:12 [INFO] [stdout] | [INFO] [stdout] 495 | if !(x == v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x != v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:508:16 [INFO] [stdout] | [INFO] [stdout] 508 | if !(x <= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x > v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:528:12 [INFO] [stdout] | [INFO] [stdout] 528 | if !(x == v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x != v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:541:16 [INFO] [stdout] | [INFO] [stdout] 541 | if !(x >= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x < v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:561:16 [INFO] [stdout] | [INFO] [stdout] 561 | if !(x <= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x > v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:577:16 [INFO] [stdout] | [INFO] [stdout] 577 | if !(x >= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x < v)` [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: this function has too many arguments (8/7) [INFO] [stdout] --> src/trsort.rs:460:1 [INFO] [stdout] | [INFO] [stdout] 460 | / pub fn tr_partition( [INFO] [stdout] 461 | | SA: &mut SuffixArray, [INFO] [stdout] 462 | | ISAd: SAPtr, [INFO] [stdout] 463 | | mut first: SAPtr, [INFO] [stdout] ... | [INFO] [stdout] 468 | | v: Idx, [INFO] [stdout] 469 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:491:12 [INFO] [stdout] | [INFO] [stdout] 491 | if !(b < last) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:504:16 [INFO] [stdout] | [INFO] [stdout] 504 | if !(b < last) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:524:12 [INFO] [stdout] | [INFO] [stdout] 524 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:537:16 [INFO] [stdout] | [INFO] [stdout] 537 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/sssort.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 28 | 0 + lg_table[((n >> 0) & 0xff) as usize] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `lg_table[((n >> 0) & 0xff) as usize]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/sssort.rs:28:23 [INFO] [stdout] | [INFO] [stdout] 28 | 0 + lg_table[((n >> 0) & 0xff) as usize] [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:557:16 [INFO] [stdout] | [INFO] [stdout] 557 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:573:16 [INFO] [stdout] | [INFO] [stdout] 573 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/sssort.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | let e: Idx; [INFO] [stdout] | ^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 65 | / e = if (x & 0xffff_0000) > 0 { [INFO] [stdout] 66 | | if (x & 0xff00_0000) > 0 { [INFO] [stdout] 67 | | 24 + lg_table[((x >> 24) & 0xff) as usize] [INFO] [stdout] 68 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 77 | | }; [INFO] [stdout] | |_____^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `e` here [INFO] [stdout] | [INFO] [stdout] 59 ~ [INFO] [stdout] 60 | [INFO] [stdout] ... [INFO] [stdout] 64 | [INFO] [stdout] 65 ~ let e: Idx = if (x & 0xffff_0000) > 0 { [INFO] [stdout] 66 + if (x & 0xff00_0000) > 0 { [INFO] [stdout] 67 + 24 + lg_table[((x >> 24) & 0xff) as usize] [INFO] [stdout] 68 + } else { [INFO] [stdout] 69 + 16 + lg_table[((x >> 16) & 0xff) as usize] [INFO] [stdout] 70 + } [INFO] [stdout] 71 + } else { [INFO] [stdout] 72 + if (x & 0x0000_ff00) > 0 { [INFO] [stdout] 73 + 8 + lg_table[(((x >> 8) & 0xff) as usize)] [INFO] [stdout] 74 + } else { [INFO] [stdout] 75 + 0 + lg_table[(((x >> 0) & 0xff) as usize)] [INFO] [stdout] 76 + } [INFO] [stdout] 77 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/sssort.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | 0 + lg_table[(((x >> 0) & 0xff) as usize)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `lg_table[(((x >> 0) & 0xff) as usize)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/sssort.rs:75:28 [INFO] [stdout] | [INFO] [stdout] 75 | 0 + lg_table[(((x >> 0) & 0xff) as usize)] [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/sssort.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 120 | / let res = if U1 < U1n { [INFO] [stdout] 121 | | if U2 < U2n { [INFO] [stdout] 122 | | T.get(U1) - T.get(U2) [INFO] [stdout] 123 | | } else { [INFO] [stdout] ... | [INFO] [stdout] 132 | | }; [INFO] [stdout] | |______- unnecessary `let` binding [INFO] [stdout] 133 | res [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 120 ~ [INFO] [stdout] 121 ~ if U1 < U1n { [INFO] [stdout] 122 + if U2 < U2n { [INFO] [stdout] 123 + T.get(U1) - T.get(U2) [INFO] [stdout] 124 + } else { [INFO] [stdout] 125 + 1 [INFO] [stdout] 126 + } [INFO] [stdout] 127 + } else { [INFO] [stdout] 128 + if U2 < U2n { [INFO] [stdout] 129 + -1 [INFO] [stdout] 130 + } else { [INFO] [stdout] 131 + 0 [INFO] [stdout] 132 + } [INFO] [stdout] 133 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:889:28 [INFO] [stdout] | [INFO] [stdout] 889 | if !stack [INFO] [stdout] | ____________________________^ [INFO] [stdout] 890 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 891 | | .is_ok() [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 889 ~ if stack [INFO] [stdout] 890 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:918:28 [INFO] [stdout] | [INFO] [stdout] 918 | if !stack [INFO] [stdout] | ____________________________^ [INFO] [stdout] 919 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 920 | | .is_ok() [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 918 ~ if stack [INFO] [stdout] 919 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:942:20 [INFO] [stdout] | [INFO] [stdout] 942 | if !stack [INFO] [stdout] | ____________________^ [INFO] [stdout] 943 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 944 | | .is_ok() [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 942 ~ if stack [INFO] [stdout] 943 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:162:16 [INFO] [stdout] | [INFO] [stdout] 162 | if !(0 < r) { [INFO] [stdout] | ^^^^^^^^ help: try: `(0 >= r)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:237:12 [INFO] [stdout] | [INFO] [stdout] 237 | if !(j < size) { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(j >= size)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:979:28 [INFO] [stdout] | [INFO] [stdout] 979 | if !(SA[a] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[a] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:1044:32 [INFO] [stdout] | [INFO] [stdout] 1044 | ... if !stack [INFO] [stdout] | __________________________^ [INFO] [stdout] 1045 | | ... .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 1046 | | ... .is_ok() [INFO] [stdout] | |__________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1044 ~ if stack [INFO] [stdout] 1045 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:1063:24 [INFO] [stdout] | [INFO] [stdout] 1063 | if !stack [INFO] [stdout] | ________________________^ [INFO] [stdout] 1064 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 1065 | | .is_ok() [INFO] [stdout] | |________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1063 ~ if stack [INFO] [stdout] 1064 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:1287:28 [INFO] [stdout] | [INFO] [stdout] 1287 | if !stack [INFO] [stdout] | ____________________________^ [INFO] [stdout] 1288 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 1289 | | .is_ok() [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1287 ~ if stack [INFO] [stdout] 1288 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:1306:28 [INFO] [stdout] | [INFO] [stdout] 1306 | if !stack [INFO] [stdout] | ____________________________^ [INFO] [stdout] 1307 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 1308 | | .is_ok() [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1306 ~ if stack [INFO] [stdout] 1307 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:1328:20 [INFO] [stdout] | [INFO] [stdout] 1328 | if !stack [INFO] [stdout] | ____________________^ [INFO] [stdout] 1329 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 1330 | | .is_ok() [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1328 ~ if stack [INFO] [stdout] 1329 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/sssort.rs:358:1 [INFO] [stdout] | [INFO] [stdout] 358 | / pub fn ss_median5( [INFO] [stdout] 359 | | T: &Text, [INFO] [stdout] 360 | | Td: Idx, [INFO] [stdout] 361 | | SA: &SuffixArray, [INFO] [stdout] ... | [INFO] [stdout] 367 | | mut v5: SAPtr, [INFO] [stdout] 368 | | ) -> SAPtr { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:474:16 [INFO] [stdout] | [INFO] [stdout] 474 | if !((PA!(a!()) + depth) >= (PA!(a!() + 1) + 1)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((PA!(a!()) + depth) < (PA!(a!() + 1) + 1))` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:488:16 [INFO] [stdout] | [INFO] [stdout] 488 | if !((PA!(b!()) + depth) < (PA!(b!() + 1) + 1)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `((PA!(b!()) + depth) >= (PA!(b!() + 1) + 1))` [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 use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:471:16 [INFO] [stdout] | [INFO] [stdout] 471 | if !(a < b) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] = note: `#[warn(clippy::neg_cmp_op_on_partial_ord)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:485:16 [INFO] [stdout] | [INFO] [stdout] 485 | if !(a < b) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:548:16 [INFO] [stdout] | [INFO] [stdout] 548 | if !stack [INFO] [stdout] | ________________^ [INFO] [stdout] 549 | | .pop(&mut first, &mut last, &mut depth, &mut limit) [INFO] [stdout] 550 | | .is_ok() [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 548 ~ if stack [INFO] [stdout] 549 + .pop(&mut first, &mut last, &mut depth, &mut limit).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:637:16 [INFO] [stdout] | [INFO] [stdout] 637 | if !(x == v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x != v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:651:20 [INFO] [stdout] | [INFO] [stdout] 651 | if !(x <= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x > v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:670:16 [INFO] [stdout] | [INFO] [stdout] 670 | if !(x == v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x != v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:684:20 [INFO] [stdout] | [INFO] [stdout] 684 | if !(x >= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x < v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:705:20 [INFO] [stdout] | [INFO] [stdout] 705 | if !(x <= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x > v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:721:20 [INFO] [stdout] | [INFO] [stdout] 721 | if !(x >= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x < v)` [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 use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:633:16 [INFO] [stdout] | [INFO] [stdout] 633 | if !(b < last) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:647:20 [INFO] [stdout] | [INFO] [stdout] 647 | if !(b < last) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:666:16 [INFO] [stdout] | [INFO] [stdout] 666 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:680:20 [INFO] [stdout] | [INFO] [stdout] 680 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:701:20 [INFO] [stdout] | [INFO] [stdout] 701 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:1396:16 [INFO] [stdout] | [INFO] [stdout] 1396 | if !(first < n) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/sssort.rs:717:20 [INFO] [stdout] | [INFO] [stdout] 717 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this item has comments with 4 forward slashes (`////`). These look like doc comments, but they aren't [INFO] [stdout] --> src/lib.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | / //// Sort suffixes [INFO] [stdout] 25 | | pub fn sort(text: &[u8]) -> sacabase::SuffixArray { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#four_forward_slashes [INFO] [stdout] = note: `#[warn(clippy::four_forward_slashes)]` on by default [INFO] [stdout] help: make this a doc comment by removing one `/` [INFO] [stdout] | [INFO] [stdout] 24 - //// Sort suffixes [INFO] [stdout] 25 - pub fn sort(text: &[u8]) -> sacabase::SuffixArray { [INFO] [stdout] 24 + /// Sort suffixes [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> src/sssort.rs:770:17 [INFO] [stdout] | [INFO] [stdout] 769 | let res = ss_partition(SA, PA, a, c, depth); [INFO] [stdout] | -------------------------------------------- unnecessary `let` binding [INFO] [stdout] 770 | res [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 769 ~ [INFO] [stdout] 770 ~ ss_partition(SA, PA, a, c, depth) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn sort(text: &[u8]) -> sacabase::SuffixArray { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 25 | pub fn sort(text: &[u8]) -> sacabase::SuffixArray<'_, Idx> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1045:20 [INFO] [stdout] | [INFO] [stdout] 1045 | if !(SA[b] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[b] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1070:20 [INFO] [stdout] | [INFO] [stdout] 1070 | if !(SA[c] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[c] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1088:20 [INFO] [stdout] | [INFO] [stdout] 1088 | if !(SA[b] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[b] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1113:20 [INFO] [stdout] | [INFO] [stdout] 1113 | if !(SA[c] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[c] >= 0)` [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: this function has too many arguments (8/7) [INFO] [stdout] --> src/sssort.rs:1003:1 [INFO] [stdout] | [INFO] [stdout] 1003 | / pub fn ss_mergeforward( [INFO] [stdout] 1004 | | T: &Text, [INFO] [stdout] 1005 | | SA: &mut SuffixArray, [INFO] [stdout] 1006 | | PA: SAPtr, [INFO] [stdout] ... | [INFO] [stdout] 1011 | | depth: Idx, [INFO] [stdout] 1012 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1176:24 [INFO] [stdout] | [INFO] [stdout] 1176 | if !(SA[b] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[b] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1242:24 [INFO] [stdout] | [INFO] [stdout] 1242 | if !(SA[b] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[b] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1265:24 [INFO] [stdout] | [INFO] [stdout] 1265 | if !(SA[c] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[c] >= 0)` [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: this function has too many arguments (8/7) [INFO] [stdout] --> src/sssort.rs:1122:1 [INFO] [stdout] | [INFO] [stdout] 1122 | / pub fn ss_mergebackward( [INFO] [stdout] 1123 | | T: &Text, [INFO] [stdout] 1124 | | SA: &mut SuffixArray, [INFO] [stdout] 1125 | | PA: SAPtr, [INFO] [stdout] ... | [INFO] [stdout] 1130 | | depth: Idx, [INFO] [stdout] 1131 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has a `#[must_use]` attribute with no message, but returns a type already marked as `#[must_use]` [INFO] [stdout] --> src/sssort.rs:1348:5 [INFO] [stdout] | [INFO] [stdout] 1348 | fn pop(&mut self, a: &mut SAPtr, b: &mut SAPtr, c: &mut SAPtr, d: &mut Idx) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: either add some descriptive message or remove the attribute [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_must_use [INFO] [stdout] = note: `#[warn(clippy::double_must_use)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1433:16 [INFO] [stdout] | [INFO] [stdout] 1433 | if !stack [INFO] [stdout] | ________________^ [INFO] [stdout] 1434 | | .pop(&mut first, &mut middle, &mut last, &mut check) [INFO] [stdout] 1435 | | .is_ok() [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1433 ~ if stack [INFO] [stdout] 1434 + .pop(&mut first, &mut middle, &mut last, &mut check).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1452:16 [INFO] [stdout] | [INFO] [stdout] 1452 | if !stack [INFO] [stdout] | ________________^ [INFO] [stdout] 1453 | | .pop(&mut first, &mut middle, &mut last, &mut check) [INFO] [stdout] 1454 | | .is_ok() [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1452 ~ if stack [INFO] [stdout] 1453 + .pop(&mut first, &mut middle, &mut last, &mut check).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/sssort.rs:1553:16 [INFO] [stdout] | [INFO] [stdout] 1553 | if !stack [INFO] [stdout] | ________________^ [INFO] [stdout] 1554 | | .pop(&mut first, &mut middle, &mut last, &mut check) [INFO] [stdout] 1555 | | .is_ok() [INFO] [stdout] | |________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1553 ~ if stack [INFO] [stdout] 1554 + .pop(&mut first, &mut middle, &mut last, &mut check).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/sssort.rs:1363:1 [INFO] [stdout] | [INFO] [stdout] 1363 | / pub fn ss_swapmerge( [INFO] [stdout] 1364 | | T: &Text, [INFO] [stdout] 1365 | | SA: &mut SuffixArray, [INFO] [stdout] 1366 | | PA: SAPtr, [INFO] [stdout] ... | [INFO] [stdout] 1372 | | depth: Idx, [INFO] [stdout] 1373 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has a `#[must_use]` attribute with no message, but returns a type already marked as `#[must_use]` [INFO] [stdout] --> src/sssort.rs:1610:5 [INFO] [stdout] | [INFO] [stdout] 1610 | fn pop(&mut self, a: &mut SAPtr, b: &mut SAPtr, c: &mut Idx, d: &mut Idx) -> Result<(), ()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: either add some descriptive message or remove the attribute [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_must_use [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/sssort.rs:1631:1 [INFO] [stdout] | [INFO] [stdout] 1631 | / pub fn sssort( [INFO] [stdout] 1632 | | T: &Text, [INFO] [stdout] 1633 | | SA: &mut SuffixArray, [INFO] [stdout] 1634 | | PA: SAPtr, [INFO] [stdout] ... | [INFO] [stdout] 1641 | | lastsuffix: bool, [INFO] [stdout] 1642 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/trsort.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | 0 + lg_table[((n >> 0) & 0xff) as usize] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `lg_table[((n >> 0) & 0xff) as usize]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/trsort.rs:34:27 [INFO] [stdout] | [INFO] [stdout] 34 | 0 + lg_table[((n >> 0) & 0xff) as usize] [INFO] [stdout] | ^^^^^^^^ help: consider reducing it to: `n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has a `#[must_use]` attribute with no message, but returns a type already marked as `#[must_use]` [INFO] [stdout] --> src/trsort.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | / fn pop( [INFO] [stdout] 156 | | &mut self, [INFO] [stdout] 157 | | a: &mut SAPtr, [INFO] [stdout] 158 | | b: &mut SAPtr, [INFO] [stdout] ... | [INFO] [stdout] 161 | | e: &mut Idx, [INFO] [stdout] 162 | | ) -> Result<(), ()> { [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: either add some descriptive message or remove the attribute [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_must_use [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:201:16 [INFO] [stdout] | [INFO] [stdout] 201 | if !(0 > r) { [INFO] [stdout] | ^^^^^^^^ help: try: `(0 <= r)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 260 | if !(j < size) { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `(j >= size)` [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: unneeded `return` statement [INFO] [stdout] --> src/trsort.rs:452:9 [INFO] [stdout] | [INFO] [stdout] 452 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 452 - return true; [INFO] [stdout] 452 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:495:12 [INFO] [stdout] | [INFO] [stdout] 495 | if !(x == v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x != v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:508:16 [INFO] [stdout] | [INFO] [stdout] 508 | if !(x <= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x > v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:528:12 [INFO] [stdout] | [INFO] [stdout] 528 | if !(x == v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x != v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:541:16 [INFO] [stdout] | [INFO] [stdout] 541 | if !(x >= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x < v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:561:16 [INFO] [stdout] | [INFO] [stdout] 561 | if !(x <= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x > v)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:577:16 [INFO] [stdout] | [INFO] [stdout] 577 | if !(x >= v) { [INFO] [stdout] | ^^^^^^^^^ help: try: `(x < v)` [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: this function has too many arguments (8/7) [INFO] [stdout] --> src/trsort.rs:460:1 [INFO] [stdout] | [INFO] [stdout] 460 | / pub fn tr_partition( [INFO] [stdout] 461 | | SA: &mut SuffixArray, [INFO] [stdout] 462 | | ISAd: SAPtr, [INFO] [stdout] 463 | | mut first: SAPtr, [INFO] [stdout] ... | [INFO] [stdout] 468 | | v: Idx, [INFO] [stdout] 469 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:491:12 [INFO] [stdout] | [INFO] [stdout] 491 | if !(b < last) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:504:16 [INFO] [stdout] | [INFO] [stdout] 504 | if !(b < last) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:524:12 [INFO] [stdout] | [INFO] [stdout] 524 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:537:16 [INFO] [stdout] | [INFO] [stdout] 537 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:557:16 [INFO] [stdout] | [INFO] [stdout] 557 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:573:16 [INFO] [stdout] | [INFO] [stdout] 573 | if !(b < c) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:889:28 [INFO] [stdout] | [INFO] [stdout] 889 | if !stack [INFO] [stdout] | ____________________________^ [INFO] [stdout] 890 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 891 | | .is_ok() [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 889 ~ if stack [INFO] [stdout] 890 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:918:28 [INFO] [stdout] | [INFO] [stdout] 918 | if !stack [INFO] [stdout] | ____________________________^ [INFO] [stdout] 919 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 920 | | .is_ok() [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 918 ~ if stack [INFO] [stdout] 919 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:942:20 [INFO] [stdout] | [INFO] [stdout] 942 | if !stack [INFO] [stdout] | ____________________^ [INFO] [stdout] 943 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 944 | | .is_ok() [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 942 ~ if stack [INFO] [stdout] 943 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:979:28 [INFO] [stdout] | [INFO] [stdout] 979 | if !(SA[a] < 0) { [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `(SA[a] >= 0)` [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: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:1044:32 [INFO] [stdout] | [INFO] [stdout] 1044 | ... if !stack [INFO] [stdout] | __________________________^ [INFO] [stdout] 1045 | | ... .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 1046 | | ... .is_ok() [INFO] [stdout] | |__________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1044 ~ if stack [INFO] [stdout] 1045 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:1063:24 [INFO] [stdout] | [INFO] [stdout] 1063 | if !stack [INFO] [stdout] | ________________________^ [INFO] [stdout] 1064 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 1065 | | .is_ok() [INFO] [stdout] | |________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1063 ~ if stack [INFO] [stdout] 1064 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:1287:28 [INFO] [stdout] | [INFO] [stdout] 1287 | if !stack [INFO] [stdout] | ____________________________^ [INFO] [stdout] 1288 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 1289 | | .is_ok() [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1287 ~ if stack [INFO] [stdout] 1288 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:1306:28 [INFO] [stdout] | [INFO] [stdout] 1306 | if !stack [INFO] [stdout] | ____________________________^ [INFO] [stdout] 1307 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 1308 | | .is_ok() [INFO] [stdout] | |____________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1306 ~ if stack [INFO] [stdout] 1307 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/trsort.rs:1328:20 [INFO] [stdout] | [INFO] [stdout] 1328 | if !stack [INFO] [stdout] | ____________________^ [INFO] [stdout] 1329 | | .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink) [INFO] [stdout] 1330 | | .is_ok() [INFO] [stdout] | |____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1328 ~ if stack [INFO] [stdout] 1329 + .pop(&mut ISAd, &mut first, &mut last, &mut limit, &mut trlink).is_err() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the use of negated comparison operators on partially ordered types produces code that is hard to read and refactor, please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable [INFO] [stdout] --> src/trsort.rs:1396:16 [INFO] [stdout] | [INFO] [stdout] 1396 | if !(first < n) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this item has comments with 4 forward slashes (`////`). These look like doc comments, but they aren't [INFO] [stdout] --> src/lib.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | / //// Sort suffixes [INFO] [stdout] 25 | | pub fn sort(text: &[u8]) -> sacabase::SuffixArray { [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#four_forward_slashes [INFO] [stdout] = note: `#[warn(clippy::four_forward_slashes)]` on by default [INFO] [stdout] help: make this a doc comment by removing one `/` [INFO] [stdout] | [INFO] [stdout] 24 - //// Sort suffixes [INFO] [stdout] 25 - pub fn sort(text: &[u8]) -> sacabase::SuffixArray { [INFO] [stdout] 24 + /// Sort suffixes [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn sort(text: &[u8]) -> sacabase::SuffixArray { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 25 | pub fn sort(text: &[u8]) -> sacabase::SuffixArray<'_, Idx> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.93s [INFO] running `Command { std: "docker" "inspect" "8e5a46a4ae95b3b1294e2f8c8cfba484382d6e028bf7b81ef6bb07d81cb9b6f9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8e5a46a4ae95b3b1294e2f8c8cfba484382d6e028bf7b81ef6bb07d81cb9b6f9", kill_on_drop: false }` [INFO] [stdout] 8e5a46a4ae95b3b1294e2f8c8cfba484382d6e028bf7b81ef6bb07d81cb9b6f9