[INFO] fetching crate ham 0.2.0... [INFO] checking ham-0.2.0 against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] extracting crate ham 0.2.0 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate ham 0.2.0 on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate ham 0.2.0 [INFO] finished tweaking crates.io crate ham 0.2.0 [INFO] tweaked toml for crates.io crate ham 0.2.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate crates.io crate ham 0.2.0 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" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 04ba2c39b7f3b5db4047851d336718e2a195a81012551a0e1d4e8fa58447119f [INFO] running `Command { std: "docker" "start" "-a" "04ba2c39b7f3b5db4047851d336718e2a195a81012551a0e1d4e8fa58447119f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "04ba2c39b7f3b5db4047851d336718e2a195a81012551a0e1d4e8fa58447119f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "04ba2c39b7f3b5db4047851d336718e2a195a81012551a0e1d4e8fa58447119f", kill_on_drop: false }` [INFO] [stdout] 04ba2c39b7f3b5db4047851d336718e2a195a81012551a0e1d4e8fa58447119f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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 -Dtail_expr_drop_order" "-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b0b59fcb5ff04360ed4b40397f40260ce5f65bb315a5bcb70cb81302e2bad70e [INFO] running `Command { std: "docker" "start" "-a" "b0b59fcb5ff04360ed4b40397f40260ce5f65bb315a5bcb70cb81302e2bad70e", kill_on_drop: false }` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] [stderr] Compiling libc v0.2.77 [INFO] [stderr] Compiling proc-macro2 v1.0.21 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking adler v0.2.3 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling miniz_oxide v0.4.2 [INFO] [stderr] Checking gimli v0.22.0 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling syn v1.0.41 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling nix v0.11.1 [INFO] [stderr] Checking object v0.20.0 [INFO] [stderr] Checking rustc-demangle v0.1.16 [INFO] [stderr] Compiling getrandom v0.1.15 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling nix v0.17.0 [INFO] [stderr] Checking ppv-lite86 v0.2.9 [INFO] [stderr] Checking spin_sleep v0.3.7 [INFO] [stderr] Checking reed-solomon v0.2.1 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking addr2line v0.13.0 [INFO] [stderr] Checking backtrace v0.3.50 [INFO] [stderr] Compiling num-derive v0.3.2 [INFO] [stderr] Checking gpio-cdev v0.2.0 [INFO] [stderr] Checking spidev v0.4.0 [INFO] [stderr] Checking ham v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Filtering` [INFO] [stdout] --> src/rfm69/receiver.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::rfm69::{DCFree, Filtering, Mode, PacketConfig, Rfm69, SyncConfig}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `RwLock` [INFO] [stdout] --> src/rfm69/receiver.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::{Arc, RwLock}; [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Index` [INFO] [stdout] --> src/rfm69/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::ops::Index; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Filtering` [INFO] [stdout] --> src/rfm69/receiver.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::rfm69::{DCFree, Filtering, Mode, PacketConfig, Rfm69, SyncConfig}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `RwLock` [INFO] [stdout] --> src/rfm69/receiver.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::sync::{Arc, RwLock}; [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Index` [INFO] [stdout] --> src/rfm69/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::ops::Index; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `Result<(), Error>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/rfm69/mod.rs:1319:25 [INFO] [stdout] | [INFO] [stdout] 1295 | let fifo = self.get_fifo_not_empty()?; [INFO] [stdout] | ---- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1318 | let ready = self.get_payload_crc()?; [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 1319 | if let Err(_) = ready.check_and_wait(crc_wait) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `Result<(), Error>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/rfm69/mod.rs:1361:25 [INFO] [stdout] | [INFO] [stdout] 1356 | let irq = self.get_payload_crc()?; [INFO] [stdout] | --- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1361 | if let Err(e) = irq.check_and_wait(timeout) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `NetworkPacketReceiver` is never used [INFO] [stdout] --> src/lib.rs:107:7 [INFO] [stdout] | [INFO] [stdout] 107 | trait NetworkPacketReceiver: PacketReceiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AddressPacketReceiver` is never used [INFO] [stdout] --> src/lib.rs:110:7 [INFO] [stdout] | [INFO] [stdout] 110 | trait AddressPacketReceiver: NetworkPacketReceiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BroadcastPacketReceiver` is never used [INFO] [stdout] --> src/lib.rs:115:7 [INFO] [stdout] | [INFO] [stdout] 115 | trait BroadcastPacketReceiver: AddressPacketReceiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `VerifiedPacketReceiver` is never used [INFO] [stdout] --> src/lib.rs:118:7 [INFO] [stdout] | [INFO] [stdout] 118 | trait VerifiedPacketReceiver: PacketReceiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AddressPacketSender` is never used [INFO] [stdout] --> src/lib.rs:132:7 [INFO] [stdout] | [INFO] [stdout] 132 | trait AddressPacketSender: NetworkPacketSender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `VerifiedPacketSender` is never used [INFO] [stdout] --> src/lib.rs:135:7 [INFO] [stdout] | [INFO] [stdout] 135 | trait VerifiedPacketSender: PacketSender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SetAddr` and `SetBroadcast` are never constructed [INFO] [stdout] --> src/lib.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 139 | enum ConfigMessage { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 140 | SetNetwork(N), [INFO] [stdout] 141 | SetAddr(A), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 142 | SetBroadcast(A), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_true_irq` is never used [INFO] [stdout] --> src/rfm69/mod.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 45 | impl IrqWait<'_> { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 117 | fn is_true_irq(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_fifo_overrun`, `get_payload_ready`, and `get_sync_address` are never used [INFO] [stdout] --> src/rfm69/mod.rs:1027:8 [INFO] [stdout] | [INFO] [stdout] 127 | impl Rfm69 { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1027 | fn get_fifo_overrun(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1085 | fn get_payload_ready(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1173 | fn get_sync_address(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/rfm69/mod.rs:1561:10 [INFO] [stdout] | [INFO] [stdout] 1561 | #[derive(FromPrimitive, Clone, Copy, Debug, PartialEq)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Register` [INFO] [stdout] 1562 | pub enum Register { [INFO] [stdout] | -------- `Register` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/rfm69/mod.rs:2010:10 [INFO] [stdout] | [INFO] [stdout] 2010 | #[derive(FromPrimitive, PartialEq, Clone, Copy, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Mode` [INFO] [stdout] 2011 | pub enum Mode { [INFO] [stdout] | ---- `Mode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/rfm69/mod.rs:2039:10 [INFO] [stdout] | [INFO] [stdout] 2039 | #[derive(FromPrimitive, PartialEq, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_DCFree` [INFO] [stdout] 2040 | pub enum DCFree { [INFO] [stdout] | ------ `DCFree` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/rfm69/mod.rs:2047:10 [INFO] [stdout] | [INFO] [stdout] 2047 | #[derive(FromPrimitive, PartialEq, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Filtering` [INFO] [stdout] 2048 | pub enum Filtering { [INFO] [stdout] | --------- `Filtering` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `ham` (lib) due to 3 previous errors; 16 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: this value of type `Result<(), Error>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/rfm69/mod.rs:1319:25 [INFO] [stdout] | [INFO] [stdout] 1295 | let fifo = self.get_fifo_not_empty()?; [INFO] [stdout] | ---- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1318 | let ready = self.get_payload_crc()?; [INFO] [stdout] | ----- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] 1319 | if let Err(_) = ready.check_and_wait(crc_wait) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `Result<(), Error>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/rfm69/mod.rs:1361:25 [INFO] [stdout] | [INFO] [stdout] 1356 | let irq = self.get_payload_crc()?; [INFO] [stdout] | --- these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1361 | if let Err(e) = irq.check_and_wait(timeout) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `NetworkPacketReceiver` is never used [INFO] [stdout] --> src/lib.rs:107:7 [INFO] [stdout] | [INFO] [stdout] 107 | trait NetworkPacketReceiver: PacketReceiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AddressPacketReceiver` is never used [INFO] [stdout] --> src/lib.rs:110:7 [INFO] [stdout] | [INFO] [stdout] 110 | trait AddressPacketReceiver: NetworkPacketReceiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `BroadcastPacketReceiver` is never used [INFO] [stdout] --> src/lib.rs:115:7 [INFO] [stdout] | [INFO] [stdout] 115 | trait BroadcastPacketReceiver: AddressPacketReceiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `VerifiedPacketReceiver` is never used [INFO] [stdout] --> src/lib.rs:118:7 [INFO] [stdout] | [INFO] [stdout] 118 | trait VerifiedPacketReceiver: PacketReceiver { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AddressPacketSender` is never used [INFO] [stdout] --> src/lib.rs:132:7 [INFO] [stdout] | [INFO] [stdout] 132 | trait AddressPacketSender: NetworkPacketSender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `VerifiedPacketSender` is never used [INFO] [stdout] --> src/lib.rs:135:7 [INFO] [stdout] | [INFO] [stdout] 135 | trait VerifiedPacketSender: PacketSender { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SetAddr` and `SetBroadcast` are never constructed [INFO] [stdout] --> src/lib.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 139 | enum ConfigMessage { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 140 | SetNetwork(N), [INFO] [stdout] 141 | SetAddr(A), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 142 | SetBroadcast(A), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_true_irq` is never used [INFO] [stdout] --> src/rfm69/mod.rs:117:8 [INFO] [stdout] | [INFO] [stdout] 45 | impl IrqWait<'_> { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 117 | fn is_true_irq(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_fifo_overrun`, `get_payload_ready`, and `get_sync_address` are never used [INFO] [stdout] --> src/rfm69/mod.rs:1027:8 [INFO] [stdout] | [INFO] [stdout] 127 | impl Rfm69 { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1027 | fn get_fifo_overrun(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1085 | fn get_payload_ready(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1173 | fn get_sync_address(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/rfm69/mod.rs:1561:10 [INFO] [stdout] | [INFO] [stdout] 1561 | #[derive(FromPrimitive, Clone, Copy, Debug, PartialEq)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Register` [INFO] [stdout] 1562 | pub enum Register { [INFO] [stdout] | -------- `Register` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/rfm69/mod.rs:2010:10 [INFO] [stdout] | [INFO] [stdout] 2010 | #[derive(FromPrimitive, PartialEq, Clone, Copy, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Mode` [INFO] [stdout] 2011 | pub enum Mode { [INFO] [stdout] | ---- `Mode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/rfm69/mod.rs:2039:10 [INFO] [stdout] | [INFO] [stdout] 2039 | #[derive(FromPrimitive, PartialEq, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_DCFree` [INFO] [stdout] 2040 | pub enum DCFree { [INFO] [stdout] | ------ `DCFree` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/rfm69/mod.rs:2047:10 [INFO] [stdout] | [INFO] [stdout] 2047 | #[derive(FromPrimitive, PartialEq, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Filtering` [INFO] [stdout] 2048 | pub enum Filtering { [INFO] [stdout] | --------- `Filtering` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `ham` (lib test) due to 3 previous errors; 16 warnings emitted [INFO] running `Command { std: "docker" "inspect" "b0b59fcb5ff04360ed4b40397f40260ce5f65bb315a5bcb70cb81302e2bad70e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b0b59fcb5ff04360ed4b40397f40260ce5f65bb315a5bcb70cb81302e2bad70e", kill_on_drop: false }` [INFO] [stdout] b0b59fcb5ff04360ed4b40397f40260ce5f65bb315a5bcb70cb81302e2bad70e