[INFO] fetching crate tab-websocket 0.5.0... [INFO] linting tab-websocket-0.5.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate tab-websocket 0.5.0 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate tab-websocket 0.5.0 [INFO] finished tweaking crates.io crate tab-websocket 0.5.0 [INFO] tweaked toml for crates.io crate tab-websocket 0.5.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate tab-websocket 0.5.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 120 packages to latest compatible versions [INFO] [stderr] Adding async-tungstenite v0.8.0 (available: v0.33.0) [INFO] [stderr] Adding bincode v1.3.3 (available: v3.0.0) [INFO] [stderr] Adding lifeline v0.4.0 (available: v0.6.1) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.18) [INFO] [stderr] Adding tokio v0.2.25 (available: v1.50.0) [INFO] [stderr] Adding tokio-test v0.2.1 (available: v0.4.5) [INFO] [stderr] Adding tungstenite v0.11.1 (available: v0.29.0) [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 arc-swap v0.4.8 [INFO] [stderr] Downloaded input_buffer v0.3.1 [INFO] [stderr] Downloaded lifeline v0.4.0 [INFO] [stderr] Downloaded async-tungstenite v0.8.0 [INFO] [stderr] Downloaded pin-project-internal v0.4.30 [INFO] [stderr] Downloaded tokio-test v0.2.1 [INFO] [stderr] Downloaded pin-project v0.4.30 [INFO] [stderr] Downloaded tungstenite v0.11.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 064823b04b1ae822075a8cd1c213f8bf1c5e9382b27e90346bb04856ce5fb21e [INFO] running `Command { std: "docker" "start" "-a" "064823b04b1ae822075a8cd1c213f8bf1c5e9382b27e90346bb04856ce5fb21e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "064823b04b1ae822075a8cd1c213f8bf1c5e9382b27e90346bb04856ce5fb21e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "064823b04b1ae822075a8cd1c213f8bf1c5e9382b27e90346bb04856ce5fb21e", kill_on_drop: false }` [INFO] [stdout] 064823b04b1ae822075a8cd1c213f8bf1c5e9382b27e90346bb04856ce5fb21e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 749b21422663407f0ecdd562d7284c840555f6fc56df129a3b124535aa6b0f63 [INFO] running `Command { std: "docker" "start" "-a" "749b21422663407f0ecdd562d7284c840555f6fc56df129a3b124535aa6b0f63", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.39 [INFO] [stderr] Compiling generic-array v0.14.9 [INFO] [stderr] Checking futures-channel v0.3.32 [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling pin-project-internal v0.4.30 [INFO] [stderr] Checking percent-encoding v2.3.2 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking input_buffer v0.3.1 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking owned-alloc v0.2.0 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking arc-swap v0.4.8 [INFO] [stderr] Checking lockfree v0.5.1 [INFO] [stderr] Checking form_urlencoded v1.2.2 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking sha-1 v0.9.8 [INFO] [stderr] Checking mio-uds v0.6.8 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Checking tungstenite v0.11.1 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Compiling tokio-macros v0.2.6 [INFO] [stderr] Checking tokio v0.2.25 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Checking pin-project v0.4.30 [INFO] [stderr] Checking lifeline v0.4.0 [INFO] [stderr] Checking async-tungstenite v0.8.0 [INFO] [stderr] Checking tokio-test v0.2.1 [INFO] [stderr] Checking tab-websocket v0.5.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/auth.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | if !request.headers().get("authorization").is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `request.headers().get("authorization").is_none()` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bus/connection_carrier.rs:49:50 [INFO] [stdout] | [INFO] [stdout] 49 | let _websocket = WebsocketService::spawn(&self)?; [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | return; [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] 10 - Error::ConnectionClosed | Error::AlreadyClosed | Error::Protocol(_) => { [INFO] [stdout] 11 - return; [INFO] [stdout] 10 + Error::ConnectionClosed | Error::AlreadyClosed | Error::Protocol(_) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let .. else` expression looks like `matches!` macro [INFO] [stdout] --> src/common.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | / if let Message::Close(_) = message { [INFO] [stdout] 23 | | true [INFO] [stdout] 24 | | } else { [INFO] [stdout] 25 | | false [INFO] [stdout] 26 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 22 - if let Message::Close(_) = message { [INFO] [stdout] 23 - true [INFO] [stdout] 24 - } else { [INFO] [stdout] 25 - false [INFO] [stdout] 26 - } [INFO] [stdout] 22 + matches!(message, Message::Close(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/service/connection.rs:96:20 [INFO] [stdout] | [INFO] [stdout] 96 | if !message.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `message.is_none()` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/service/connection.rs:67:24 [INFO] [stdout] | [INFO] [stdout] 67 | if let None = message { [INFO] [stdout] | -------^^^^---------- help: try: `if message.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/auth.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 68 | if !request.headers().get("authorization").is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `request.headers().get("authorization").is_none()` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/bus/connection_carrier.rs:49:50 [INFO] [stdout] | [INFO] [stdout] 49 | let _websocket = WebsocketService::spawn(&self)?; [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/common.rs:11:17 [INFO] [stdout] | [INFO] [stdout] 11 | return; [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] 10 - Error::ConnectionClosed | Error::AlreadyClosed | Error::Protocol(_) => { [INFO] [stdout] 11 - return; [INFO] [stdout] 10 + Error::ConnectionClosed | Error::AlreadyClosed | Error::Protocol(_) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let .. else` expression looks like `matches!` macro [INFO] [stdout] --> src/common.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | / if let Message::Close(_) = message { [INFO] [stdout] 23 | | true [INFO] [stdout] 24 | | } else { [INFO] [stdout] 25 | | false [INFO] [stdout] 26 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 22 - if let Message::Close(_) = message { [INFO] [stdout] 23 - true [INFO] [stdout] 24 - } else { [INFO] [stdout] 25 - false [INFO] [stdout] 26 - } [INFO] [stdout] 22 + matches!(message, Message::Close(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/service/connection.rs:96:20 [INFO] [stdout] | [INFO] [stdout] 96 | if !message.is_some() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `message.is_none()` [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: redundant pattern matching, consider using `is_none()` [INFO] [stdout] --> src/service/connection.rs:67:24 [INFO] [stdout] | [INFO] [stdout] 67 | if let None = message { [INFO] [stdout] | -------^^^^---------- help: try: `if message.is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.09s [INFO] running `Command { std: "docker" "inspect" "749b21422663407f0ecdd562d7284c840555f6fc56df129a3b124535aa6b0f63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "749b21422663407f0ecdd562d7284c840555f6fc56df129a3b124535aa6b0f63", kill_on_drop: false }` [INFO] [stdout] 749b21422663407f0ecdd562d7284c840555f6fc56df129a3b124535aa6b0f63