[INFO] fetching crate bt_string_utils 0.2.13...
[INFO] linting bt_string_utils-0.2.13 against nightly for clippy-nonminimal_bool-denied
[INFO] extracting crate bt_string_utils 0.2.13 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate bt_string_utils 0.2.13
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate bt_string_utils 0.2.13
[INFO] tweaked toml for crates.io crate bt_string_utils 0.2.13 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate bt_string_utils 0.2.13 on toolchain nightly
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate bt_string_utils 0.2.13 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 412e39c9619cc0ae826b5aa9b1d0f33c16526220700d13496bdb483a9c397c7e
[INFO] running `Command { std: "docker" "start" "-a" "412e39c9619cc0ae826b5aa9b1d0f33c16526220700d13496bdb483a9c397c7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "412e39c9619cc0ae826b5aa9b1d0f33c16526220700d13496bdb483a9c397c7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "412e39c9619cc0ae826b5aa9b1d0f33c16526220700d13496bdb483a9c397c7e", kill_on_drop: false }`
[INFO] [stdout] 412e39c9619cc0ae826b5aa9b1d0f33c16526220700d13496bdb483a9c397c7e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] d54218919ae02656427079ed051e77ecdc2ab1524fc2c62016d144b271bc02de
[INFO] running `Command { std: "docker" "start" "-a" "d54218919ae02656427079ed051e77ecdc2ab1524fc2c62016d144b271bc02de", kill_on_drop: false }`
[INFO] [stderr] Compiling libc v0.2.172
[INFO] [stderr] Checking rand_core v0.10.0
[INFO] [stderr] Compiling getrandom v0.4.1
[INFO] [stderr] Checking regex-syntax v0.8.6
[INFO] [stderr] Checking cpufeatures v0.3.0
[INFO] [stderr] Checking chacha20 v0.10.0
[INFO] [stderr] Checking rand v0.10.0
[INFO] [stderr] Checking regex-automata v0.4.13
[INFO] [stderr] Checking regex v1.12.3
[INFO] [stderr] Checking bt_string_utils v0.2.13 (/opt/rustwide/workdir)
[INFO] [stdout] warning: empty line after doc comment
[INFO] [stdout] --> src/lib.rs:73:1
[INFO] [stdout] |
[INFO] [stdout] 73 | / /// ```
[INFO] [stdout] 74 | |
[INFO] [stdout] | |_^
[INFO] [stdout] 75 | pub fn get_first_occurrance(s: &str, separator: &str) -> String{
[INFO] [stdout] | --------------------------- the comment documents this function
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments
[INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default
[INFO] [stdout] = help: if the empty line is unintentional, remove it
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: redundant closure
[INFO] [stdout] --> src/lib2.rs:48:32
[INFO] [stdout] |
[INFO] [stdout] 48 | if trimmed.chars().all(|c| is_cjk(c)) {
[INFO] [stdout] | ^^^^^^^^^^^^^ help: replace the closure with the function itself: `is_cjk`
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
[INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: this boolean expression can be simplified
[INFO] [stdout] --> src/lib2.rs:180:15
[INFO] [stdout] |
[INFO] [stdout] 180 | while !std::str::from_utf8(&bytes[offset..valid_end]).is_ok() {
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::str::from_utf8(&bytes[offset..valid_end]).is_err()`
[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 `if` statement can be collapsed
[INFO] [stdout] --> src/lib.rs:107:9
[INFO] [stdout] |
[INFO] [stdout] 107 | / if let Some((key, value)) = item.split_once('=') {
[INFO] [stdout] 108 | | if key == key_to_find {
[INFO] [stdout] 109 | | return Some(value.to_owned());
[INFO] [stdout] 110 | | }
[INFO] [stdout] 111 | | }
[INFO] [stdout] | |_________^
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if
[INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default
[INFO] [stdout] help: collapse nested if block
[INFO] [stdout] |
[INFO] [stdout] 107 ~ if let Some((key, value)) = item.split_once('=')
[INFO] [stdout] 108 ~ && key == key_to_find {
[INFO] [stdout] 109 | return Some(value.to_owned());
[INFO] [stdout] 110 ~ }
[INFO] [stdout] |
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: empty line after doc comment
[INFO] [stdout] --> src/lib.rs:73:1
[INFO] [stdout] |
[INFO] [stdout] 73 | / /// ```
[INFO] [stdout] 74 | |
[INFO] [stdout] | |_^
[INFO] [stdout] 75 | pub fn get_first_occurrance(s: &str, separator: &str) -> String{
[INFO] [stdout] | --------------------------- the comment documents this function
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#empty_line_after_doc_comments
[INFO] [stdout] = note: `#[warn(clippy::empty_line_after_doc_comments)]` on by default
[INFO] [stdout] = help: if the empty line is unintentional, remove it
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: doc list item overindented
[INFO] [stdout] --> src/lib.rs:297:5
[INFO] [stdout] |
[INFO] [stdout] 297 | /// more substrings than the number of words in `s`.
[INFO] [stdout] | ^^^^^^^^ help: try using ` ` (2 spaces)
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items
[INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: doc list item overindented
[INFO] [stdout] --> src/lib.rs:407:5
[INFO] [stdout] |
[INFO] [stdout] 407 | /// The open tag (e.g. ). ` ... `
[INFO] [stdout] | ^^^ help: try using ` ` (2 spaces)
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: doc list item overindented
[INFO] [stdout] --> src/lib.rs:409:5
[INFO] [stdout] |
[INFO] [stdout] 409 | /// The close tag (e.g. ). ` ... `
[INFO] [stdout] | ^^^ help: try using ` ` (2 spaces)
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: casting the result of `isize::abs()` to usize
[INFO] [stdout] --> src/lib.rs:581:28
[INFO] [stdout] |
[INFO] [stdout] 581 | count.values().map(|v| v.abs() as usize).sum()
[INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace with: `v.unsigned_abs()`
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned
[INFO] [stdout] = note: `#[warn(clippy::cast_abs_to_unsigned)]` on by default
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: redundant closure
[INFO] [stdout] --> src/lib2.rs:48:32
[INFO] [stdout] |
[INFO] [stdout] 48 | if trimmed.chars().all(|c| is_cjk(c)) {
[INFO] [stdout] | ^^^^^^^^^^^^^ help: replace the closure with the function itself: `is_cjk`
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure
[INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: this boolean expression can be simplified
[INFO] [stdout] --> src/lib2.rs:180:15
[INFO] [stdout] |
[INFO] [stdout] 180 | while !std::str::from_utf8(&bytes[offset..valid_end]).is_ok() {
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `std::str::from_utf8(&bytes[offset..valid_end]).is_err()`
[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 `if` statement can be collapsed
[INFO] [stdout] --> src/lib.rs:107:9
[INFO] [stdout] |
[INFO] [stdout] 107 | / if let Some((key, value)) = item.split_once('=') {
[INFO] [stdout] 108 | | if key == key_to_find {
[INFO] [stdout] 109 | | return Some(value.to_owned());
[INFO] [stdout] 110 | | }
[INFO] [stdout] 111 | | }
[INFO] [stdout] | |_________^
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if
[INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default
[INFO] [stdout] help: collapse nested if block
[INFO] [stdout] |
[INFO] [stdout] 107 ~ if let Some((key, value)) = item.split_once('=')
[INFO] [stdout] 108 ~ && key == key_to_find {
[INFO] [stdout] 109 | return Some(value.to_owned());
[INFO] [stdout] 110 ~ }
[INFO] [stdout] |
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: doc list item overindented
[INFO] [stdout] --> src/lib.rs:297:5
[INFO] [stdout] |
[INFO] [stdout] 297 | /// more substrings than the number of words in `s`.
[INFO] [stdout] | ^^^^^^^^ help: try using ` ` (2 spaces)
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items
[INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: doc list item overindented
[INFO] [stdout] --> src/lib.rs:407:5
[INFO] [stdout] |
[INFO] [stdout] 407 | /// The open tag (e.g. ). ` ... `
[INFO] [stdout] | ^^^ help: try using ` ` (2 spaces)
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: doc list item overindented
[INFO] [stdout] --> src/lib.rs:409:5
[INFO] [stdout] |
[INFO] [stdout] 409 | /// The close tag (e.g. ). ` ... `
[INFO] [stdout] | ^^^ help: try using ` ` (2 spaces)
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stdout] warning: casting the result of `isize::abs()` to usize
[INFO] [stdout] --> src/lib.rs:581:28
[INFO] [stdout] |
[INFO] [stdout] 581 | count.values().map(|v| v.abs() as usize).sum()
[INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace with: `v.unsigned_abs()`
[INFO] [stdout] |
[INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned
[INFO] [stdout] = note: `#[warn(clippy::cast_abs_to_unsigned)]` on by default
[INFO] [stdout]
[INFO] [stdout]
[INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.87s
[INFO] running `Command { std: "docker" "inspect" "d54218919ae02656427079ed051e77ecdc2ab1524fc2c62016d144b271bc02de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d54218919ae02656427079ed051e77ecdc2ab1524fc2c62016d144b271bc02de", kill_on_drop: false }`
[INFO] [stdout] d54218919ae02656427079ed051e77ecdc2ab1524fc2c62016d144b271bc02de