[INFO] cloning repository https://github.com/matthicks05/battsim2
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/matthicks05/battsim2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatthicks05%2Fbattsim2", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatthicks05%2Fbattsim2'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fb7fb064505e02c2048e6e90addcc1336bdbba8e
[INFO] testing matthicks05/battsim2 against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmatthicks05%2Fbattsim2" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/matthicks05/battsim2
[INFO] finished tweaking git repo https://github.com/matthicks05/battsim2
[INFO] tweaked toml for git repo https://github.com/matthicks05/battsim2 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/matthicks05/battsim2 on toolchain 1.98.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/matthicks05/battsim2 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" "+1.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-modbus v0.11.0
[INFO] [stderr]   Downloaded ratatui v0.24.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f52b4cb68cb9fb7513762448bc283ce22ec440a4516f6caf38ae4c26727aa043
[INFO] running `Command { std: "docker" "start" "f52b4cb68cb9fb7513762448bc283ce22ec440a4516f6caf38ae4c26727aa043", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f52b4cb68cb9fb7513762448bc283ce22ec440a4516f6caf38ae4c26727aa043", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f52b4cb68cb9fb7513762448bc283ce22ec440a4516f6caf38ae4c26727aa043" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f52b4cb68cb9fb7513762448bc283ce22ec440a4516f6caf38ae4c26727aa043", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f52b4cb68cb9fb7513762448bc283ce22ec440a4516f6caf38ae4c26727aa043" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling deranged v0.5.3
[INFO] [stderr]    Compiling nu-ansi-term v0.50.1
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling itertools v0.11.0
[INFO] [stderr]    Compiling indoc v2.0.6
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling time v0.3.43
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tracing-appender v0.2.3
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling ratatui v0.24.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-modbus v0.11.0
[INFO] [stderr]    Compiling battsim2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `registers::*`
[INFO] [stdout]  --> src/modbus/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use registers::*;
[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: `app::*`
[INFO] [stdout]  --> src/ui/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use app::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widgets::*`
[INFO] [stdout]  --> src/ui/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use widgets::*;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `terminal::*`
[INFO] [stdout]  --> src/ui/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use terminal::*;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bitmap` is never used
[INFO] [stdout]    --> src/battery/types.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl FaultCode {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn from_bitmap(bitmap: u32) -> Vec<FaultCode> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bitmap` is never used
[INFO] [stdout]    --> src/battery/types.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl WarningCode {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn from_bitmap(bitmap: u32) -> Vec<WarningCode> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_ambient_temperature` is never used
[INFO] [stdout]   --> src/battery/simulation.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl BatterySimulator {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn set_ambient_temperature(&mut self, temp: f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/battery/state.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl BatteryStateManager {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn update_config(&self, config: BatteryConfig) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn update_state(&self, new_state: BatteryState) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn time_since_update(&self) -> Result<Duration> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn is_stale(&self) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn add_fault(&self, fault: FaultCode) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn clear_fault(&self, fault: FaultCode) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn add_warning(&self, warning: WarningCode) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn clear_warning(&self, warning: WarningCode) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn clear_all_faults_and_warnings(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     pub fn set_system_state(&self, new_state: SystemState) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn set_modbus_clients(&self, count: u32) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FunctionCode` is never used
[INFO] [stdout]   --> src/modbus/server.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum FunctionCode {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `protocol_id` and `length` are never read
[INFO] [stdout]   --> src/modbus/server.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ModbusRequest {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 33 |     pub transaction_id: u16,
[INFO] [stdout] 34 |     pub protocol_id: u16,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 35 |     pub length: u16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModbusRequest` 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 `get_client_count` is never used
[INFO] [stdout]    --> src/modbus/server.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl ModbusTcpServer {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub async fn get_client_count(&self) -> u32 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `int16_to_f64_scaled` is never used
[INFO] [stdout]   --> src/modbus/registers.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl ModbusConverter {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn int16_to_f64_scaled(value: i16, scale: f64) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_input_register` and `read_holding_register` are never used
[INFO] [stdout]    --> src/modbus/registers.rs:243:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl ModbusRegisterMap {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn read_input_register(&self, address: u16) -> Option<u16> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn read_holding_register(&self, address: u16) -> Option<u16> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `take_pending_setpoints` is never used
[INFO] [stdout]    --> src/ui/app.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl App {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn take_pending_setpoints(&mut self) -> Option<ControlSetpoints> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Tui` is never used
[INFO] [stdout]   --> src/ui/terminal.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub type Tui = Terminal<CrosstermBackend<std::io::Stdout>>;
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init` is never used
[INFO] [stdout]   --> src/ui/terminal.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn init() -> io::Result<Tui> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore` is never used
[INFO] [stdout]   --> src/ui/terminal.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn restore() -> io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 50.63s
[INFO] running `Command { std: "docker" "inspect" "f52b4cb68cb9fb7513762448bc283ce22ec440a4516f6caf38ae4c26727aa043", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f52b4cb68cb9fb7513762448bc283ce22ec440a4516f6caf38ae4c26727aa043" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling battsim2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `registers::*`
[INFO] [stdout]  --> src/modbus/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use registers::*;
[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: `app::*`
[INFO] [stdout]  --> src/ui/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use app::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `widgets::*`
[INFO] [stdout]  --> src/ui/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use widgets::*;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `terminal::*`
[INFO] [stdout]  --> src/ui/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use terminal::*;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state_tx`
[INFO] [stdout]    --> src/modbus/server.rs:512:14
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let (state_tx, state_rx) = watch::channel(BatteryState::default());
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_state_tx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state_tx`
[INFO] [stdout]    --> src/modbus/server.rs:538:14
[INFO] [stdout]     |
[INFO] [stdout] 538 |         let (state_tx, state_rx) = watch::channel(BatteryState::default());
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_state_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state_tx`
[INFO] [stdout]    --> src/modbus/server.rs:512:14
[INFO] [stdout]     |
[INFO] [stdout] 512 |         let (state_tx, state_rx) = watch::channel(BatteryState::default());
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_state_tx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state_tx`
[INFO] [stdout]    --> src/modbus/server.rs:538:14
[INFO] [stdout]     |
[INFO] [stdout] 538 |         let (state_tx, state_rx) = watch::channel(BatteryState::default());
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_state_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bitmap` is never used
[INFO] [stdout]    --> src/battery/types.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl FaultCode {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn from_bitmap(bitmap: u32) -> Vec<FaultCode> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bitmap` is never used
[INFO] [stdout]    --> src/battery/types.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl WarningCode {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn from_bitmap(bitmap: u32) -> Vec<WarningCode> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_ambient_temperature` is never used
[INFO] [stdout]   --> src/battery/simulation.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl BatterySimulator {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn set_ambient_temperature(&mut self, temp: f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/battery/state.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl BatteryStateManager {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn update_config(&self, config: BatteryConfig) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn update_state(&self, new_state: BatteryState) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn time_since_update(&self) -> Result<Duration> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn is_stale(&self) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn add_warning(&self, warning: WarningCode) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn clear_warning(&self, warning: WarningCode) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn clear_all_faults_and_warnings(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     pub fn set_system_state(&self, new_state: SystemState) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn set_modbus_clients(&self, count: u32) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FunctionCode` is never used
[INFO] [stdout]   --> src/modbus/server.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum FunctionCode {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `protocol_id` and `length` are never read
[INFO] [stdout]   --> src/modbus/server.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ModbusRequest {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 33 |     pub transaction_id: u16,
[INFO] [stdout] 34 |     pub protocol_id: u16,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 35 |     pub length: u16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModbusRequest` 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 `get_client_count` is never used
[INFO] [stdout]    --> src/modbus/server.rs:131:18
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl ModbusTcpServer {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub async fn get_client_count(&self) -> u32 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_holding_register` is never used
[INFO] [stdout]    --> src/modbus/registers.rs:255:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl ModbusRegisterMap {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 255 |     pub fn read_holding_register(&self, address: u16) -> Option<u16> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `take_pending_setpoints` is never used
[INFO] [stdout]    --> src/ui/app.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl App {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn take_pending_setpoints(&mut self) -> Option<ControlSetpoints> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Tui` is never used
[INFO] [stdout]   --> src/ui/terminal.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub type Tui = Terminal<CrosstermBackend<std::io::Stdout>>;
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init` is never used
[INFO] [stdout]   --> src/ui/terminal.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn init() -> io::Result<Tui> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `restore` is never used
[INFO] [stdout]   --> src/ui/terminal.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn restore() -> io::Result<()> {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 4.24s
[INFO] running `Command { std: "docker" "inspect" "f52b4cb68cb9fb7513762448bc283ce22ec440a4516f6caf38ae4c26727aa043", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f52b4cb68cb9fb7513762448bc283ce22ec440a4516f6caf38ae4c26727aa043" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `registers::*`
[INFO] [stderr]  --> src/modbus/mod.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use registers::*;
[INFO] [stderr]   |         ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `app::*`
[INFO] [stderr]  --> src/ui/mod.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use app::*;
[INFO] [stderr]   |         ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `widgets::*`
[INFO] [stderr]  --> src/ui/mod.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub use widgets::*;
[INFO] [stderr]   |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `terminal::*`
[INFO] [stderr]  --> src/ui/mod.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub use terminal::*;
[INFO] [stderr]   |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state_tx`
[INFO] [stderr]    --> src/modbus/server.rs:512:14
[INFO] [stderr]     |
[INFO] [stderr] 512 |         let (state_tx, state_rx) = watch::channel(BatteryState::default());
[INFO] [stderr]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_state_tx`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state_tx`
[INFO] [stderr]    --> src/modbus/server.rs:538:14
[INFO] [stderr]     |
[INFO] [stderr] 538 |         let (state_tx, state_rx) = watch::channel(BatteryState::default());
[INFO] [stderr]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_state_tx`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_bitmap` is never used
[INFO] [stderr]    --> src/battery/types.rs:150:12
[INFO] [stderr]     |
[INFO] [stderr] 145 | impl FaultCode {
[INFO] [stderr]     | -------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 150 |     pub fn from_bitmap(bitmap: u32) -> Vec<FaultCode> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_bitmap` is never used
[INFO] [stderr]    --> src/battery/types.rs:176:12
[INFO] [stderr]     |
[INFO] [stderr] 171 | impl WarningCode {
[INFO] [stderr]     | ---------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub fn from_bitmap(bitmap: u32) -> Vec<WarningCode> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_ambient_temperature` is never used
[INFO] [stderr]   --> src/battery/simulation.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl BatterySimulator {
[INFO] [stderr]    | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 33 |     pub fn set_ambient_temperature(&mut self, temp: f64) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/battery/state.rs:93:12
[INFO] [stderr]     |
[INFO] [stderr]  18 | impl BatteryStateManager {
[INFO] [stderr]     | ------------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  93 |     pub fn update_config(&self, config: BatteryConfig) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 103 |     pub fn update_state(&self, new_state: BatteryState) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 241 |     pub fn time_since_update(&self) -> Result<Duration> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 248 |     pub fn is_stale(&self) -> Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 287 |     pub fn add_warning(&self, warning: WarningCode) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 301 |     pub fn clear_warning(&self, warning: WarningCode) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 313 |     pub fn clear_all_faults_and_warnings(&self) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 330 |     pub fn set_system_state(&self, new_state: SystemState) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 350 |     pub fn set_modbus_clients(&self, count: u32) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `FunctionCode` is never used
[INFO] [stderr]   --> src/modbus/server.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub enum FunctionCode {
[INFO] [stderr]    |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `protocol_id` and `length` are never read
[INFO] [stderr]   --> src/modbus/server.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct ModbusRequest {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 33 |     pub transaction_id: u16,
[INFO] [stderr] 34 |     pub protocol_id: u16,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 35 |     pub length: u16,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ModbusRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_client_count` is never used
[INFO] [stderr]    --> src/modbus/server.rs:131:18
[INFO] [stderr]     |
[INFO] [stderr]  62 | impl ModbusTcpServer {
[INFO] [stderr]     | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 131 |     pub async fn get_client_count(&self) -> u32 {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `read_holding_register` is never used
[INFO] [stderr]    --> src/modbus/registers.rs:255:12
[INFO] [stderr]     |
[INFO] [stderr] 132 | impl ModbusRegisterMap {
[INFO] [stderr]     | ---------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 255 |     pub fn read_holding_register(&self, address: u16) -> Option<u16> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `take_pending_setpoints` is never used
[INFO] [stderr]    --> src/ui/app.rs:125:12
[INFO] [stderr]     |
[INFO] [stderr]  57 | impl App {
[INFO] [stderr]     | -------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 125 |     pub fn take_pending_setpoints(&mut self) -> Option<ControlSetpoints> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Tui` is never used
[INFO] [stderr]   --> src/ui/terminal.rs:12:10
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub type Tui = Terminal<CrosstermBackend<std::io::Stdout>>;
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `init` is never used
[INFO] [stderr]   --> src/ui/terminal.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn init() -> io::Result<Tui> {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `restore` is never used
[INFO] [stderr]   --> src/ui/terminal.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn restore() -> io::Result<()> {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `battsim2` (bin "battsim2" test) generated 18 warnings (run `cargo fix --bin "battsim2" -p battsim2 --tests` to apply 6 suggestions)
[INFO] [stderr] warning: `battsim2` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/battsim2-8a86ecadfdc4c284)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test battery::simulation::tests::test_fault_detection ... ok
[INFO] [stdout] test battery::state::tests::test_electrical_update ... ok
[INFO] [stdout] test battery::state::tests::test_fault_management ... ok
[INFO] [stdout] test modbus::server::tests::test_request_parsing ... ok
[INFO] [stdout] test modbus::server::tests::test_response_serialization ... ok
[INFO] [stdout] test modbus::registers::tests::test_data_type_conversions ... ok
[INFO] [stdout] test battery::simulation::tests::test_soc_update ... FAILED
[INFO] [stdout] test battery::state::tests::test_state_manager_creation ... FAILED
[INFO] [stdout] test modbus::registers::tests::test_register_mapping ... FAILED
[INFO] [stdout] test battery::simulation::tests::test_simulator_creation ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- battery::simulation::tests::test_soc_update stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'battery::simulation::tests::test_soc_update' (1225) panicked at src/battery/simulation.rs:454:9:
[INFO] [stdout] assertion failed: state.electrical.soc < 50.0
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x651e9b647231 - <<std[97b98282bc616a66]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[832e9a552fc17241]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x651e9b65ba6a - core[832e9a552fc17241]::fmt::write
[INFO] [stdout]    2:     0x651e9b64bd3c - <alloc[3ecab9f82c41dc7d]::vec::Vec<u8> as std[97b98282bc616a66]::io::Write>::write_fmt
[INFO] [stdout]    3:     0x651e9b624ea6 - std[97b98282bc616a66]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x651e9b63f1f9 - std[97b98282bc616a66]::panicking::default_hook
[INFO] [stdout]    5:     0x651e9b5b45f0 - test[39766f3d73431624]::test_main_inner::<test[39766f3d73431624]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x651e9b63f3b2 - std[97b98282bc616a66]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x651e9b624f84 - std[97b98282bc616a66]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x651e9b61c309 - std[97b98282bc616a66]::sys::backtrace::__rust_end_short_backtrace::<std[97b98282bc616a66]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x651e9b625c5d - __rustc[e3d8617bb01b7f69]::rust_begin_unwind
[INFO] [stdout]   10:     0x651e9b65c1cc - core[832e9a552fc17241]::panicking::panic_fmt
[INFO] [stdout]   11:     0x651e9b65c192 - core[832e9a552fc17241]::panicking::panic
[INFO] [stdout]   12:     0x651e9b598db3 - battsim2[2adc537a562b146d]::battery::simulation::tests::test_soc_update::{closure#0}
[INFO] [stdout]   13:     0x651e9b59e0f3 - <tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::Context>::enter::<core[832e9a552fc17241]::task::poll::Poll<()>, <tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[832e9a552fc17241]::pin::Pin<&mut core[832e9a552fc17241]::pin::Pin<&mut dyn core[832e9a552fc17241]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x651e9b5a7379 - <std[97b98282bc616a66]::thread::local::LocalKey<tokio[80a6bf58aca86bb8]::runtime::context::Context>>::with::<tokio[80a6bf58aca86bb8]::runtime::context::set_scheduler<(alloc[3ecab9f82c41dc7d]::boxed::Box<tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::Core>, core[832e9a552fc17241]::option::Option<()>), <tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[832e9a552fc17241]::pin::Pin<&mut core[832e9a552fc17241]::pin::Pin<&mut dyn core[832e9a552fc17241]::future::future::Future<Output = ()>>>>::{closure#0}, core[832e9a552fc17241]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[3ecab9f82c41dc7d]::boxed::Box<tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::Core>, core[832e9a552fc17241]::option::Option<()>)>
[INFO] [stdout]   15:     0x651e9b59e6f7 - <tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[832e9a552fc17241]::pin::Pin<&mut core[832e9a552fc17241]::pin::Pin<&mut dyn core[832e9a552fc17241]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   16:     0x651e9b5a276a - tokio[80a6bf58aca86bb8]::runtime::context::runtime::enter_runtime::<<tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[832e9a552fc17241]::pin::Pin<&mut dyn core[832e9a552fc17241]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   17:     0x651e9b5a0d2d - <tokio[80a6bf58aca86bb8]::runtime::runtime::Runtime>::block_on::<core[832e9a552fc17241]::pin::Pin<&mut dyn core[832e9a552fc17241]::future::future::Future<Output = ()>>>
[INFO] [stdout]   18:     0x651e9b5998eb - battsim2[2adc537a562b146d]::battery::simulation::tests::test_soc_update
[INFO] [stdout]   19:     0x651e9b5a71d9 - <battsim2[2adc537a562b146d]::battery::simulation::tests::test_soc_update::{closure#0} as core[832e9a552fc17241]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   20:     0x651e9b5a792b - test[39766f3d73431624]::__rust_begin_short_backtrace::<core[832e9a552fc17241]::result::Result<(), alloc[3ecab9f82c41dc7d]::string::String>, fn() -> core[832e9a552fc17241]::result::Result<(), alloc[3ecab9f82c41dc7d]::string::String>>
[INFO] [stdout]   21:     0x651e9b5b4f75 - test[39766f3d73431624]::run_test::{closure#0}
[INFO] [stdout]   22:     0x651e9b5afa24 - std[97b98282bc616a66]::sys::backtrace::__rust_begin_short_backtrace::<test[39766f3d73431624]::run_test::{closure#1}, ()>
[INFO] [stdout]   23:     0x651e9b5b80c2 - <std[97b98282bc616a66]::thread::lifecycle::spawn_unchecked<test[39766f3d73431624]::run_test::{closure#1}, ()>::{closure#1} as core[832e9a552fc17241]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   24:     0x651e9b646a8f - <std[97b98282bc616a66]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   25:     0x71fc5851a07a - <unknown>
[INFO] [stdout]   26:     0x71fc585ad534 - clone
[INFO] [stdout]   27:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- battery::state::tests::test_state_manager_creation stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'battery::state::tests::test_state_manager_creation' (1228) panicked at src/battery/state.rs:385:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Offline
[INFO] [stdout]  right: Standby
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x651e9b647231 - <<std[97b98282bc616a66]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[832e9a552fc17241]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x651e9b65ba6a - core[832e9a552fc17241]::fmt::write
[INFO] [stdout]    2:     0x651e9b64bd3c - <alloc[3ecab9f82c41dc7d]::vec::Vec<u8> as std[97b98282bc616a66]::io::Write>::write_fmt
[INFO] [stdout]    3:     0x651e9b624ea6 - std[97b98282bc616a66]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x651e9b63f1f9 - std[97b98282bc616a66]::panicking::default_hook
[INFO] [stdout]    5:     0x651e9b5b45f0 - test[39766f3d73431624]::test_main_inner::<test[39766f3d73431624]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x651e9b63f3b2 - std[97b98282bc616a66]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x651e9b624f52 - std[97b98282bc616a66]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x651e9b61c309 - std[97b98282bc616a66]::sys::backtrace::__rust_end_short_backtrace::<std[97b98282bc616a66]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x651e9b625c5d - __rustc[e3d8617bb01b7f69]::rust_begin_unwind
[INFO] [stdout]   10:     0x651e9b65c1cc - core[832e9a552fc17241]::panicking::panic_fmt
[INFO] [stdout]   11:     0x651e9b65c0e3 - core[832e9a552fc17241]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x651e9b59f417 - core[832e9a552fc17241]::panicking::assert_failed::<battsim2[2adc537a562b146d]::battery::types::SystemState, battsim2[2adc537a562b146d]::battery::types::SystemState>
[INFO] [stdout]   13:     0x651e9b5a68e9 - battsim2[2adc537a562b146d]::battery::state::tests::test_state_manager_creation
[INFO] [stdout]   14:     0x651e9b5a7279 - <battsim2[2adc537a562b146d]::battery::state::tests::test_state_manager_creation::{closure#0} as core[832e9a552fc17241]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x651e9b5a792b - test[39766f3d73431624]::__rust_begin_short_backtrace::<core[832e9a552fc17241]::result::Result<(), alloc[3ecab9f82c41dc7d]::string::String>, fn() -> core[832e9a552fc17241]::result::Result<(), alloc[3ecab9f82c41dc7d]::string::String>>
[INFO] [stdout]   16:     0x651e9b5b4f75 - test[39766f3d73431624]::run_test::{closure#0}
[INFO] [stdout]   17:     0x651e9b5afa24 - std[97b98282bc616a66]::sys::backtrace::__rust_begin_short_backtrace::<test[39766f3d73431624]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x651e9b5b80c2 - <std[97b98282bc616a66]::thread::lifecycle::spawn_unchecked<test[39766f3d73431624]::run_test::{closure#1}, ()>::{closure#1} as core[832e9a552fc17241]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x651e9b646a8f - <std[97b98282bc616a66]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x71fc5851a07a - <unknown>
[INFO] [stdout]   21:     0x71fc585ad534 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- modbus::registers::tests::test_register_mapping stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'modbus::registers::tests::test_register_mapping' (1230) panicked at src/modbus/registers.rs:399:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Some(850)
[INFO] [stdout]  right: Some(500)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x651e9b647231 - <<std[97b98282bc616a66]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[832e9a552fc17241]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x651e9b65ba6a - core[832e9a552fc17241]::fmt::write
[INFO] [stdout]    2:     0x651e9b64bd3c - <alloc[3ecab9f82c41dc7d]::vec::Vec<u8> as std[97b98282bc616a66]::io::Write>::write_fmt
[INFO] [stdout]    3:     0x651e9b624ea6 - std[97b98282bc616a66]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x651e9b63f1f9 - std[97b98282bc616a66]::panicking::default_hook
[INFO] [stdout]    5:     0x651e9b5b45f0 - test[39766f3d73431624]::test_main_inner::<test[39766f3d73431624]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x651e9b63f3b2 - std[97b98282bc616a66]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x651e9b624f52 - std[97b98282bc616a66]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x651e9b61c309 - std[97b98282bc616a66]::sys::backtrace::__rust_end_short_backtrace::<std[97b98282bc616a66]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x651e9b625c5d - __rustc[e3d8617bb01b7f69]::rust_begin_unwind
[INFO] [stdout]   10:     0x651e9b65c1cc - core[832e9a552fc17241]::panicking::panic_fmt
[INFO] [stdout]   11:     0x651e9b65c0e3 - core[832e9a552fc17241]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x651e9b59f3b3 - core[832e9a552fc17241]::panicking::assert_failed::<core[832e9a552fc17241]::option::Option<u16>, core[832e9a552fc17241]::option::Option<u16>>
[INFO] [stdout]   13:     0x651e9b5a0939 - battsim2[2adc537a562b146d]::modbus::registers::tests::test_register_mapping
[INFO] [stdout]   14:     0x651e9b5a71a9 - <battsim2[2adc537a562b146d]::modbus::registers::tests::test_register_mapping::{closure#0} as core[832e9a552fc17241]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   15:     0x651e9b5a792b - test[39766f3d73431624]::__rust_begin_short_backtrace::<core[832e9a552fc17241]::result::Result<(), alloc[3ecab9f82c41dc7d]::string::String>, fn() -> core[832e9a552fc17241]::result::Result<(), alloc[3ecab9f82c41dc7d]::string::String>>
[INFO] [stdout]   16:     0x651e9b5b4f75 - test[39766f3d73431624]::run_test::{closure#0}
[INFO] [stdout]   17:     0x651e9b5afa24 - std[97b98282bc616a66]::sys::backtrace::__rust_begin_short_backtrace::<test[39766f3d73431624]::run_test::{closure#1}, ()>
[INFO] [stdout]   18:     0x651e9b5b80c2 - <std[97b98282bc616a66]::thread::lifecycle::spawn_unchecked<test[39766f3d73431624]::run_test::{closure#1}, ()>::{closure#1} as core[832e9a552fc17241]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   19:     0x651e9b646a8f - <std[97b98282bc616a66]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   20:     0x71fc5851a07a - <unknown>
[INFO] [stdout]   21:     0x71fc585ad534 - clone
[INFO] [stdout]   22:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- battery::simulation::tests::test_simulator_creation stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'battery::simulation::tests::test_simulator_creation' (1224) panicked at src/battery/simulation.rs:435:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 85.0
[INFO] [stdout]  right: 50.0
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x651e9b647231 - <<std[97b98282bc616a66]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[832e9a552fc17241]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x651e9b65ba6a - core[832e9a552fc17241]::fmt::write
[INFO] [stdout]    2:     0x651e9b64bd3c - <alloc[3ecab9f82c41dc7d]::vec::Vec<u8> as std[97b98282bc616a66]::io::Write>::write_fmt
[INFO] [stdout]    3:     0x651e9b624ea6 - std[97b98282bc616a66]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x651e9b63f1f9 - std[97b98282bc616a66]::panicking::default_hook
[INFO] [stdout]    5:     0x651e9b5b45f0 - test[39766f3d73431624]::test_main_inner::<test[39766f3d73431624]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x651e9b63f3b2 - std[97b98282bc616a66]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x651e9b624f52 - std[97b98282bc616a66]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x651e9b61c309 - std[97b98282bc616a66]::sys::backtrace::__rust_end_short_backtrace::<std[97b98282bc616a66]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x651e9b625c5d - __rustc[e3d8617bb01b7f69]::rust_begin_unwind
[INFO] [stdout]   10:     0x651e9b65c1cc - core[832e9a552fc17241]::panicking::panic_fmt
[INFO] [stdout]   11:     0x651e9b65c0e3 - core[832e9a552fc17241]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x651e9b59f44a - core[832e9a552fc17241]::panicking::assert_failed::<f64, f64>
[INFO] [stdout]   13:     0x651e9b5997a5 - battsim2[2adc537a562b146d]::battery::simulation::tests::test_simulator_creation::{closure#0}
[INFO] [stdout]   14:     0x651e9b59e0f3 - <tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::Context>::enter::<core[832e9a552fc17241]::task::poll::Poll<()>, <tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[832e9a552fc17241]::pin::Pin<&mut core[832e9a552fc17241]::pin::Pin<&mut dyn core[832e9a552fc17241]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   15:     0x651e9b5a7379 - <std[97b98282bc616a66]::thread::local::LocalKey<tokio[80a6bf58aca86bb8]::runtime::context::Context>>::with::<tokio[80a6bf58aca86bb8]::runtime::context::set_scheduler<(alloc[3ecab9f82c41dc7d]::boxed::Box<tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::Core>, core[832e9a552fc17241]::option::Option<()>), <tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[832e9a552fc17241]::pin::Pin<&mut core[832e9a552fc17241]::pin::Pin<&mut dyn core[832e9a552fc17241]::future::future::Future<Output = ()>>>>::{closure#0}, core[832e9a552fc17241]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[3ecab9f82c41dc7d]::boxed::Box<tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::Core>, core[832e9a552fc17241]::option::Option<()>)>
[INFO] [stdout]   16:     0x651e9b59e6f7 - <tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[832e9a552fc17241]::pin::Pin<&mut core[832e9a552fc17241]::pin::Pin<&mut dyn core[832e9a552fc17241]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   17:     0x651e9b5a276a - tokio[80a6bf58aca86bb8]::runtime::context::runtime::enter_runtime::<<tokio[80a6bf58aca86bb8]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[832e9a552fc17241]::pin::Pin<&mut dyn core[832e9a552fc17241]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   18:     0x651e9b5a0d2d - <tokio[80a6bf58aca86bb8]::runtime::runtime::Runtime>::block_on::<core[832e9a552fc17241]::pin::Pin<&mut dyn core[832e9a552fc17241]::future::future::Future<Output = ()>>>
[INFO] [stdout]   19:     0x651e9b599c25 - battsim2[2adc537a562b146d]::battery::simulation::tests::test_simulator_creation
[INFO] [stdout]   20:     0x651e9b5a7219 - <battsim2[2adc537a562b146d]::battery::simulation::tests::test_simulator_creation::{closure#0} as core[832e9a552fc17241]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   21:     0x651e9b5a792b - test[39766f3d73431624]::__rust_begin_short_backtrace::<core[832e9a552fc17241]::result::Result<(), alloc[3ecab9f82c41dc7d]::string::String>, fn() -> core[832e9a552fc17241]::result::Result<(), alloc[3ecab9f82c41dc7d]::string::String>>
[INFO] [stdout]   22:     0x651e9b5b4f75 - test[39766f3d73431624]::run_test::{closure#0}
[INFO] [stdout]   23:     0x651e9b5afa24 - std[97b98282bc616a66]::sys::backtrace::__rust_begin_short_backtrace::<test[39766f3d73431624]::run_test::{closure#1}, ()>
[INFO] [stdout]   24:     0x651e9b5b80c2 - <std[97b98282bc616a66]::thread::lifecycle::spawn_unchecked<test[39766f3d73431624]::run_test::{closure#1}, ()>::{closure#1} as core[832e9a552fc17241]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   25:     0x651e9b646a8f - <std[97b98282bc616a66]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   26:     0x71fc5851a07a - <unknown>
[INFO] [stdout]   27:     0x71fc585ad534 - clone
[INFO] [stdout]   28:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     battery::simulation::tests::test_simulator_creation
[INFO] [stdout]     battery::simulation::tests::test_soc_update
[INFO] [stdout]     battery::state::tests::test_state_manager_creation
[INFO] [stdout]     modbus::registers::tests::test_register_mapping
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 6 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "f52b4cb68cb9fb7513762448bc283ce22ec440a4516f6caf38ae4c26727aa043", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f52b4cb68cb9fb7513762448bc283ce22ec440a4516f6caf38ae4c26727aa043", kill_on_drop: false }`
[INFO] [stdout] f52b4cb68cb9fb7513762448bc283ce22ec440a4516f6caf38ae4c26727aa043
