[INFO] fetching crate starlight 0.4.0... [INFO] linting starlight-0.4.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate starlight 0.4.0 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate starlight 0.4.0 [INFO] finished tweaking crates.io crate starlight 0.4.0 [INFO] tweaked toml for crates.io crate starlight 0.4.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate starlight 0.4.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 33 packages to latest compatible versions [INFO] [stderr] Adding awint v0.17.0 (available: v0.18.1) [INFO] [stderr] Adding rand v0.8.5 (available: v0.10.0) [INFO] [stderr] Adding rand_xoshiro v0.6.0 (available: v0.8.0) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.18) [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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded triple_arena_render v0.13.0 [INFO] [stderr] Downloaded awint_internals v0.17.0 [INFO] [stderr] Downloaded awint_core v0.17.0 [INFO] [stderr] Downloaded recasting v0.2.1 [INFO] [stderr] Downloaded awint_macros v0.17.0 [INFO] [stderr] Downloaded awint v0.17.0 [INFO] [stderr] Downloaded awint_macro_internals v0.17.0 [INFO] [stderr] Downloaded triple_arena v0.13.0 [INFO] [stderr] Downloaded awint_ext v0.17.0 [INFO] [stderr] Downloaded awint_dag v0.17.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] cf1f263f085ca88379929ab71a2ed964d6aa8faf1f7ec44152fa9ca56477d71c [INFO] running `Command { std: "docker" "start" "-a" "cf1f263f085ca88379929ab71a2ed964d6aa8faf1f7ec44152fa9ca56477d71c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cf1f263f085ca88379929ab71a2ed964d6aa8faf1f7ec44152fa9ca56477d71c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cf1f263f085ca88379929ab71a2ed964d6aa8faf1f7ec44152fa9ca56477d71c", kill_on_drop: false }` [INFO] [stdout] cf1f263f085ca88379929ab71a2ed964d6aa8faf1f7ec44152fa9ca56477d71c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 1542a3126bedc37f09ab0d4df77a4fac937ed0760b438076f27733987f9669a7 [INFO] running `Command { std: "docker" "start" "-a" "1542a3126bedc37f09ab0d4df77a4fac937ed0760b438076f27733987f9669a7", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling recasting v0.2.1 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling awint_internals v0.17.0 [INFO] [stderr] Checking rand_xoshiro v0.6.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling triple_arena v0.13.0 [INFO] [stderr] Compiling awint_core v0.17.0 [INFO] [stderr] Checking awint_ext v0.17.0 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Checking awint_macro_internals v0.17.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling awint_macros v0.17.0 [INFO] [stderr] Checking awint_dag v0.17.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking awint v0.17.0 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking starlight v0.4.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: lint `clippy::thread_local_initializer_can_be_made_const` has been renamed to `clippy::missing_const_for_thread_local` [INFO] [stdout] --> src/lib.rs:174:10 [INFO] [stdout] | [INFO] [stdout] 174 | #![allow(clippy::thread_local_initializer_can_be_made_const)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `clippy::missing_const_for_thread_local` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lint `clippy::thread_local_initializer_can_be_made_const` has been renamed to `clippy::missing_const_for_thread_local` [INFO] [stdout] --> src/lib.rs:174:10 [INFO] [stdout] | [INFO] [stdout] 174 | #![allow(clippy::thread_local_initializer_can_be_made_const)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `clippy::missing_const_for_thread_local` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CostU8` is never constructed [INFO] [stdout] --> src/ensemble/optimize.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct CostU8(pub u8); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CostU8` is never constructed [INFO] [stdout] --> src/ensemble/optimize.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct CostU8(pub u8); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/ensemble/state.rs:160:17 [INFO] [stdout] | [INFO] [stdout] 160 | / if name.is_none() { [INFO] [stdout] 161 | | assert!(v.is_empty()); [INFO] [stdout] 162 | | is_const = true; [INFO] [stdout] 163 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 159 ~ Op::Opaque(ref v, name) [INFO] [stdout] 160 ~ if name.is_none() => { [INFO] [stdout] 161 | assert!(v.is_empty()); [INFO] [stdout] 162 | is_const = true; [INFO] [stdout] 163 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/ensemble/value.rs:220:1 [INFO] [stdout] | [INFO] [stdout] 220 | / impl PartialOrd for Event { [INFO] [stdout] 221 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 222 | | Some(self.partial_ord_num.cmp(&other.partial_ord_num)) [INFO] [stdout] 223 | | } [INFO] [stdout] 224 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 221 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 222 - Some(self.partial_ord_num.cmp(&other.partial_ord_num)) [INFO] [stdout] 223 - } [INFO] [stdout] 221 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/ensemble/state.rs:160:17 [INFO] [stdout] | [INFO] [stdout] 160 | / if name.is_none() { [INFO] [stdout] 161 | | assert!(v.is_empty()); [INFO] [stdout] 162 | | is_const = true; [INFO] [stdout] 163 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 159 ~ Op::Opaque(ref v, name) [INFO] [stdout] 160 ~ if name.is_none() => { [INFO] [stdout] 161 | assert!(v.is_empty()); [INFO] [stdout] 162 | is_const = true; [INFO] [stdout] 163 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/ensemble/value.rs:220:1 [INFO] [stdout] | [INFO] [stdout] 220 | / impl PartialOrd for Event { [INFO] [stdout] 221 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 222 | | Some(self.partial_ord_num.cmp(&other.partial_ord_num)) [INFO] [stdout] 223 | | } [INFO] [stdout] 224 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 221 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 222 - Some(self.partial_ord_num.cmp(&other.partial_ord_num)) [INFO] [stdout] 223 - } [INFO] [stdout] 221 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/route/channel.rs:155:25 [INFO] [stdout] | [INFO] [stdout] 155 | !subnode.p_supernode.is_some_and(|p| p == p_back) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `subnode.p_supernode.is_none_or(|p| p != p_back)` [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: called `unwrap` on `mapping.target_source` after checking its variant with `is_some` [INFO] [stdout] --> src/route/embed.rs:88:41 [INFO] [stdout] | [INFO] [stdout] 77 | if mapping.target_source.is_some() && (!mapping.target_sinks.is_empty()) { [INFO] [stdout] | ------------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 88 | let target_source_p_equiv = mapping.target_source.as_ref().unwrap().target_p_equiv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/route/router.rs:139:28 [INFO] [stdout] | [INFO] [stdout] 139 | if (!is_driver) != target_rnode.read_only() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `is_driver == target_rnode.read_only()` [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/route/channel.rs:155:25 [INFO] [stdout] | [INFO] [stdout] 155 | !subnode.p_supernode.is_some_and(|p| p == p_back) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `subnode.p_supernode.is_none_or(|p| p != p_back)` [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: called `unwrap` on `mapping.target_source` after checking its variant with `is_some` [INFO] [stdout] --> src/route/embed.rs:88:41 [INFO] [stdout] | [INFO] [stdout] 77 | if mapping.target_source.is_some() && (!mapping.target_sinks.is_empty()) { [INFO] [stdout] | ------------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 88 | let target_source_p_equiv = mapping.target_source.as_ref().unwrap().target_p_equiv; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/route/router.rs:139:28 [INFO] [stdout] | [INFO] [stdout] 139 | if (!is_driver) != target_rnode.read_only() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `is_driver == target_rnode.read_only()` [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.02s [INFO] running `Command { std: "docker" "inspect" "1542a3126bedc37f09ab0d4df77a4fac937ed0760b438076f27733987f9669a7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1542a3126bedc37f09ab0d4df77a4fac937ed0760b438076f27733987f9669a7", kill_on_drop: false }` [INFO] [stdout] 1542a3126bedc37f09ab0d4df77a4fac937ed0760b438076f27733987f9669a7