[INFO] cloning repository https://github.com/kanwhoa/echonet2ha [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kanwhoa/echonet2ha" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkanwhoa%2Fechonet2ha", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkanwhoa%2Fechonet2ha'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] aad667eb1becda9e76a81c5bbf1e1c1eac04e6b4 [INFO] checking kanwhoa/echonet2ha against 656ccbe796ff98def9b555c118e1620c5389e3b2 for pr-133502-25 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkanwhoa%2Fechonet2ha" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-7-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/kanwhoa/echonet2ha [INFO] finished tweaking git repo https://github.com/kanwhoa/echonet2ha [INFO] tweaked toml for git repo https://github.com/kanwhoa/echonet2ha written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/kanwhoa/echonet2ha on toolchain 656ccbe796ff98def9b555c118e1620c5389e3b2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/kanwhoa/echonet2ha 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" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded clap v4.5.60 [INFO] [stderr] Downloaded clap_derive v4.5.55 [INFO] [stderr] Downloaded termcolor v1.1.3 [INFO] [stderr] Downloaded stderrlog v0.6.0 [INFO] [stderr] Downloaded clap_builder v4.5.60 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 7d09613e7e7aa1db813afc97f9413cf5e654d415df6b5110f7772b272eac6013 [INFO] running `Command { std: "docker" "start" "7d09613e7e7aa1db813afc97f9413cf5e654d415df6b5110f7772b272eac6013", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7d09613e7e7aa1db813afc97f9413cf5e654d415df6b5110f7772b272eac6013", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7d09613e7e7aa1db813afc97f9413cf5e654d415df6b5110f7772b272eac6013" "/opt/rustwide/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7d09613e7e7aa1db813afc97f9413cf5e654d415df6b5110f7772b272eac6013", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7d09613e7e7aa1db813afc97f9413cf5e654d415df6b5110f7772b272eac6013" "/opt/rustwide/cargo-home/bin/cargo" "+656ccbe796ff98def9b555c118e1620c5389e3b2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Checking rand_core v0.10.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking anstyle v1.0.13 [INFO] [stderr] Checking unicode-ident v1.0.24 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling nix v0.31.2 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking clap_lex v1.0.0 [INFO] [stderr] Checking hashbrown v0.16.1 [INFO] [stderr] Checking bitflags v2.11.0 [INFO] [stderr] Checking log v0.4.29 [INFO] [stderr] Checking itoa v1.0.17 [INFO] [stderr] Checking termcolor v1.1.3 [INFO] [stderr] Checking chacha20 v0.10.0 [INFO] [stderr] Checking anstream v0.6.21 [INFO] [stderr] Checking proc-macro2 v1.0.106 [INFO] [stderr] Checking clap_builder v4.5.60 [INFO] [stderr] Checking indexmap v2.13.0 [INFO] [stderr] Checking quote v1.0.45 [INFO] [stderr] Checking chrono v0.4.44 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking is-terminal v0.4.17 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking socket2 v0.6.3 [INFO] [stderr] Checking stderrlog v0.6.0 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking rand v0.10.0 [INFO] [stderr] Checking macros v0.1.0 (/opt/rustwide/workdir/crates/macros) [INFO] [stdout] warning: unused import: `proc_macro::TokenStream` [INFO] [stdout] --> crates/macros/src/lib.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use proc_macro::TokenStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `proc_macro2::Span` [INFO] [stdout] --> crates/macros/src/lib.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use proc_macro2::Span; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> crates/macros/src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> crates/macros/src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ident`, `LitStr`, `parse::Parse`, and `parse_macro_input` [INFO] [stdout] --> crates/macros/src/lib.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | use syn::{parse_macro_input, Ident, LitStr, parse::Parse}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `proc_macro::TokenStream` [INFO] [stdout] --> crates/macros/src/lib.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use proc_macro::TokenStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `proc_macro2::Span` [INFO] [stdout] --> crates/macros/src/lib.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use proc_macro2::Span; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> crates/macros/src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> crates/macros/src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ident`, `LitStr`, `parse::Parse`, and `parse_macro_input` [INFO] [stdout] --> crates/macros/src/lib.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | use syn::{parse_macro_input, Ident, LitStr, parse::Parse}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling test-case-core v3.3.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stdout] warning: unused import: `proc_macro::TokenStream` [INFO] [stdout] --> crates/macros/src/lib.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use proc_macro::TokenStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `proc_macro2::Span` [INFO] [stdout] --> crates/macros/src/lib.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use proc_macro2::Span; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::quote` [INFO] [stdout] --> crates/macros/src/lib.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use quote::quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> crates/macros/src/lib.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ident`, `LitStr`, `parse::Parse`, and `parse_macro_input` [INFO] [stdout] --> crates/macros/src/lib.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | use syn::{parse_macro_input, Ident, LitStr, parse::Parse}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling test-case-macros v3.3.1 [INFO] [stderr] Checking test-case v3.3.1 [INFO] [stderr] Checking tokio v1.50.0 [INFO] [stderr] Checking clap v4.5.60 [INFO] [stderr] Checking derive_more v2.1.1 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking echonet2mqtt v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `AddressFamily` and `ifaddrs::InterfaceAddress` [INFO] [stdout] --> src/connectors/echonet.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use nix::{self, ifaddrs::InterfaceAddress, net::if_::{if_nametoindex, InterfaceFlags}, sys::socket::{AddressFamily, SockaddrLike, Soc... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/middleware/api.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::middleware::epc_types::EPC_FAULT_CONTENT` [INFO] [stdout] --> src/middleware/api.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::middleware::epc_types::EPC_FAULT_CONTENT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/main.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | use tokio::time::{self, Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `assert_matches` has been stable since 1.96.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(assert_matches, generic_const_exprs, type_alias_impl_trait)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AddressFamily` and `ifaddrs::InterfaceAddress` [INFO] [stdout] --> src/connectors/echonet.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use nix::{self, ifaddrs::InterfaceAddress, net::if_::{if_nametoindex, InterfaceFlags}, sys::socket::{AddressFamily, SockaddrLike, Soc... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/middleware/api.rs:6:16 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ops::{Deref, DerefMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::middleware::epc_types::EPC_FAULT_CONTENT` [INFO] [stdout] --> src/middleware/api.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::middleware::epc_types::EPC_FAULT_CONTENT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/main.rs:15:35 [INFO] [stdout] | [INFO] [stdout] 15 | use tokio::time::{self, Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `assert_matches` has been stable since 1.96.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(assert_matches, generic_const_exprs, type_alias_impl_trait)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/middleware/epc_types.rs:1079:29 [INFO] [stdout] | [INFO] [stdout] 1078 | ... todo!(); [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 1079 | ... Ok([0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x03].to_vec()) // FIXME [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SockaddrLike` [INFO] [stdout] --> src/connectors/echonet.rs:2:117 [INFO] [stdout] | [INFO] [stdout] 2 | use nix::{self, ifaddrs::InterfaceAddress, net::if_::{if_nametoindex, InterfaceFlags}, sys::socket::{AddressFamily, SockaddrLike, Soc... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/connectors/echonet.rs:160:12 [INFO] [stdout] | [INFO] [stdout] 160 | fn to_wire(event: &crate::middleware::events::Event) -> super::Result> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/connectors/echonet.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 180 | let data = to_wire(event)?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/middleware/epc_types.rs:1079:29 [INFO] [stdout] | [INFO] [stdout] 1078 | ... todo!(); [INFO] [stdout] | ------- any code following this expression is unreachable [INFO] [stdout] 1079 | ... Ok([0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x03].to_vec()) // FIXME [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `epc` [INFO] [stdout] --> src/middleware/epc_types.rs:1300:23 [INFO] [stdout] | [INFO] [stdout] 1300 | move |epc: &dyn Epc, canonical| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_epc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `epc` [INFO] [stdout] --> src/middleware/epc_types.rs:1083:32 [INFO] [stdout] | [INFO] [stdout] 1083 | Box::new(move |epc: &dyn Epc, internal| [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_epc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `epc` [INFO] [stdout] --> src/middleware/epc_types.rs:1053:32 [INFO] [stdout] | [INFO] [stdout] 1053 | Box::new(move |epc: &dyn Epc, canonical | [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_epc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `location_code` [INFO] [stdout] --> src/middleware/epc_types.rs:1077:81 [INFO] [stdout] | [INFO] [stdout] 1077 | NodeObjectInstallationLocation::LocationInformationCode(location_code) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `logging` and `mqtt` are never read [INFO] [stdout] --> src/config.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct AppConfiguration { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 5 | #[serde(default)] [INFO] [stdout] 6 | pub logging: AppLoggingConfiguration, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 7 | #[serde(default)] [INFO] [stdout] 8 | pub mqtt: AppMqttConfiguration, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppConfiguration` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `recv` is never used [INFO] [stdout] --> src/connectors/mod.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait Connectable { [INFO] [stdout] | ----------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 15 | async fn recv(&self) -> Result; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `network` and `netmask` are never read [INFO] [stdout] --> src/connectors/echonet.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct InterfaceSocket { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub network: SocketAddr, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 20 | /// The netmask. Store as an address to avoid constant re-expansion. [INFO] [stdout] 21 | pub netmask: SocketAddr, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ConfigurationError` is never constructed [INFO] [stdout] --> src/connectors/error.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum ConnectorError { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] 6 | /// Error in the configuration [INFO] [stdout] 7 | ConfigurationError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConnectorError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_EPC_LEN` is never used [INFO] [stdout] --> src/middleware/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const MAX_EPC_LEN: usize = 0xfd; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_TYPE_ALL` is never used [INFO] [stdout] --> src/middleware/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const NODE_TYPE_ALL: u8 = 0x00; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_MESSAGE_FORMAT_SPECIFIED` is never used [INFO] [stdout] --> src/middleware/mod.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const NODE_MESSAGE_FORMAT_SPECIFIED: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_MESSAGE_FORMAT_ARBITRARY` is never used [INFO] [stdout] --> src/middleware/mod.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const NODE_MESSAGE_FORMAT_ARBITRARY: u8 = 0x02; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_VALUE_OPERATION_GET_AVAILABLE` is never used [INFO] [stdout] --> src/middleware/mod.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const NODE_VALUE_OPERATION_GET_AVAILABLE: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_VALUE_OPERATION_SET_AVAILABLE` is never used [INFO] [stdout] --> src/middleware/mod.rs:31:7 [INFO] [stdout] | [INFO] [stdout] 31 | const NODE_VALUE_OPERATION_SET_AVAILABLE: u8 = 0x10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/middleware/mod.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 359 | struct NodeObject { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 362 | properties: Vec> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `physical_address` and `type` are never read [INFO] [stdout] --> src/middleware/mod.rs:465:5 [INFO] [stdout] | [INFO] [stdout] 462 | struct Node { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 465 | physical_address: api::NodePhysicalAddress, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 466 | /// can be determined from the profile object EOJ. Shortcut. [INFO] [stdout] 467 | r#type: NodeType, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_available` is never used [INFO] [stdout] --> src/middleware/mod.rs:496:8 [INFO] [stdout] | [INFO] [stdout] 481 | impl Node { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 496 | fn is_available(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `nodes` is never read [INFO] [stdout] --> src/middleware/mod.rs:507:5 [INFO] [stdout] | [INFO] [stdout] 503 | pub struct Middleware { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 507 | nodes: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ECHONET_MAJOR_VERSION` is never used [INFO] [stdout] --> src/middleware/api.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const ECHONET_MAJOR_VERSION: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ECHONET_MINOR_VERSION` is never used [INFO] [stdout] --> src/middleware/api.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const ECHONET_MINOR_VERSION: u8 = 14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/middleware/api.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum EpcError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 45 | /// The EPC code is not valid for this property [INFO] [stdout] 46 | InvalidCode(u8, u8), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | InvalidType(u8), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | NotSupported(u8), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 55 | /// The operation is not allowed by an access rule [INFO] [stdout] 56 | OperationNotAllowed(u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 57 | /// The operation is not implemented by the node for this EPC [INFO] [stdout] 58 | OperationNotImplemented(u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | ValidationFailed(u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 65 | /// Error when converting the value between types [INFO] [stdout] 66 | TypeConverstionError(u8, String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | /// Error when obtaining the value [INFO] [stdout] 68 | ValueError(u8, String) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EpcError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Location` is never constructed [INFO] [stdout] --> src/middleware/api.rs:290:5 [INFO] [stdout] | [INFO] [stdout] 270 | pub enum NodeObjectInstallationLocation { [INFO] [stdout] | ------------------------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 290 | Location(f64, f64, f64), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeObjectInstallationLocation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TransmitOnly` is never constructed [INFO] [stdout] --> src/middleware/api.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum NodeType { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 299 | General = super::NODE_TYPE_GENERAL, [INFO] [stdout] 300 | TransmitOnly = super::NODE_TYPE_TRANSMIT_ONLY [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `IPv4`, `IPV6`, `Broadcast`, and `Serial` are never constructed [INFO] [stdout] --> src/middleware/api.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 306 | pub enum NodePhysicalAddress { [INFO] [stdout] | ------------------- variants in this enum [INFO] [stdout] 307 | Localhost, [INFO] [stdout] 308 | IPv4(), // sock addr + interface, or ?? [INFO] [stdout] | ^^^^ [INFO] [stdout] 309 | IPV6(), [INFO] [stdout] | ^^^^ [INFO] [stdout] 310 | Broadcast(), // Does not need an addr, it uses all. [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 311 | Serial(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodePhysicalAddress` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `as_any` and `as_any_mut` are never used [INFO] [stdout] --> src/middleware/api.rs:339:8 [INFO] [stdout] | [INFO] [stdout] 337 | pub trait EpcWrapper: Any + Debug { [INFO] [stdout] | ---------- methods in this trait [INFO] [stdout] 338 | // Downcast [INFO] [stdout] 339 | fn as_any(&self) -> &dyn Any; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 340 | // Downcast mutable [INFO] [stdout] 341 | fn as_any_mut(&mut self) -> &mut dyn Any; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `name`, `accept`, `get`, `set`, and `from_canonical` are never used [INFO] [stdout] --> src/middleware/api.rs:354:8 [INFO] [stdout] | [INFO] [stdout] 345 | pub trait Epc [INFO] [stdout] | --- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 354 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 360 | fn accept(&self, wire: &[u8]) -> bool; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | fn get(&self) -> Result<&[u8], EpcError>; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 366 | fn set(&self, internal: &[u8]) -> Result<(), EpcError>; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 372 | fn from_canonical(&self, canonical: &Self::Canonical) -> Result<(), EpcError>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `version` is never used [INFO] [stdout] --> src/middleware/api.rs:643:12 [INFO] [stdout] | [INFO] [stdout] 642 | impl NodeProfileObjectEchonetLiteSupportedVersion { [INFO] [stdout] | ------------------------------------------------- method in this implementation [INFO] [stdout] 643 | pub fn version(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_non_volatile`, `is_default`, and `set_default` are never used [INFO] [stdout] --> src/middleware/api.rs:679:12 [INFO] [stdout] | [INFO] [stdout] 677 | impl NodeObjectUniqueIdentifier { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] 678 | /// Is the [INFO] [stdout] 679 | pub fn is_non_volatile(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 686 | pub fn is_default(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 691 | pub fn set_default(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `enable_operation`, `disable_operation`, `disable_all`, `copy_from`, `is_operation_enabled`, and `validate_operation` are never used [INFO] [stdout] --> src/middleware/api.rs:726:12 [INFO] [stdout] | [INFO] [stdout] 716 | impl NodeObjectPropertyMap { [INFO] [stdout] | -------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 726 | pub fn enable_operation(&mut self, operation: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 741 | pub fn disable_operation(&mut self, operation: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 755 | pub fn disable_all(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 766 | pub fn copy_from(&mut self, other: &NodeObjectPropertyMap) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 779 | pub fn is_operation_enabled(&self, operation: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 791 | fn validate_operation(&self, operation: u8) -> Result<(), MiddlewareError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_bytes` is never used [INFO] [stdout] --> src/middleware/api.rs:948:12 [INFO] [stdout] | [INFO] [stdout] 926 | impl EOJ { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 948 | pub fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPC_DOCSOURCE_DEVICE_MASK` is never used [INFO] [stdout] --> src/middleware/epc_types.rs:79:7 [INFO] [stdout] | [INFO] [stdout] 79 | const EPC_DOCSOURCE_DEVICE_MASK: u16 = 0x00ff; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPC_DOCSOURCE_DEVICE_CLASS` is never used [INFO] [stdout] --> src/middleware/epc_types.rs:82:7 [INFO] [stdout] | [INFO] [stdout] 82 | const EPC_DOCSOURCE_DEVICE_CLASS: u16 = 0x0002; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPC_DOCSOURCE_PROFILE_MASK` is never used [INFO] [stdout] --> src/middleware/epc_types.rs:83:7 [INFO] [stdout] | [INFO] [stdout] 83 | const EPC_DOCSOURCE_PROFILE_MASK: u16 = 0xff00; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `source`, `mandatory`, `announce`, `operations`, `from_canonical_fn`, and `validator_fn` are never read [INFO] [stdout] --> src/middleware/epc_types.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 93 | pub(super) struct StaticNodeProperty [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 102 | source: u16, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | mandatory: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | announce: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | operations: Cell, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | from_canonical_fn: FromCanonicalType, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | validator_fn: ValidatorType, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `from_canonical`, `get`, and `set` are never used [INFO] [stdout] --> src/middleware/epc_types.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 162 | / impl StaticNodeProperty [INFO] [stdout] 163 | | where [INFO] [stdout] 164 | | T: Debug + Display [INFO] [stdout] | |______________________- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn from_canonical(&self, canonical: &T) -> Result<(), EpcError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn get(&self) -> Result, EpcError> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn set(&self, internal: &[u8]) -> Result<(), EpcError> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: feature `type_alias_impl_trait` is declared but not used [INFO] [stdout] --> src/main.rs:3:49 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(assert_matches, generic_const_exprs, type_alias_impl_trait)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SockaddrLike` [INFO] [stdout] --> src/connectors/echonet.rs:2:117 [INFO] [stdout] | [INFO] [stdout] 2 | use nix::{self, ifaddrs::InterfaceAddress, net::if_::{if_nametoindex, InterfaceFlags}, sys::socket::{AddressFamily, SockaddrLike, Soc... [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event` [INFO] [stdout] --> src/connectors/echonet.rs:160:12 [INFO] [stdout] | [INFO] [stdout] 160 | fn to_wire(event: &crate::middleware::events::Event) -> super::Result> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_event` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/connectors/echonet.rs:180:13 [INFO] [stdout] | [INFO] [stdout] 180 | let data = to_wire(event)?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `epc` [INFO] [stdout] --> src/middleware/epc_types.rs:1300:23 [INFO] [stdout] | [INFO] [stdout] 1300 | move |epc: &dyn Epc, canonical| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_epc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `epc` [INFO] [stdout] --> src/middleware/epc_types.rs:1083:32 [INFO] [stdout] | [INFO] [stdout] 1083 | Box::new(move |epc: &dyn Epc, internal| [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_epc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `epc` [INFO] [stdout] --> src/middleware/epc_types.rs:1053:32 [INFO] [stdout] | [INFO] [stdout] 1053 | Box::new(move |epc: &dyn Epc, canonical | [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_epc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `location_code` [INFO] [stdout] --> src/middleware/epc_types.rs:1077:81 [INFO] [stdout] | [INFO] [stdout] 1077 | NodeObjectInstallationLocation::LocationInformationCode(location_code) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `logging` and `mqtt` are never read [INFO] [stdout] --> src/config.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct AppConfiguration { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 5 | #[serde(default)] [INFO] [stdout] 6 | pub logging: AppLoggingConfiguration, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 7 | #[serde(default)] [INFO] [stdout] 8 | pub mqtt: AppMqttConfiguration, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppConfiguration` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `recv` is never used [INFO] [stdout] --> src/connectors/mod.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait Connectable { [INFO] [stdout] | ----------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 15 | async fn recv(&self) -> Result; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `network` and `netmask` are never read [INFO] [stdout] --> src/connectors/echonet.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct InterfaceSocket { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub network: SocketAddr, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 20 | /// The netmask. Store as an address to avoid constant re-expansion. [INFO] [stdout] 21 | pub netmask: SocketAddr, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ConfigurationError` is never constructed [INFO] [stdout] --> src/connectors/error.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum ConnectorError { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] 6 | /// Error in the configuration [INFO] [stdout] 7 | ConfigurationError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConnectorError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_EPC_LEN` is never used [INFO] [stdout] --> src/middleware/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const MAX_EPC_LEN: usize = 0xfd; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_TYPE_ALL` is never used [INFO] [stdout] --> src/middleware/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const NODE_TYPE_ALL: u8 = 0x00; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_MESSAGE_FORMAT_SPECIFIED` is never used [INFO] [stdout] --> src/middleware/mod.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const NODE_MESSAGE_FORMAT_SPECIFIED: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_MESSAGE_FORMAT_ARBITRARY` is never used [INFO] [stdout] --> src/middleware/mod.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const NODE_MESSAGE_FORMAT_ARBITRARY: u8 = 0x02; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_VALUE_OPERATION_GET_AVAILABLE` is never used [INFO] [stdout] --> src/middleware/mod.rs:28:7 [INFO] [stdout] | [INFO] [stdout] 28 | const NODE_VALUE_OPERATION_GET_AVAILABLE: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NODE_VALUE_OPERATION_SET_AVAILABLE` is never used [INFO] [stdout] --> src/middleware/mod.rs:31:7 [INFO] [stdout] | [INFO] [stdout] 31 | const NODE_VALUE_OPERATION_SET_AVAILABLE: u8 = 0x10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `properties` is never read [INFO] [stdout] --> src/middleware/mod.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 359 | struct NodeObject { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 362 | properties: Vec> [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `physical_address` and `type` are never read [INFO] [stdout] --> src/middleware/mod.rs:465:5 [INFO] [stdout] | [INFO] [stdout] 462 | struct Node { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 465 | physical_address: api::NodePhysicalAddress, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 466 | /// can be determined from the profile object EOJ. Shortcut. [INFO] [stdout] 467 | r#type: NodeType, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_available` is never used [INFO] [stdout] --> src/middleware/mod.rs:496:8 [INFO] [stdout] | [INFO] [stdout] 481 | impl Node { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 496 | fn is_available(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `nodes` is never read [INFO] [stdout] --> src/middleware/mod.rs:507:5 [INFO] [stdout] | [INFO] [stdout] 503 | pub struct Middleware { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 507 | nodes: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ECHONET_MAJOR_VERSION` is never used [INFO] [stdout] --> src/middleware/api.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const ECHONET_MAJOR_VERSION: u8 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ECHONET_MINOR_VERSION` is never used [INFO] [stdout] --> src/middleware/api.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const ECHONET_MINOR_VERSION: u8 = 14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidCode`, `InvalidType`, `NotSupported`, `OperationNotAllowed`, `OperationNotImplemented`, and `TypeConverstionError` are never constructed [INFO] [stdout] --> src/middleware/api.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum EpcError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 45 | /// The EPC code is not valid for this property [INFO] [stdout] 46 | InvalidCode(u8, u8), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | InvalidType(u8), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | NotSupported(u8), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 55 | /// The operation is not allowed by an access rule [INFO] [stdout] 56 | OperationNotAllowed(u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 57 | /// The operation is not implemented by the node for this EPC [INFO] [stdout] 58 | OperationNotImplemented(u8), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | TypeConverstionError(u8, String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EpcError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Location` is never constructed [INFO] [stdout] --> src/middleware/api.rs:290:5 [INFO] [stdout] | [INFO] [stdout] 270 | pub enum NodeObjectInstallationLocation { [INFO] [stdout] | ------------------------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 290 | Location(f64, f64, f64), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeObjectInstallationLocation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TransmitOnly` is never constructed [INFO] [stdout] --> src/middleware/api.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 298 | pub enum NodeType { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 299 | General = super::NODE_TYPE_GENERAL, [INFO] [stdout] 300 | TransmitOnly = super::NODE_TYPE_TRANSMIT_ONLY [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `IPv4`, `IPV6`, `Broadcast`, and `Serial` are never constructed [INFO] [stdout] --> src/middleware/api.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 306 | pub enum NodePhysicalAddress { [INFO] [stdout] | ------------------- variants in this enum [INFO] [stdout] 307 | Localhost, [INFO] [stdout] 308 | IPv4(), // sock addr + interface, or ?? [INFO] [stdout] | ^^^^ [INFO] [stdout] 309 | IPV6(), [INFO] [stdout] | ^^^^ [INFO] [stdout] 310 | Broadcast(), // Does not need an addr, it uses all. [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 311 | Serial(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodePhysicalAddress` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_any_mut` is never used [INFO] [stdout] --> src/middleware/api.rs:341:8 [INFO] [stdout] | [INFO] [stdout] 337 | pub trait EpcWrapper: Any + Debug { [INFO] [stdout] | ---------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 341 | fn as_any_mut(&mut self) -> &mut dyn Any; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `name`, `accept`, `get`, `set`, and `from_canonical` are never used [INFO] [stdout] --> src/middleware/api.rs:354:8 [INFO] [stdout] | [INFO] [stdout] 345 | pub trait Epc [INFO] [stdout] | --- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 354 | fn name(&self) -> &'static str; [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 360 | fn accept(&self, wire: &[u8]) -> bool; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | fn get(&self) -> Result<&[u8], EpcError>; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 366 | fn set(&self, internal: &[u8]) -> Result<(), EpcError>; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 372 | fn from_canonical(&self, canonical: &Self::Canonical) -> Result<(), EpcError>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `version` is never used [INFO] [stdout] --> src/middleware/api.rs:643:12 [INFO] [stdout] | [INFO] [stdout] 642 | impl NodeProfileObjectEchonetLiteSupportedVersion { [INFO] [stdout] | ------------------------------------------------- method in this implementation [INFO] [stdout] 643 | pub fn version(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_non_volatile`, `is_default`, and `set_default` are never used [INFO] [stdout] --> src/middleware/api.rs:679:12 [INFO] [stdout] | [INFO] [stdout] 677 | impl NodeObjectUniqueIdentifier { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] 678 | /// Is the [INFO] [stdout] 679 | pub fn is_non_volatile(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 686 | pub fn is_default(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 691 | pub fn set_default(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `disable_operation`, `disable_all`, and `copy_from` are never used [INFO] [stdout] --> src/middleware/api.rs:741:12 [INFO] [stdout] | [INFO] [stdout] 716 | impl NodeObjectPropertyMap { [INFO] [stdout] | -------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 741 | pub fn disable_operation(&mut self, operation: u8) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 755 | pub fn disable_all(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 766 | pub fn copy_from(&mut self, other: &NodeObjectPropertyMap) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_bytes` is never used [INFO] [stdout] --> src/middleware/api.rs:948:12 [INFO] [stdout] | [INFO] [stdout] 926 | impl EOJ { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 948 | pub fn as_bytes<'a>(&'a self) -> &'a [u8] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPC_DOCSOURCE_DEVICE_MASK` is never used [INFO] [stdout] --> src/middleware/epc_types.rs:79:7 [INFO] [stdout] | [INFO] [stdout] 79 | const EPC_DOCSOURCE_DEVICE_MASK: u16 = 0x00ff; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPC_DOCSOURCE_DEVICE_CLASS` is never used [INFO] [stdout] --> src/middleware/epc_types.rs:82:7 [INFO] [stdout] | [INFO] [stdout] 82 | const EPC_DOCSOURCE_DEVICE_CLASS: u16 = 0x0002; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPC_DOCSOURCE_PROFILE_MASK` is never used [INFO] [stdout] --> src/middleware/epc_types.rs:83:7 [INFO] [stdout] | [INFO] [stdout] 83 | const EPC_DOCSOURCE_PROFILE_MASK: u16 = 0xff00; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `source`, `mandatory`, `announce`, and `operations` are never read [INFO] [stdout] --> src/middleware/epc_types.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 93 | pub(super) struct StaticNodeProperty [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 102 | source: u16, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | mandatory: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | announce: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | operations: Cell, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: feature `type_alias_impl_trait` is declared but not used [INFO] [stdout] --> src/main.rs:3:49 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(assert_matches, generic_const_exprs, type_alias_impl_trait)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.79s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.31.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4` [INFO] running `Command { std: "docker" "inspect" "7d09613e7e7aa1db813afc97f9413cf5e654d415df6b5110f7772b272eac6013", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7d09613e7e7aa1db813afc97f9413cf5e654d415df6b5110f7772b272eac6013", kill_on_drop: false }` [INFO] [stdout] 7d09613e7e7aa1db813afc97f9413cf5e654d415df6b5110f7772b272eac6013