[INFO] cloning repository https://github.com/seadonggyun4/mabinogion
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/seadonggyun4/mabinogion" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseadonggyun4%2Fmabinogion", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseadonggyun4%2Fmabinogion'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1c082fe06e7ec02b3b34d3bb66c47d9e0360df19
[INFO] checking seadonggyun4/mabinogion against master#64b72a1fa5449d928d5f553b01a596b78ee255d2 for pr-153457
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseadonggyun4%2Fmabinogion" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/seadonggyun4/mabinogion
[INFO] finished tweaking git repo https://github.com/seadonggyun4/mabinogion
[INFO] tweaked toml for git repo https://github.com/seadonggyun4/mabinogion written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/seadonggyun4/mabinogion on toolchain 64b72a1fa5449d928d5f553b01a596b78ee255d2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+64b72a1fa5449d928d5f553b01a596b78ee255d2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/seadonggyun4/mabinogion 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" "+64b72a1fa5449d928d5f553b01a596b78ee255d2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ctrlc v3.5.1
[INFO] [stderr]   Downloaded clap_complete v4.5.65
[INFO] [stderr]   Downloaded hostname v0.4.2
[INFO] [stderr]   Downloaded notify-debouncer-mini v0.4.1
[INFO] [stderr]   Downloaded tokio-modbus v0.11.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+64b72a1fa5449d928d5f553b01a596b78ee255d2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b640f2a9c0c1b736a8ccf47a1ae75887ff0a71b8f1dd8ce2f392d3911a4d7884
[INFO] running `Command { std: "docker" "start" "-a" "b640f2a9c0c1b736a8ccf47a1ae75887ff0a71b8f1dd8ce2f392d3911a4d7884", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b640f2a9c0c1b736a8ccf47a1ae75887ff0a71b8f1dd8ce2f392d3911a4d7884", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b640f2a9c0c1b736a8ccf47a1ae75887ff0a71b8f1dd8ce2f392d3911a4d7884", kill_on_drop: false }`
[INFO] [stdout] b640f2a9c0c1b736a8ccf47a1ae75887ff0a71b8f1dd8ce2f392d3911a4d7884
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+64b72a1fa5449d928d5f553b01a596b78ee255d2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8cbb3fd0c4de5e9509520a6a629b3577c2d93b178dde26e6d101e8f1a1eddd30
[INFO] running `Command { std: "docker" "start" "-a" "8cbb3fd0c4de5e9509520a6a629b3577c2d93b178dde26e6d101e8f1a1eddd30", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling zmij v1.0.14
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking bytes v1.11.0
[INFO] [stderr]    Compiling protobuf v2.28.0
[INFO] [stderr]     Checking deranged v0.5.5
[INFO] [stderr]     Checking time-core v0.1.7
[INFO] [stderr]    Compiling prometheus v0.13.4
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking ryu v1.0.22
[INFO] [stderr]     Checking terminal_size v0.4.3
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking clap_builder v4.5.54
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling portable-atomic v1.13.0
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]    Compiling mabi-cli v1.3.2 (/opt/rustwide/workdir/crates/mabi-cli)
[INFO] [stderr]     Checking shell-words v1.1.1
[INFO] [stderr]     Checking float-cmp v0.10.0
[INFO] [stderr]     Checking humansize v2.1.3
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking time v0.3.45
[INFO] [stderr]     Checking getrandom v0.3.4
[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 socket2 v0.6.1
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking filetime v0.2.26
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking hostname v0.4.2
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking uuid v1.19.0
[INFO] [stderr]     Checking tempfile v3.24.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]     Checking notify v6.1.1
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking notify-debouncer-mini v0.4.1
[INFO] [stderr]     Checking ctrlc v3.5.1
[INFO] [stderr]     Checking comfy-table v7.2.2
[INFO] [stderr]    Compiling darling_core v0.14.4
[INFO] [stderr]     Checking predicates v3.1.3
[INFO] [stderr]     Checking assert_cmd v2.1.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.33
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling darling_macro v0.14.4
[INFO] [stderr]     Checking dialoguer v0.11.0
[INFO] [stderr]     Checking zerocopy v0.8.33
[INFO] [stderr]     Checking clap v4.5.54
[INFO] [stderr]     Checking clap_complete v4.5.65
[INFO] [stderr]    Compiling darling v0.14.4
[INFO] [stderr]    Compiling derive_builder_core v0.12.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking humantime-serde v1.1.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]    Compiling derive_builder_macro v0.12.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking derive_builder v0.12.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking proptest v1.9.0
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking tracing-appender v0.2.4
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking mabi-core v1.3.2 (/opt/rustwide/workdir/crates/mabi-core)
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking tokio-modbus v0.11.0
[INFO] [stdout] warning: unused import: `crate::tags::Tags`
[INFO] [stdout]   --> crates/mabi-core/src/factory.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::tags::Tags;
[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 variable: `config`
[INFO] [stdout]    --> crates/mabi-core/src/config/mod.rs:914:13
[INFO] [stdout]     |
[INFO] [stdout] 914 |         let config = ProtocolConfig::BacnetIp(BacnetIpConfig::default());
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> crates/mabi-core/src/config/mod.rs:920:13
[INFO] [stdout]     |
[INFO] [stdout] 920 |         let config = ProtocolConfig::KnxIp(KnxIpConfig::default());
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking mabi-modbus v1.3.2 (/opt/rustwide/workdir/crates/mabi-modbus)
[INFO] [stderr]     Checking mabi-opcua v1.3.2 (/opt/rustwide/workdir/crates/mabi-opcua)
[INFO] [stderr]     Checking mabi-chaos v1.3.2 (/opt/rustwide/workdir/crates/mabi-chaos)
[INFO] [stderr]     Checking mabi-bacnet v1.3.2 (/opt/rustwide/workdir/crates/mabi-bacnet)
[INFO] [stderr]     Checking mabi-scenario v1.3.2 (/opt/rustwide/workdir/crates/mabi-scenario)
[INFO] [stderr]     Checking mabi-knx v1.3.2 (/opt/rustwide/workdir/crates/mabi-knx)
[INFO] [stdout] warning: unused import: `mabi_core::tags::Tags`
[INFO] [stdout]   --> crates/mabi-scenario/src/player.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use mabi_core::tags::Tags;
[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: `mabi_core::tags::Tags`
[INFO] [stdout]   --> crates/mabi-scenario/src/validation.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use mabi_core::tags::Tags;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> crates/mabi-chaos/src/error.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt;
[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: `std::sync::Arc`
[INFO] [stdout]  --> crates/mabi-chaos/src/context.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/mabi-chaos/src/registry.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/mabi-chaos/src/registry.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]  --> crates/mabi-chaos/src/registry.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use parking_lot::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FaultMetadata`
[INFO] [stdout]   --> crates/mabi-chaos/src/registry.rs:11:54
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::fault::{BoxedFault, Fault, FaultCategory, FaultMetadata, FaultSeverity};
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FaultFilter`
[INFO] [stdout]   --> crates/mabi-chaos/src/engine.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::registry::{FaultFilter, FaultRegistry};
[INFO] [stdout]    |                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ChaosType`
[INFO] [stdout]   --> crates/mabi-chaos/src/engine.rs:14:67
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::scheduler::{ChaosEvent, ChaosSchedule, ChaosScheduler, ChaosType};
[INFO] [stdout]    |                                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FaultContextBuilder` and `TargetInfo`
[INFO] [stdout]  --> crates/mabi-chaos/src/middleware.rs:7:36
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::context::{FaultContext, FaultContextBuilder, OperationType, TargetInfo, ResponseData};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResponseData`
[INFO] [stdout]  --> crates/mabi-chaos/src/device/corrupted_data.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::context::{FaultContext, ResponseData};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> crates/mabi-chaos/src/protocol/reorder.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> crates/mabi-chaos/src/protocol/reorder.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> crates/mabi-core/src/simulation/memory_sim.rs:355:50
[INFO] [stdout]     |
[INFO] [stdout] 355 |         assert!(snapshot.allocation_count > 0 || snapshot.current_bytes >= 0);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BinaryInput`
[INFO] [stdout]    --> crates/mabi-bacnet/src/object/registry.rs:339:61
[INFO] [stdout]     |
[INFO] [stdout] 339 |     use super::super::standard::{AnalogInput, AnalogOutput, BinaryInput, BinaryOutput};
[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: `StatusCode`
[INFO] [stdout]   --> crates/mabi-opcua/src/codec/variant.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::types::{NodeId, StatusCode, Variant, variant::DataTypeId};
[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: `DateTime` and `Utc`
[INFO] [stdout]  --> crates/mabi-opcua/src/nodes/base.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]  --> crates/mabi-opcua/src/nodes/classes.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ReferenceTypeId`
[INFO] [stdout]   --> crates/mabi-opcua/src/nodes/prefetch.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | use super::reference::{ReferenceTypeId, BrowseDirection};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AccessLevel`
[INFO] [stdout]  --> crates/mabi-opcua/src/nodes/variables.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::types::{NodeId, AccessLevel, Variant, variant::DataTypeId};
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/mabi-opcua/src/security/certificate.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> crates/mabi-opcua/src/security/certificate.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/mabi-opcua/src/security/crypto.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> crates/mabi-opcua/src/security/crypto.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, trace, warn};
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]  --> crates/mabi-opcua/src/security/manager.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use parking_lot::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> crates/mabi-opcua/src/security/manager.rs:10:28
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CryptoResult`
[INFO] [stdout]   --> crates/mabi-opcua/src/security/manager.rs:16:59
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::crypto::{CryptoProvider, CryptoProviderConfig, CryptoResult, KeyMaterial};
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/mabi-opcua/src/security/user_auth.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]   --> crates/mabi-opcua/src/security/user_auth.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use parking_lot::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValidationStatus`
[INFO] [stdout]   --> crates/mabi-opcua/src/security/user_auth.rs:15:59
[INFO] [stdout]    |
[INFO] [stdout] 15 | use super::certificate::{Certificate, CertificateManager, ValidationStatus};
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StatusCode` and `Variant`
[INFO] [stdout]  --> crates/mabi-opcua/src/services/monitored_item.rs:8:52
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::types::{NodeId, AttributeId, DataValue, StatusCode, Variant};
[INFO] [stdout]   |                                                    ^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/mabi-opcua/src/services/session.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> crates/mabi-opcua/src/services/session.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/mabi-opcua/src/services/subscription.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AtomicU64`
[INFO] [stdout]  --> crates/mabi-opcua/src/services/subscription.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::atomic::{AtomicU32, AtomicU64, Ordering};
[INFO] [stdout]   |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::interval`
[INFO] [stdout]   --> crates/mabi-opcua/src/services/subscription.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::time::interval;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `trace` and `warn`
[INFO] [stdout]   --> crates/mabi-opcua/src/services/subscription.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::{debug, info, trace, warn};
[INFO] [stdout]    |                            ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OpcUaResult`
[INFO] [stdout]  --> crates/mabi-opcua/src/transport/codec.rs:9:32
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::error::{OpcUaError, OpcUaResult};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OpcUaError`
[INFO] [stdout]  --> crates/mabi-opcua/src/channel/message.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::error::{OpcUaError, OpcUaResult};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StatusCode`
[INFO] [stdout]   --> crates/mabi-opcua/src/service/session.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::types::{NodeId, StatusCode};
[INFO] [stdout]    |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StatusCode` and `Variant`
[INFO] [stdout]   --> crates/mabi-opcua/src/service/attribute.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::types::{NodeId, StatusCode, AttributeId, DataValue, Variant};
[INFO] [stdout]    |                            ^^^^^^^^^^                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LocalizedText`, `NodeClass`, and `QualifiedName`
[INFO] [stdout]   --> crates/mabi-opcua/src/service/browse.rs:15:54
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::nodes::{BrowseDirection, ReferenceTypeId, LocalizedText, QualifiedName, NodeClass};
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> crates/mabi-chaos/src/error.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fmt;
[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: `std::sync::Arc`
[INFO] [stdout]  --> crates/mabi-chaos/src/context.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/mabi-chaos/src/registry.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/mabi-chaos/src/registry.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]  --> crates/mabi-chaos/src/registry.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use parking_lot::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FaultMetadata`
[INFO] [stdout]   --> crates/mabi-chaos/src/registry.rs:11:54
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::fault::{BoxedFault, Fault, FaultCategory, FaultMetadata, FaultSeverity};
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FaultFilter`
[INFO] [stdout]   --> crates/mabi-chaos/src/engine.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::registry::{FaultFilter, FaultRegistry};
[INFO] [stdout]    |                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ChaosType`
[INFO] [stdout]   --> crates/mabi-chaos/src/engine.rs:14:67
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::scheduler::{ChaosEvent, ChaosSchedule, ChaosScheduler, ChaosType};
[INFO] [stdout]    |                                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FaultContextBuilder` and `TargetInfo`
[INFO] [stdout]  --> crates/mabi-chaos/src/middleware.rs:7:36
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::context::{FaultContext, FaultContextBuilder, OperationType, TargetInfo, ResponseData};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResponseData`
[INFO] [stdout]  --> crates/mabi-chaos/src/device/corrupted_data.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::context::{FaultContext, ResponseData};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> crates/mabi-chaos/src/protocol/reorder.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> crates/mabi-chaos/src/protocol/reorder.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StatusCode`
[INFO] [stdout]   --> crates/mabi-opcua/src/codec/variant.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::types::{NodeId, StatusCode, Variant, variant::DataTypeId};
[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: `DateTime` and `Utc`
[INFO] [stdout]  --> crates/mabi-opcua/src/nodes/base.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]  --> crates/mabi-opcua/src/nodes/classes.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ReferenceTypeId`
[INFO] [stdout]   --> crates/mabi-opcua/src/nodes/prefetch.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | use super::reference::{ReferenceTypeId, BrowseDirection};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AccessLevel`
[INFO] [stdout]  --> crates/mabi-opcua/src/nodes/variables.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::types::{NodeId, AccessLevel, Variant, variant::DataTypeId};
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/mabi-opcua/src/security/certificate.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> crates/mabi-opcua/src/security/certificate.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/mabi-opcua/src/security/crypto.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> crates/mabi-opcua/src/security/crypto.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, trace, warn};
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]  --> crates/mabi-opcua/src/security/manager.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use parking_lot::RwLock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> crates/mabi-opcua/src/security/manager.rs:10:28
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CryptoResult`
[INFO] [stdout]   --> crates/mabi-opcua/src/security/manager.rs:16:59
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::crypto::{CryptoProvider, CryptoProviderConfig, CryptoResult, KeyMaterial};
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/mabi-opcua/src/security/user_auth.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parking_lot::RwLock`
[INFO] [stdout]   --> crates/mabi-opcua/src/security/user_auth.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use parking_lot::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValidationStatus`
[INFO] [stdout]   --> crates/mabi-opcua/src/security/user_auth.rs:15:59
[INFO] [stdout]    |
[INFO] [stdout] 15 | use super::certificate::{Certificate, CertificateManager, ValidationStatus};
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StatusCode`
[INFO] [stdout]  --> crates/mabi-opcua/src/services/monitored_item.rs:8:52
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::types::{NodeId, AttributeId, DataValue, StatusCode, Variant};
[INFO] [stdout]   |                                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/mabi-opcua/src/services/session.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> crates/mabi-opcua/src/services/session.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/mabi-opcua/src/services/subscription.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AtomicU64`
[INFO] [stdout]  --> crates/mabi-opcua/src/services/subscription.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::atomic::{AtomicU32, AtomicU64, Ordering};
[INFO] [stdout]   |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::interval`
[INFO] [stdout]   --> crates/mabi-opcua/src/services/subscription.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::time::interval;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `trace` and `warn`
[INFO] [stdout]   --> crates/mabi-opcua/src/services/subscription.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::{debug, info, trace, warn};
[INFO] [stdout]    |                            ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OpcUaResult`
[INFO] [stdout]  --> crates/mabi-opcua/src/transport/codec.rs:9:32
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::error::{OpcUaError, OpcUaResult};
[INFO] [stdout]   |                                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OpcUaError`
[INFO] [stdout]  --> crates/mabi-opcua/src/channel/message.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::error::{OpcUaError, OpcUaResult};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StatusCode`
[INFO] [stdout]   --> crates/mabi-opcua/src/service/session.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::types::{NodeId, StatusCode};
[INFO] [stdout]    |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StatusCode` and `Variant`
[INFO] [stdout]   --> crates/mabi-opcua/src/service/attribute.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::types::{NodeId, StatusCode, AttributeId, DataValue, Variant};
[INFO] [stdout]    |                            ^^^^^^^^^^                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LocalizedText`, `NodeClass`, and `QualifiedName`
[INFO] [stdout]   --> crates/mabi-opcua/src/service/browse.rs:15:54
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::nodes::{BrowseDirection, ReferenceTypeId, LocalizedText, QualifiedName, NodeClass};
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DptCodec`
[INFO] [stdout]   --> crates/mabi-knx/src/group.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::dpt::{BoxedDptCodec, DptCodec, DptId, DptRegistry, DptValue};
[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: `DptCodec`
[INFO] [stdout]   --> crates/mabi-knx/src/group.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::dpt::{BoxedDptCodec, DptCodec, DptId, DptRegistry, DptValue};
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_codec` is never used
[INFO] [stdout]    --> crates/mabi-knx/src/dpt/registry.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn get_codec(id: &DptId) -> Option<Arc<BoxedDptCodec>> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_codec_by_str` is never used
[INFO] [stdout]    --> crates/mabi-knx/src/dpt/registry.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub fn get_codec_by_str(id: &str) -> Option<Arc<BoxedDptCodec>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected_segments`, `invoke_id`, and `actual_window_size` are never read
[INFO] [stdout]    --> crates/mabi-bacnet/src/apdu/segmentation.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | struct AssemblyEntry {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 261 |     /// Expected total segments (if known).
[INFO] [stdout] 262 |     expected_segments: Option<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     invoke_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     actual_window_size: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AssemblyEntry` 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: field `max_entries` is never read
[INFO] [stdout]    --> crates/mabi-bacnet/src/apdu/segmentation.rs:365:5
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub struct SegmentAssembler {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 365 |     max_entries: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_restore_time` is never read
[INFO] [stdout]    --> crates/mabi-bacnet/src/object/device.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct DeviceObject {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 143 |     last_restore_time: RwLock<Option<BACnetDateTime>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lambda`
[INFO] [stdout]    --> crates/mabi-chaos/src/network/latency.rs:252:25
[INFO] [stdout]     |
[INFO] [stdout] 252 |                     let lambda = 1.0 / base;
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `behavior`
[INFO] [stdout]    --> crates/mabi-chaos/src/engine.rs:603:13
[INFO] [stdout]     |
[INFO] [stdout] 603 |         let behavior = engine.process(&mut ctx).await.unwrap();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_behavior`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncWriteExt`
[INFO] [stdout]   --> crates/mabi-modbus/src/testing/load_generator.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::AsyncWriteExt;
[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 variable: `lambda`
[INFO] [stdout]    --> crates/mabi-chaos/src/network/latency.rs:252:25
[INFO] [stdout]     |
[INFO] [stdout] 252 |                     let lambda = 1.0 / base;
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_lambda`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> crates/mabi-chaos/src/network/latency.rs:549:13
[INFO] [stdout]     |
[INFO] [stdout] 549 |         let result = fault.apply(&mut ctx).await.unwrap();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rng` is never read
[INFO] [stdout]    --> crates/mabi-chaos/src/network/bandwidth.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub struct BandwidthFault {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 146 |     rng: StdRng,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BandwidthFault` has derived impls for the traits `Clone` and `Debug`, but these are 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: field `rng` is never read
[INFO] [stdout]    --> crates/mabi-chaos/src/bacnet/property_fault.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub struct PropertyFault {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 260 |     rng: StdRng,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropertyFault` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rng` is never read
[INFO] [stdout]    --> crates/mabi-chaos/src/network/bandwidth.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub struct BandwidthFault {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 146 |     rng: StdRng,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BandwidthFault` has derived impls for the traits `Clone` and `Debug`, but these are 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: field `rng` is never read
[INFO] [stdout]    --> crates/mabi-chaos/src/bacnet/property_fault.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub struct PropertyFault {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 260 |     rng: StdRng,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropertyFault` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/mabi-chaos/src/registry.rs:259:16
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub fn get(&self, id: &str) -> Option<dashmap::mapref::one::Ref<String, FaultEntry>> {
[INFO] [stdout]     |                ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub fn get(&self, id: &str) -> Option<dashmap::mapref::one::Ref<'_, String, FaultEntry>> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/mabi-chaos/src/registry.rs:264:20
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub fn get_mut(&self, id: &str) -> Option<dashmap::mapref::one::RefMut<String, FaultEntry>> {
[INFO] [stdout]     |                    ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub fn get_mut(&self, id: &str) -> Option<dashmap::mapref::one::RefMut<'_, String, FaultEntry>> {
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/mabi-chaos/src/registry.rs:259:16
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub fn get(&self, id: &str) -> Option<dashmap::mapref::one::Ref<String, FaultEntry>> {
[INFO] [stdout]     |                ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                |
[INFO] [stdout]     |                the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub fn get(&self, id: &str) -> Option<dashmap::mapref::one::Ref<'_, String, FaultEntry>> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/mabi-chaos/src/registry.rs:264:20
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub fn get_mut(&self, id: &str) -> Option<dashmap::mapref::one::RefMut<String, FaultEntry>> {
[INFO] [stdout]     |                    ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 264 |     pub fn get_mut(&self, id: &str) -> Option<dashmap::mapref::one::RefMut<'_, String, FaultEntry>> {
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::base::Node`
[INFO] [stdout]   --> crates/mabi-opcua/src/nodes/prefetch.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use super::base::Node;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::base::Node`
[INFO] [stdout]   --> crates/mabi-opcua/src/nodes/prefetch.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use super::base::Node;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delete_handler`
[INFO] [stdout]    --> crates/mabi-bacnet/src/service/create_delete.rs:980:13
[INFO] [stdout]     |
[INFO] [stdout] 980 |         let delete_handler = DeleteObjectHandler::new();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delete_handler`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk_idx`
[INFO] [stdout]    --> crates/mabi-opcua/src/nodes/batch.rs:312:14
[INFO] [stdout]     |
[INFO] [stdout] 312 |         for (chunk_idx, chunk) in specs.chunks(chunk_size).enumerate() {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mabi-modbus/src/rtu/transport.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io::AsyncWriteExt`
[INFO] [stdout]   --> crates/mabi-modbus/src/testing/load_generator.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::io::AsyncWriteExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mabi-bacnet/src/service/subscribe_cov.rs:693:13
[INFO] [stdout]     |
[INFO] [stdout] 693 |         let mut data = vec![
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mabi-opcua/src/nodes/store.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let mut namespaces = vec![
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> crates/mabi-opcua/src/nodes/store.rs:966:14
[INFO] [stdout]     |
[INFO] [stdout] 966 |         for (idx, element) in elements.iter().enumerate() {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected_segments`, `invoke_id`, and `actual_window_size` are never read
[INFO] [stdout]    --> crates/mabi-bacnet/src/apdu/segmentation.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 260 | struct AssemblyEntry {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 261 |     /// Expected total segments (if known).
[INFO] [stdout] 262 |     expected_segments: Option<usize>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     invoke_id: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     actual_window_size: u8,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AssemblyEntry` 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: field `max_entries` is never read
[INFO] [stdout]    --> crates/mabi-bacnet/src/apdu/segmentation.rs:365:5
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub struct SegmentAssembler {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 365 |     max_entries: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_restore_time` is never read
[INFO] [stdout]    --> crates/mabi-bacnet/src/object/device.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct DeviceObject {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 143 |     last_restore_time: RwLock<Option<BACnetDateTime>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk_idx`
[INFO] [stdout]    --> crates/mabi-opcua/src/nodes/batch.rs:312:14
[INFO] [stdout]     |
[INFO] [stdout] 312 |         for (chunk_idx, chunk) in specs.chunks(chunk_size).enumerate() {
[INFO] [stdout]     |              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delay_ms`
[INFO] [stdout]    --> crates/mabi-modbus/src/scalability/resource_limiter.rs:464:25
[INFO] [stdout]     |
[INFO] [stdout] 464 |                     let delay_ms = (excess * 100.0) as u64; // Max 100ms delay
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay_ms`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> crates/mabi-modbus/src/testing/load_generator.rs:318:47
[INFO] [stdout]     |
[INFO] [stdout] 318 |     async fn send_request(stream: &TcpStream, config: &LoadConfig, stats: &LoadStats) -> bool {
[INFO] [stdout]     |                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_data`
[INFO] [stdout]    --> crates/mabi-opcua/src/security/user_auth.rs:516:59
[INFO] [stdout]     |
[INFO] [stdout] 516 |     fn authenticate_issued_token(&self, token_type: &str, token_data: &[u8]) -> AuthenticationResult {
[INFO] [stdout]     |                                                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shutdown`
[INFO] [stdout]    --> crates/mabi-opcua/src/server.rs:461:13
[INFO] [stdout]     |
[INFO] [stdout] 461 |         let shutdown = self.shutdown.clone();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shutdown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elements`
[INFO] [stdout]    --> crates/mabi-opcua/src/services/event.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout] 540 |         elements: &[ContentFilterElement],
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_default` is never used
[INFO] [stdout]    --> crates/mabi-modbus/src/registers/sparse_store.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl SparseRegisterStore {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 262 |     fn get_default(&self, reg_type: RegisterType) -> RegisterValue {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RegisterChange` is never constructed
[INFO] [stdout]    --> crates/mabi-modbus/src/registers/value.rs:143:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub struct RegisterChange {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `has_changed`, and `delta` are never used
[INFO] [stdout]    --> crates/mabi-modbus/src/registers/value.rs:153:18
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl RegisterChange {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub const fn new(old_value: RegisterValue, new_value: RegisterValue) -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub fn has_changed(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn delta(&self) -> i32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_length` is never read
[INFO] [stdout]    --> crates/mabi-modbus/src/rtu/codec.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     Receiving {
[INFO] [stdout]     |     --------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 115 |         expected_length: Option<usize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DecodeState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Complete` is never constructed
[INFO] [stdout]    --> crates/mabi-modbus/src/rtu/codec.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | enum DecodeState {
[INFO] [stdout]     |      ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |     Complete,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DecodeState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `server_tx`, `server_rx`, `client_tx`, `client_rx`, and `config` are never read
[INFO] [stdout]    --> crates/mabi-modbus/src/rtu/serial.rs:528:5
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub struct SerialPair {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 527 |     /// Server-side buffer.
[INFO] [stdout] 528 |     server_tx: tokio::sync::mpsc::Sender<Vec<u8>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 529 |     server_rx: tokio::sync::mpsc::Receiver<Vec<u8>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 532 |     client_tx: tokio::sync::mpsc::Sender<Vec<u8>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 533 |     client_rx: tokio::sync::mpsc::Receiver<Vec<u8>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 536 |     config: SerialConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SerialPair` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pending_updates` is never read
[INFO] [stdout]    --> crates/mabi-modbus/src/runtime/mod.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct RuntimeConfigManager {
[INFO] [stdout]     |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pending_updates: RwLock<Vec<ConfigUpdate>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `connection_ids` is never used
[INFO] [stdout]    --> crates/mabi-modbus/src/scalability/connection_pool.rs:271:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl ConnectionShard {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn connection_ids(&self) -> Vec<ConnectionId> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoalesceKey` is never constructed
[INFO] [stdout]    --> crates/mabi-modbus/src/scalability/batch_processor.rs:278:8
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct CoalesceKey {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `concurrency_semaphore` is never read
[INFO] [stdout]    --> crates/mabi-modbus/src/scalability/batch_processor.rs:323:5
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub struct BatchProcessor<T>
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 323 |     concurrency_semaphore: Arc<Semaphore>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mabi-opcua/src/nodes/store.rs:159:13
[INFO] [stdout]     |
[INFO] [stdout] 159 |         let mut namespaces = vec![
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/mabi-modbus/src/testing/memory.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn start(&self) -> MemoryProfilerGuard {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn start(&self) -> MemoryProfilerGuard<'_> {
[INFO] [stdout]    |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/mabi-modbus/src/types/converter.rs:363:31
[INFO] [stdout]     |
[INFO] [stdout] 363 |     pub fn registers_to_value(&self, data_type: RegisterDataType, registers: &[u16]) -> TypedValue {
[INFO] [stdout]     |                               ^^^^^ the lifetime is elided here                         ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 363 |     pub fn registers_to_value(&self, data_type: RegisterDataType, registers: &[u16]) -> TypedValue<'_> {
[INFO] [stdout]     |                                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> crates/mabi-opcua/src/nodes/store.rs:966:14
[INFO] [stdout]     |
[INFO] [stdout] 966 |         for (idx, element) in elements.iter().enumerate() {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RegisterStoreConfig`
[INFO] [stdout]   --> crates/mabi-modbus/tests/performance_validation.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 | use mabi_modbus::registers::{RegisterStoreConfig, SparseRegisterStore};
[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 variable: `rt`
[INFO] [stdout]    --> crates/mabi-modbus/benches/scalability_bench.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |     let rt = tokio::runtime::Runtime::new().unwrap();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_rt`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `le_conv`
[INFO] [stdout]   --> crates/mabi-modbus/tests/advanced_features.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |     let le_conv = RegisterConverter::little_endian();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_le_conv`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/mabi-modbus/src/rtu/transport.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |         mut self: Pin<&mut Self>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TARGET_UNITS` is never used
[INFO] [stdout]   --> crates/mabi-modbus/tests/stress_tests.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const TARGET_UNITS: u8 = 247; // Max valid unit ID
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TARGET_DATA_POINTS` is never used
[INFO] [stdout]   --> crates/mabi-modbus/tests/stress_tests.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const TARGET_DATA_POINTS: usize = 1_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_client` is never used
[INFO] [stdout]   --> crates/mabi-modbus/tests/integration_tests.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 | async fn create_client(port: u16) -> tokio_modbus::client::Context {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_data`
[INFO] [stdout]    --> crates/mabi-opcua/src/security/user_auth.rs:516:59
[INFO] [stdout]     |
[INFO] [stdout] 516 |     fn authenticate_issued_token(&self, token_type: &str, token_data: &[u8]) -> AuthenticationResult {
[INFO] [stdout]     |                                                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shutdown`
[INFO] [stdout]    --> crates/mabi-opcua/src/server.rs:461:13
[INFO] [stdout]     |
[INFO] [stdout] 461 |         let shutdown = self.shutdown.clone();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shutdown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elements`
[INFO] [stdout]    --> crates/mabi-opcua/src/services/event.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout] 540 |         elements: &[ContentFilterElement],
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delay_ms`
[INFO] [stdout]    --> crates/mabi-modbus/src/scalability/resource_limiter.rs:464:25
[INFO] [stdout]     |
[INFO] [stdout] 464 |                     let delay_ms = (excess * 100.0) as u64; // Max 100ms delay
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delay_ms`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `default_config` is never read
[INFO] [stdout]   --> crates/mabi-opcua/src/factory.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct OpcUaDeviceFactory {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 73 |     /// Default server configuration.
[INFO] [stdout] 74 |     default_config: OpcUaServerConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `priority` and `timestamp` are never read
[INFO] [stdout]    --> crates/mabi-opcua/src/nodes/prefetch.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 224 | struct PrefetchRequest {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 228 |     priority: u8,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 229 |     /// Request timestamp.
[INFO] [stdout] 230 |     timestamp: Instant,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PrefetchRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_running` is never read
[INFO] [stdout]    --> crates/mabi-opcua/src/nodes/prefetch.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct NodePrefetcher {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 240 |     is_running: AtomicBool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stats` is never read
[INFO] [stdout]    --> crates/mabi-opcua/src/nodes/store.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct AddressSpace {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 145 |     stats: NodeStoreStats,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `issuer_store` is never read
[INFO] [stdout]    --> crates/mabi-opcua/src/security/certificate.rs:546:5
[INFO] [stdout]     |
[INFO] [stdout] 540 | pub struct CertificateManager {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 546 |     issuer_store: Arc<CertificateStore>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `crypto_provider` is never read
[INFO] [stdout]    --> crates/mabi-opcua/src/security/user_auth.rs:330:5
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub struct UserAuthenticator {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 330 |     crypto_provider: CryptoProvider,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]    --> crates/mabi-opcua/src/services/monitored_item.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub struct MonitoredItem {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 232 |     created_at: DateTime<Utc>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MonitoredItem` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]    --> crates/mabi-opcua/src/services/subscription.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout]  86 | pub struct Subscription {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 108 |     created_at: DateTime<Utc>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> crates/mabi-modbus/src/testing/load_generator.rs:318:47
[INFO] [stdout]     |
[INFO] [stdout] 318 |     async fn send_request(stream: &TcpStream, config: &LoadConfig, stats: &LoadStats) -> bool {
[INFO] [stdout]     |                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_default` is never used
[INFO] [stdout]    --> crates/mabi-modbus/src/registers/sparse_store.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl SparseRegisterStore {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 262 |     fn get_default(&self, reg_type: RegisterType) -> RegisterValue {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expected_length` is never read
[INFO] [stdout]    --> crates/mabi-modbus/src/rtu/codec.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     Receiving {
[INFO] [stdout]     |     --------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 115 |         expected_length: Option<usize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DecodeState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Complete` is never constructed
[INFO] [stdout]    --> crates/mabi-modbus/src/rtu/codec.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | enum DecodeState {
[INFO] [stdout]     |      ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |     Complete,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DecodeState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `server_tx`, `server_rx`, `client_tx`, `client_rx`, and `config` are never read
[INFO] [stdout]    --> crates/mabi-modbus/src/rtu/serial.rs:528:5
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub struct SerialPair {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 527 |     /// Server-side buffer.
[INFO] [stdout] 528 |     server_tx: tokio::sync::mpsc::Sender<Vec<u8>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 529 |     server_rx: tokio::sync::mpsc::Receiver<Vec<u8>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 532 |     client_tx: tokio::sync::mpsc::Sender<Vec<u8>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 533 |     client_rx: tokio::sync::mpsc::Receiver<Vec<u8>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 536 |     config: SerialConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SerialPair` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pending_updates` is never read
[INFO] [stdout]    --> crates/mabi-modbus/src/runtime/mod.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct RuntimeConfigManager {
[INFO] [stdout]     |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pending_updates: RwLock<Vec<ConfigUpdate>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `connection_ids` is never used
[INFO] [stdout]    --> crates/mabi-modbus/src/scalability/connection_pool.rs:271:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl ConnectionShard {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn connection_ids(&self) -> Vec<ConnectionId> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoalesceKey` is never constructed
[INFO] [stdout]    --> crates/mabi-modbus/src/scalability/batch_processor.rs:278:8
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct CoalesceKey {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `concurrency_semaphore` is never read
[INFO] [stdout]    --> crates/mabi-modbus/src/scalability/batch_processor.rs:323:5
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub struct BatchProcessor<T>
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 323 |     concurrency_semaphore: Arc<Semaphore>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/mabi-modbus/src/testing/memory.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn start(&self) -> MemoryProfilerGuard {
[INFO] [stdout]    |                  ^^^^^     ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn start(&self) -> MemoryProfilerGuard<'_> {
[INFO] [stdout]    |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/mabi-modbus/src/types/converter.rs:363:31
[INFO] [stdout]     |
[INFO] [stdout] 363 |     pub fn registers_to_value(&self, data_type: RegisterDataType, registers: &[u16]) -> TypedValue {
[INFO] [stdout]     |                               ^^^^^ the lifetime is elided here                         ^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 363 |     pub fn registers_to_value(&self, data_type: RegisterDataType, registers: &[u16]) -> TypedValue<'_> {
[INFO] [stdout]     |                                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `default_config` is never read
[INFO] [stdout]   --> crates/mabi-opcua/src/factory.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct OpcUaDeviceFactory {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 73 |     /// Default server configuration.
[INFO] [stdout] 74 |     default_config: OpcUaServerConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `priority` and `timestamp` are never read
[INFO] [stdout]    --> crates/mabi-opcua/src/nodes/prefetch.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 224 | struct PrefetchRequest {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 228 |     priority: u8,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 229 |     /// Request timestamp.
[INFO] [stdout] 230 |     timestamp: Instant,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PrefetchRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_running` is never read
[INFO] [stdout]    --> crates/mabi-opcua/src/nodes/prefetch.rs:240:5
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct NodePrefetcher {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 240 |     is_running: AtomicBool,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stats` is never read
[INFO] [stdout]    --> crates/mabi-opcua/src/nodes/store.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct AddressSpace {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 145 |     stats: NodeStoreStats,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `issuer_store` is never read
[INFO] [stdout]    --> crates/mabi-opcua/src/security/certificate.rs:546:5
[INFO] [stdout]     |
[INFO] [stdout] 540 | pub struct CertificateManager {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 546 |     issuer_store: Arc<CertificateStore>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `crypto_provider` is never read
[INFO] [stdout]    --> crates/mabi-opcua/src/security/user_auth.rs:330:5
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub struct UserAuthenticator {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 330 |     crypto_provider: CryptoProvider,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]    --> crates/mabi-opcua/src/services/monitored_item.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub struct MonitoredItem {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 232 |     created_at: DateTime<Utc>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MonitoredItem` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]    --> crates/mabi-opcua/src/services/subscription.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout]  86 | pub struct Subscription {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 108 |     created_at: DateTime<Utc>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> crates/mabi-opcua/benches/opcua_bench.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |         manager.create(SubscriptionConfig::default());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let _ = manager.create(SubscriptionConfig::default());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CliError`
[INFO] [stdout]  --> crates/mabi-cli/src/commands/list.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::error::{CliError, CliResult};
[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: `Style`
[INFO] [stdout]  --> crates/mabi-cli/src/output.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use console::{style, Style};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> crates/mabi-cli/src/output.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{self, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> crates/mabi-cli/src/runner.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> crates/mabi-cli/src/runner.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CliError`
[INFO] [stdout]  --> crates/mabi-cli/src/commands/list.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::error::{CliError, CliResult};
[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: `Style`
[INFO] [stdout]  --> crates/mabi-cli/src/output.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use console::{style, Style};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> crates/mabi-cli/src/output.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{self, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> crates/mabi-cli/src/runner.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::pin::Pin`
[INFO] [stdout]  --> crates/mabi-cli/src/runner.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::pin::Pin;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mabi_core::prelude`
[INFO] [stdout]   --> crates/mabi-cli/src/commands/run.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use mabi_core::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mabi_core::prelude`
[INFO] [stdout]   --> crates/mabi-cli/src/commands/run.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use mabi_core::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 09s
[INFO] running `Command { std: "docker" "inspect" "8cbb3fd0c4de5e9509520a6a629b3577c2d93b178dde26e6d101e8f1a1eddd30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8cbb3fd0c4de5e9509520a6a629b3577c2d93b178dde26e6d101e8f1a1eddd30", kill_on_drop: false }`
[INFO] [stdout] 8cbb3fd0c4de5e9509520a6a629b3577c2d93b178dde26e6d101e8f1a1eddd30
