[INFO] fetching crate ham 0.2.0... [INFO] testing ham-0.2.0 against try#c066bf6804adc55193b71afdff6a56922f4a8689+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_in_2025-retry-1 [INFO] extracting crate ham 0.2.0 into /workspace/builds/worker-1-tc2/source [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] validating manifest of crates.io crate ham 0.2.0 on toolchain c066bf6804adc55193b71afdff6a56922f4a8689 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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" "+c066bf6804adc55193b71afdff6a56922f4a8689" "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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 581359ad11cc2fdf90db1621cce412ae1cb466ce422f1ffee0e65663379e150f [INFO] running `Command { std: "docker" "start" "-a" "581359ad11cc2fdf90db1621cce412ae1cb466ce422f1ffee0e65663379e150f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "581359ad11cc2fdf90db1621cce412ae1cb466ce422f1ffee0e65663379e150f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "581359ad11cc2fdf90db1621cce412ae1cb466ce422f1ffee0e65663379e150f", kill_on_drop: false }` [INFO] [stdout] 581359ad11cc2fdf90db1621cce412ae1cb466ce422f1ffee0e65663379e150f [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" "-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 0f057a6b100c4b26d07f944b53e692e20d3baf3190911ef8ddc48175aa882007 [INFO] running `Command { std: "docker" "start" "-a" "0f057a6b100c4b26d07f944b53e692e20d3baf3190911ef8ddc48175aa882007", 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 autocfg v1.0.1 [INFO] [stderr] Compiling libc v0.2.77 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling proc-macro2 v1.0.21 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling gimli v0.22.0 [INFO] [stderr] Compiling adler v0.2.3 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling object v0.20.0 [INFO] [stderr] Compiling rustc-demangle v0.1.16 [INFO] [stderr] Compiling syn v1.0.41 [INFO] [stderr] Compiling nix v0.11.1 [INFO] [stderr] Compiling nix v0.17.0 [INFO] [stderr] Compiling spin_sleep v0.3.7 [INFO] [stderr] Compiling reed-solomon v0.2.1 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Compiling miniz_oxide v0.4.2 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling addr2line v0.13.0 [INFO] [stderr] Compiling backtrace v0.3.50 [INFO] [stderr] Compiling gpio-cdev v0.2.0 [INFO] [stderr] Compiling num-derive v0.3.2 [INFO] [stderr] Compiling spidev v0.4.0 [INFO] [stderr] Compiling 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] [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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:994:27 [INFO] [stdout] | [INFO] [stdout] 994 | fn get_fifo_not_empty(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 994 | fn get_fifo_not_empty(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1027:25 [INFO] [stdout] | [INFO] [stdout] 1027 | fn get_fifo_overrun(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1027 | fn get_fifo_overrun(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1038:24 [INFO] [stdout] | [INFO] [stdout] 1038 | fn get_packet_sent(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1038 | fn get_packet_sent(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1059:24 [INFO] [stdout] | [INFO] [stdout] 1059 | fn get_payload_crc(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1059 | fn get_payload_crc(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1085:26 [INFO] [stdout] | [INFO] [stdout] 1085 | fn get_payload_ready(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1085 | fn get_payload_ready(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1107:22 [INFO] [stdout] | [INFO] [stdout] 1107 | fn get_fifo_full(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1107 | fn get_fifo_full(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1140:23 [INFO] [stdout] | [INFO] [stdout] 1140 | fn get_mode_ready(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1140 | fn get_mode_ready(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1173:25 [INFO] [stdout] | [INFO] [stdout] 1173 | fn get_sync_address(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1173 | fn get_sync_address(&self) -> Result, Error> { [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: `#[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 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 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 warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.43s [INFO] running `Command { std: "docker" "inspect" "0f057a6b100c4b26d07f944b53e692e20d3baf3190911ef8ddc48175aa882007", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f057a6b100c4b26d07f944b53e692e20d3baf3190911ef8ddc48175aa882007", kill_on_drop: false }` [INFO] [stdout] 0f057a6b100c4b26d07f944b53e692e20d3baf3190911ef8ddc48175aa882007 [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" "-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+c066bf6804adc55193b71afdff6a56922f4a8689" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 0b13cc02939f574183953e559619c410a36862d619ced050160313342b18a149 [INFO] running `Command { std: "docker" "start" "-a" "0b13cc02939f574183953e559619c410a36862d619ced050160313342b18a149", 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 getrandom v0.1.15 [INFO] [stderr] Compiling ppv-lite86 v0.2.9 [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] [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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:994:27 [INFO] [stdout] | [INFO] [stdout] 994 | fn get_fifo_not_empty(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 994 | fn get_fifo_not_empty(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1027:25 [INFO] [stdout] | [INFO] [stdout] 1027 | fn get_fifo_overrun(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1027 | fn get_fifo_overrun(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1038:24 [INFO] [stdout] | [INFO] [stdout] 1038 | fn get_packet_sent(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1038 | fn get_packet_sent(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1059:24 [INFO] [stdout] | [INFO] [stdout] 1059 | fn get_payload_crc(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1059 | fn get_payload_crc(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1085:26 [INFO] [stdout] | [INFO] [stdout] 1085 | fn get_payload_ready(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1085 | fn get_payload_ready(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1107:22 [INFO] [stdout] | [INFO] [stdout] 1107 | fn get_fifo_full(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1107 | fn get_fifo_full(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1140:23 [INFO] [stdout] | [INFO] [stdout] 1140 | fn get_mode_ready(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1140 | fn get_mode_ready(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1173:25 [INFO] [stdout] | [INFO] [stdout] 1173 | fn get_sync_address(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1173 | fn get_sync_address(&self) -> Result, Error> { [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: `#[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 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 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 warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling ham v0.2.0 (/opt/rustwide/workdir) [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::cmp::Ordering` [INFO] [stdout] --> tests/rfm69.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::cmp::Ordering; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bitrate` [INFO] [stdout] --> tests/rfm69.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | let bitrate = rfm1.bitrate(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bitrate` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> tests/rfm69.rs:318:16 [INFO] [stdout] | [INFO] [stdout] 318 | let (rfm1, mut rfm2) = get_pair(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> tests/rfm69.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | rfm.set_dio_mapping(dm); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 76 | let _ = rfm.set_dio_mapping(dm); [INFO] [stdout] | +++++++ [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: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:994:27 [INFO] [stdout] | [INFO] [stdout] 994 | fn get_fifo_not_empty(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 994 | fn get_fifo_not_empty(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1027:25 [INFO] [stdout] | [INFO] [stdout] 1027 | fn get_fifo_overrun(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1027 | fn get_fifo_overrun(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1038:24 [INFO] [stdout] | [INFO] [stdout] 1038 | fn get_packet_sent(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1038 | fn get_packet_sent(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1059:24 [INFO] [stdout] | [INFO] [stdout] 1059 | fn get_payload_crc(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1059 | fn get_payload_crc(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1085:26 [INFO] [stdout] | [INFO] [stdout] 1085 | fn get_payload_ready(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1085 | fn get_payload_ready(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1107:22 [INFO] [stdout] | [INFO] [stdout] 1107 | fn get_fifo_full(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1107 | fn get_fifo_full(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1140:23 [INFO] [stdout] | [INFO] [stdout] 1140 | fn get_mode_ready(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1140 | fn get_mode_ready(&self) -> Result, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/rfm69/mod.rs:1173:25 [INFO] [stdout] | [INFO] [stdout] 1173 | fn get_sync_address(&self) -> Result { [INFO] [stdout] | ^^^^^ ------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 1173 | fn get_sync_address(&self) -> Result, Error> { [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: `#[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 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 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 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: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/rcrt1.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crti.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtbeginS.o" "/tmp/rustc4oAjkO/symbols.o" "<4 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{libtest-*,libgetopts-*,libunicode_width-*,librustc_std_workspace_std-*}.rlib" "/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/{librand-2f48bc16e5fef524.rlib,librand_chacha-bebe6f7f251e0aa0.rlib,libppv_lite86-fe4748cb9a4a903e.rlib,librand_core-c755d04970a21b6f.rlib,libgetrandom-fb8a39dae7aaf03d.rlib,libham-d4d3659c2c4375c2.rlib,libspidev-29db4671b981d12f.rlib,libnix-7af0f209a7dd23e3.rlib,libreed_solomon-b466584e6a8c1aa9.rlib,libnum_traits-e709234137b77527.rlib,libnix-bfd977c0745ca06d.rlib,libspin_sleep-f077609cabfe2382.rlib,libgpio_cdev-263b100a50415d19.rlib,libnix-28abec6b61288199.rlib,libvoid-93586161032aa49a.rlib,liberror_chain-127c4f3a250792cb.rlib,libbacktrace-3bbaedbaae1f22df.rlib,libminiz_oxide-8455948c12f6daf3.rlib,libadler-cfae5593f0297367.rlib,libobject-956d089cb0960f19.rlib,liblibc-31cd762ebfeec04c.rlib,libaddr2line-0d6dfec8e034a5ec.rlib,libgimli-7723439e355e01c4.rlib,libcfg_if-2d17986ae484e939.rlib,librustc_demangle-dcc5b1758b30e405.rlib,libbitflags-561a4f1321538a32.rlib}.rlib" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*}.rlib" "-lunwind" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{libcfg_if-*,liblibc-*}.rlib" "-lc" "/lib/rustlib/x86_64-unknown-linux-musl/lib/{librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-L" "/tmp/rustc4oAjkO/raw-dylibs" "-Wl,-Bdynamic" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-nostartfiles" "-L" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained" "-L" "/lib/rustlib/x86_64-unknown-linux-musl/lib" "-o" "/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/rfm69-39498394f0d0a3f9" "-Wl,--gc-sections" "-static-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtendS.o" "/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtn.o" [INFO] [stdout] = note: some arguments are omitted. use `--verbose` to show all linker arguments [INFO] [stdout] = note: /usr/bin/ld: /opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/libgetrandom-fb8a39dae7aaf03d.rlib(getrandom-fb8a39dae7aaf03d.getrandom.58a6c37a4d18c191-cgu.0.rcgu.o): in function `getrandom::util_libc::open_readonly': [INFO] [stdout] /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/getrandom-0.1.15/src/util_libc.rs:112:(.text._ZN9getrandom9util_libc13open_readonly17hbb96b97bfebc0296E+0x79): undefined reference to `open64' [INFO] [stdout] collect2: error: ld returned 1 exit status [INFO] [stdout] [INFO] [stdout] = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified [INFO] [stdout] = note: use the `-l` flag to specify native libraries to link [INFO] [stdout] = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#rustc-link-lib) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `ham` (test "rfm69") due to 1 previous error; 4 warnings emitted [INFO] running `Command { std: "docker" "inspect" "0b13cc02939f574183953e559619c410a36862d619ced050160313342b18a149", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b13cc02939f574183953e559619c410a36862d619ced050160313342b18a149", kill_on_drop: false }` [INFO] [stdout] 0b13cc02939f574183953e559619c410a36862d619ced050160313342b18a149