[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 try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkanwhoa%2Fechonet2ha" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc2/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-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kanwhoa/echonet2ha on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "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" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 18e38c082a592bac2345cce42e5befcaa116bb91fd0a9d211c8a27c4e7274aee
[INFO] running `Command { std: "docker" "start" "-a" "18e38c082a592bac2345cce42e5befcaa116bb91fd0a9d211c8a27c4e7274aee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "18e38c082a592bac2345cce42e5befcaa116bb91fd0a9d211c8a27c4e7274aee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "18e38c082a592bac2345cce42e5befcaa116bb91fd0a9d211c8a27c4e7274aee", kill_on_drop: false }`
[INFO] [stdout] 18e38c082a592bac2345cce42e5befcaa116bb91fd0a9d211c8a27c4e7274aee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 157bfa88c7f5d4735fb45fda425aa45fee29a475e413d3baa2cd1de05e0a74cb
[INFO] running `Command { std: "docker" "start" "-a" "157bfa88c7f5d4735fb45fda425aa45fee29a475e413d3baa2cd1de05e0a74cb", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking unicode-ident v1.0.24
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking rand_core v0.10.0
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling nix v0.31.2
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]     Checking clap_lex v1.0.0
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]     Checking termcolor v1.1.3
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking proc-macro2 v1.0.106
[INFO] [stderr]     Checking chacha20 v0.10.0
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking clap_builder v4.5.60
[INFO] [stderr]     Checking quote v1.0.45
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking stderrlog v0.6.0
[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 derive_more-impl v2.1.1
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling clap_derive v4.5.55
[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 derive_more v2.1.1
[INFO] [stderr]     Checking clap v4.5.60
[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<Vec<u8>> {
[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 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<Vec<u8>> {
[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 = NodeObjectFaultDescription>, 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<Canonical = NodeObjectInstallationLocation>, 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 = NodeObjectInstallationLocation>, 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<crate::middleware::events::Event>;
[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<Box<dyn EpcWrapper>>
[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<Node>,
[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<bool, MiddlewareError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 741 |     pub fn disable_operation(&mut self, operation: u8) -> Result<bool, MiddlewareError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 755 |     pub fn disable_all(&mut self) -> Result<bool, MiddlewareError> {
[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<bool, MiddlewareError> {
[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<T>
[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<u8>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     from_canonical_fn: FromCanonicalType<T>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     validator_fn: ValidatorType<T>,
[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<T> StaticNodeProperty<T>
[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<Vec<u8>, 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 variable: `epc`
[INFO] [stdout]     --> src/middleware/epc_types.rs:1300:23
[INFO] [stdout]      |
[INFO] [stdout] 1300 |                 move |epc: &dyn Epc<Canonical = NodeObjectFaultDescription>, 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<Canonical = NodeObjectInstallationLocation>, 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 = NodeObjectInstallationLocation>, 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<crate::middleware::events::Event>;
[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<Box<dyn EpcWrapper>>
[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<Node>,
[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<bool, MiddlewareError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 755 |     pub fn disable_all(&mut self) -> Result<bool, MiddlewareError> {
[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<T>
[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<u8>,
[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 21.29s
[INFO] running `Command { std: "docker" "inspect" "157bfa88c7f5d4735fb45fda425aa45fee29a475e413d3baa2cd1de05e0a74cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "157bfa88c7f5d4735fb45fda425aa45fee29a475e413d3baa2cd1de05e0a74cb", kill_on_drop: false }`
[INFO] [stdout] 157bfa88c7f5d4735fb45fda425aa45fee29a475e413d3baa2cd1de05e0a74cb
