[INFO] cloning repository https://github.com/devel-hm/laser_controller
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/devel-hm/laser_controller" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdevel-hm%2Flaser_controller", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdevel-hm%2Flaser_controller'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cc5a2775821f509859d45501f59105cb11394197
[INFO] testing devel-hm/laser_controller against master#1ef7943ee607160a564655b6596f83670ef95df5 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdevel-hm%2Flaser_controller" "/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/devel-hm/laser_controller
[INFO] removed 0 missing examples
[INFO] finished tweaking git repo https://github.com/devel-hm/laser_controller
[INFO] tweaked toml for git repo https://github.com/devel-hm/laser_controller written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/devel-hm/laser_controller on toolchain 1ef7943ee607160a564655b6596f83670ef95df5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/devel-hm/laser_controller 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" "+1ef7943ee607160a564655b6596f83670ef95df5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2914866ce192854631755bd06c13dbd3ff20169fb7934e917044283eb9ae52d1
[INFO] running `Command { std: "docker" "start" "-a" "2914866ce192854631755bd06c13dbd3ff20169fb7934e917044283eb9ae52d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2914866ce192854631755bd06c13dbd3ff20169fb7934e917044283eb9ae52d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2914866ce192854631755bd06c13dbd3ff20169fb7934e917044283eb9ae52d1", kill_on_drop: false }`
[INFO] [stdout] 2914866ce192854631755bd06c13dbd3ff20169fb7934e917044283eb9ae52d1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3915c66ce9a92a07b5bf97d2c69278e00495db6e9db401a0563e60d5d6c50706
[INFO] running `Command { std: "docker" "start" "-a" "3915c66ce9a92a07b5bf97d2c69278e00495db6e9db401a0563e60d5d6c50706", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling laser_controller v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Duration`, `Instant`, and `interval_at`
[INFO] [stdout]  --> src/adc_interface.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::time::{interval_at, Duration, Instant};
[INFO] [stdout]   |                   ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/adc_interface.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |                         _ => {
[INFO] [stdout]     |                         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/adc_interface.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 211 |                         AdcFeedback::SetAmplitude(amplitude) => {
[INFO] [stdout]     |                         ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 217 |                         AdcFeedback::SetFrequency(frequency) => {
[INFO] [stdout]     |                         ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 223 |                         _ => {
[INFO] [stdout]     |                         ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/adc_interface.rs:173:119
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...d>, adc_command_tx: BroadcastSender<ControlCommand>, mut dac_data_rx: Receiver<Vec<f32>>, runtime: Arc<Runtime>) -> Result<(), anyhow:...
[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: value assigned to `sample_rate` is never read
[INFO] [stdout]   --> src/dac_interface.rs:94:31
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut sample_rate = self.config.lock().await.sample_rate;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SetPhaseOffset` and `SetDefaultSampleArray` are never constructed
[INFO] [stdout]   --> src/dac_interface.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum DacCommand {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 76 |     SetPhaseOffset(f32),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 77 |     SetDefaultSampleArray(Vec<f32>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DacCommand` 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: struct `AdcConfig` is never constructed
[INFO] [stdout]   --> src/adc_interface.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct AdcConfig {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/adc_interface.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl AdcConfig {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 34 |     fn new(sample_rate: f32, expected_amplitude: f32, expected_frequency: f32) -> Result<Self, anyhow::Error> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Adc` is never constructed
[INFO] [stdout]   --> src/adc_interface.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct Adc {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdcSample` is never constructed
[INFO] [stdout]   --> src/adc_interface.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct AdcSample {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/adc_interface.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl AdcSample {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 59 |     fn new(amplitude: f32, frequency: f32) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, and `process_samples` are never used
[INFO] [stdout]    --> src/adc_interface.rs:68:8
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl Adc {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  68 |     fn new(config: Arc<Mutex<AdcConfig>>, command_rx: Receiver<AdcCommand>, adc_feedback_tx: Sender<AdcFeedback>, dac_data_rx: Receiver<V...
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     async fn run(&mut self) {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     async fn process_samples(&self, samples: Vec<f32>) -> Result<AdcSample, anyhow::Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AdcCommand` is never used
[INFO] [stdout]    --> src/adc_interface.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub enum AdcCommand {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AdcFeedback` is never used
[INFO] [stdout]    --> src/adc_interface.rs:168:10
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub enum AdcFeedback {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adc_interface` is never used
[INFO] [stdout]    --> src/adc_interface.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub async fn adc_interface(mut control_rx: Receiver<ControlCommand>, adc_command_tx: BroadcastSender<ControlCommand>, mut dac_data_rx: Re...
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.84s
[INFO] running `Command { std: "docker" "inspect" "3915c66ce9a92a07b5bf97d2c69278e00495db6e9db401a0563e60d5d6c50706", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3915c66ce9a92a07b5bf97d2c69278e00495db6e9db401a0563e60d5d6c50706", kill_on_drop: false }`
[INFO] [stdout] 3915c66ce9a92a07b5bf97d2c69278e00495db6e9db401a0563e60d5d6c50706
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9af70389ef80c10ff730706442de169985b9704acedaac0cae92dc0bd2fe9239
[INFO] running `Command { std: "docker" "start" "-a" "9af70389ef80c10ff730706442de169985b9704acedaac0cae92dc0bd2fe9239", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `Duration`, `Instant`, and `interval_at`
[INFO] [stdout]  --> src/adc_interface.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::time::{interval_at, Duration, Instant};
[INFO] [stdout]   |                   ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/adc_interface.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |                         _ => {
[INFO] [stdout]     |                         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/adc_interface.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 211 |                         AdcFeedback::SetAmplitude(amplitude) => {
[INFO] [stdout]     |                         ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 217 |                         AdcFeedback::SetFrequency(frequency) => {
[INFO] [stdout]     |                         ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 223 |                         _ => {
[INFO] [stdout]     |                         ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/adc_interface.rs:173:119
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...d>, adc_command_tx: BroadcastSender<ControlCommand>, mut dac_data_rx: Receiver<Vec<f32>>, runtime: Arc<Runtime>) -> Result<(), anyhow:...
[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: value assigned to `sample_rate` is never read
[INFO] [stdout]   --> src/dac_interface.rs:94:31
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut sample_rate = self.config.lock().await.sample_rate;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SetPhaseOffset` and `SetDefaultSampleArray` are never constructed
[INFO] [stdout]   --> src/dac_interface.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum DacCommand {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 76 |     SetPhaseOffset(f32),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 77 |     SetDefaultSampleArray(Vec<f32>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DacCommand` 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: struct `AdcConfig` is never constructed
[INFO] [stdout]   --> src/adc_interface.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct AdcConfig {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/adc_interface.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl AdcConfig {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 34 |     fn new(sample_rate: f32, expected_amplitude: f32, expected_frequency: f32) -> Result<Self, anyhow::Error> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Adc` is never constructed
[INFO] [stdout]   --> src/adc_interface.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct Adc {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdcSample` is never constructed
[INFO] [stdout]   --> src/adc_interface.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct AdcSample {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/adc_interface.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl AdcSample {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 59 |     fn new(amplitude: f32, frequency: f32) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, and `process_samples` are never used
[INFO] [stdout]    --> src/adc_interface.rs:68:8
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl Adc {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  68 |     fn new(config: Arc<Mutex<AdcConfig>>, command_rx: Receiver<AdcCommand>, adc_feedback_tx: Sender<AdcFeedback>, dac_data_rx: Receiver<V...
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     async fn run(&mut self) {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     async fn process_samples(&self, samples: Vec<f32>) -> Result<AdcSample, anyhow::Error> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AdcCommand` is never used
[INFO] [stdout]    --> src/adc_interface.rs:158:10
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub enum AdcCommand {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AdcFeedback` is never used
[INFO] [stdout]    --> src/adc_interface.rs:168:10
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub enum AdcFeedback {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `adc_interface` is never used
[INFO] [stdout]    --> src/adc_interface.rs:173:14
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub async fn adc_interface(mut control_rx: Receiver<ControlCommand>, adc_command_tx: BroadcastSender<ControlCommand>, mut dac_data_rx: Re...
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling laser_controller v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Duration`, `Instant`, and `interval_at`
[INFO] [stdout]  --> src/adc_interface.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::time::{interval_at, Duration, Instant};
[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: `sleep`
[INFO] [stdout]    --> src/adc_interface.rs:259:33
[INFO] [stdout]     |
[INFO] [stdout] 259 |     use tokio::time::{Duration, sleep};
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subscriber`
[INFO] [stdout]   --> examples/laser_controller.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let subscriber = FmtSubscriber::builder()
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subscriber`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/adc_interface.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |                         _ => {
[INFO] [stdout]     |                         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/adc_interface.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 211 |                         AdcFeedback::SetAmplitude(amplitude) => {
[INFO] [stdout]     |                         ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 217 |                         AdcFeedback::SetFrequency(frequency) => {
[INFO] [stdout]     |                         ------------------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 223 |                         _ => {
[INFO] [stdout]     |                         ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/adc_interface.rs:173:119
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...d>, adc_command_tx: BroadcastSender<ControlCommand>, mut dac_data_rx: Receiver<Vec<f32>>, runtime: Arc<Runtime>) -> Result<(), anyhow:...
[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: value assigned to `sample_rate` is never read
[INFO] [stdout]   --> src/dac_interface.rs:94:31
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let mut sample_rate = self.config.lock().await.sample_rate;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `control_tx`
[INFO] [stdout]    --> src/adc_interface.rs:419:14
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let (control_tx, control_rx) = mpsc::channel(4);
[INFO] [stdout]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_control_tx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.48s
[INFO] running `Command { std: "docker" "inspect" "9af70389ef80c10ff730706442de169985b9704acedaac0cae92dc0bd2fe9239", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9af70389ef80c10ff730706442de169985b9704acedaac0cae92dc0bd2fe9239", kill_on_drop: false }`
[INFO] [stdout] 9af70389ef80c10ff730706442de169985b9704acedaac0cae92dc0bd2fe9239
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 67e7db2ccdfcb8bd89361e3b28a0608728b138d1cefaecc87f5d8503290f0b88
[INFO] running `Command { std: "docker" "start" "-a" "67e7db2ccdfcb8bd89361e3b28a0608728b138d1cefaecc87f5d8503290f0b88", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Duration`, `Instant`, and `interval_at`
[INFO] [stderr]  --> src/adc_interface.rs:5:19
[INFO] [stderr]   |
[INFO] [stderr] 5 | use tokio::time::{interval_at, Duration, Instant};
[INFO] [stderr]   |                   ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/adc_interface.rs:223:25
[INFO] [stderr]     |
[INFO] [stderr] 223 |                         _ => {
[INFO] [stderr]     |                         ^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]    --> src/adc_interface.rs:223:25
[INFO] [stderr]     |
[INFO] [stderr] 211 |                         AdcFeedback::SetAmplitude(amplitude) => {
[INFO] [stderr]     |                         ------------------------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 217 |                         AdcFeedback::SetFrequency(frequency) => {
[INFO] [stderr]     |                         ------------------------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 223 |                         _ => {
[INFO] [stderr]     |                         ^ collectively making this unreachable
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/adc_interface.rs:173:119
[INFO] [stderr]     |
[INFO] [stderr] 173 | ...d>, adc_command_tx: BroadcastSender<ControlCommand>, mut dac_data_rx: Receiver<Vec<f32>>, runtime: Arc<Runtime>) -> Result<(), anyhow:...
[INFO] [stderr]     |                                                         ----^^^^^^^^^^^
[INFO] [stderr]     |                                                         |
[INFO] [stderr]     |                                                         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `sample_rate` is never read
[INFO] [stderr]   --> src/dac_interface.rs:94:31
[INFO] [stderr]    |
[INFO] [stderr] 94 |         let mut sample_rate = self.config.lock().await.sample_rate;
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variants `SetPhaseOffset` and `SetDefaultSampleArray` are never constructed
[INFO] [stderr]   --> src/dac_interface.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub enum DacCommand {
[INFO] [stderr]    |          ---------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 76 |     SetPhaseOffset(f32),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 77 |     SetDefaultSampleArray(Vec<f32>),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DacCommand` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AdcConfig` is never constructed
[INFO] [stderr]   --> src/adc_interface.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct AdcConfig {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/adc_interface.rs:34:8
[INFO] [stderr]    |
[INFO] [stderr] 33 | impl AdcConfig {
[INFO] [stderr]    | -------------- associated function in this implementation
[INFO] [stderr] 34 |     fn new(sample_rate: f32, expected_amplitude: f32, expected_frequency: f32) -> Result<Self, anyhow::Error> {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Adc` is never constructed
[INFO] [stderr]   --> src/adc_interface.rs:44:8
[INFO] [stderr]    |
[INFO] [stderr] 44 | struct Adc {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AdcSample` is never constructed
[INFO] [stderr]   --> src/adc_interface.rs:53:8
[INFO] [stderr]    |
[INFO] [stderr] 53 | struct AdcSample {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/adc_interface.rs:59:8
[INFO] [stderr]    |
[INFO] [stderr] 58 | impl AdcSample {
[INFO] [stderr]    | -------------- associated function in this implementation
[INFO] [stderr] 59 |     fn new(amplitude: f32, frequency: f32) -> Self {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `run`, and `process_samples` are never used
[INFO] [stderr]    --> src/adc_interface.rs:68:8
[INFO] [stderr]     |
[INFO] [stderr]  67 | impl Adc {
[INFO] [stderr]     | -------- associated items in this implementation
[INFO] [stderr]  68 |     fn new(config: Arc<Mutex<AdcConfig>>, command_rx: Receiver<AdcCommand>, adc_feedback_tx: Sender<AdcFeedback>, dac_data_rx: Receiver<V...
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr]  79 |     async fn run(&mut self) {
[INFO] [stderr]     |              ^^^
[INFO] [stderr] ...
[INFO] [stderr] 141 |     async fn process_samples(&self, samples: Vec<f32>) -> Result<AdcSample, anyhow::Error> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `AdcCommand` is never used
[INFO] [stderr]    --> src/adc_interface.rs:158:10
[INFO] [stderr]     |
[INFO] [stderr] 158 | pub enum AdcCommand {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `AdcFeedback` is never used
[INFO] [stderr]    --> src/adc_interface.rs:168:10
[INFO] [stderr]     |
[INFO] [stderr] 168 | pub enum AdcFeedback {
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `adc_interface` is never used
[INFO] [stderr]    --> src/adc_interface.rs:173:14
[INFO] [stderr]     |
[INFO] [stderr] 173 | pub async fn adc_interface(mut control_rx: Receiver<ControlCommand>, adc_command_tx: BroadcastSender<ControlCommand>, mut dac_data_rx: Re...
[INFO] [stderr]     |              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sleep`
[INFO] [stderr]    --> src/adc_interface.rs:259:33
[INFO] [stderr]     |
[INFO] [stderr] 259 |     use tokio::time::{Duration, sleep};
[INFO] [stderr]     |                                 ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `control_tx`
[INFO] [stderr]    --> src/adc_interface.rs:419:14
[INFO] [stderr]     |
[INFO] [stderr] 419 |         let (control_tx, control_rx) = mpsc::channel(4);
[INFO] [stderr]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_control_tx`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `laser_controller` (lib) generated 14 warnings (run `cargo fix --lib -p laser_controller` to apply 2 suggestions)
[INFO] [stderr] warning: `laser_controller` (lib test) generated 6 warnings (4 duplicates) (run `cargo fix --lib -p laser_controller --tests` to apply 2 suggestions)
[INFO] [stderr] warning: unused variable: `subscriber`
[INFO] [stderr]   --> examples/laser_controller.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let subscriber = FmtSubscriber::builder()
[INFO] [stderr]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subscriber`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `laser_controller` (example "laser_controller") generated 1 warning (run `cargo fix --example "laser_controller" -p laser_controller` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/laser_controller-e055af2744e5ee08)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] [2m2025-11-08T21:12:35.701129Z[0m [31mERROR[0m [2mlaser_controller::dac_interface[0m[2m:[0m sample_array_default length must be equal to sample_count
[INFO] [stdout] test adc_interface::tests::test_adc_feedback_variants ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_config_default ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_config_new ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_process_samples_amplitude_calculation ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_process_samples_correct_count ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_sample_new ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_process_samples_success ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_command_variants ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_config_custom_array_length_mismatch ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_command_variants ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_config_custom_array_valid ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_config_default ... ok
[INFO] [stdout] [2m2025-11-08T21:12:35.706142Z[0m [31mERROR[0m [2mlaser_controller::dac_interface[0m[2m:[0m sample_count must be greater than 0
[INFO] [stdout] test dac_interface::tests::test_dac_config_invalid_sample_rate ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_error_handling ... ok
[INFO] [stdout] [2m2025-11-08T21:12:35.708419Z[0m [31mERROR[0m [2mlaser_controller::dac_interface[0m[2m:[0m sample_count must be less than or equal to sample_rate
[INFO] [stdout] test dac_interface::tests::test_dac_config_invalid_sample_count ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_config_sample_count_exceeds_rate ... ok
[INFO] [stdout] test dac_interface::tests::test_sample_generation_with_phase_offset ... ok
[INFO] [stdout] test dac_interface::tests::test_sample_generation_sine_wave ... ok
[INFO] [stdout] test dac_interface::tests::test_sample_generation_with_custom_array ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_config_new_valid ... ok
[INFO] [stdout] test dac_interface::tests::test_timer_interval_calculation ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_running_state ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_command_handling ... ok
[INFO] [stdout] [2m2025-11-08T21:12:35.852483Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1006 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.861229Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 43 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.862993Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 5 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.869022Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 28 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.875014Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 5 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.878988Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 24 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.879007Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.883440Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 14 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.883458Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.893999Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 95 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.899738Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 23 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.899756Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.904996Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 27 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.915996Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 80 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.931018Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 44 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.934629Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.941007Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.943189Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 132 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.943297Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.950029Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 42 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.950148Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.958545Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 20 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.960410Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 21 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.960514Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.978689Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 151 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.982978Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 29 messages
[INFO] [stdout] [2m2025-11-08T21:12:35.991080Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 27 messages
[INFO] [stdout] [2m2025-11-08T21:12:36.001907Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 63 messages
[INFO] [stdout] [2m2025-11-08T21:12:36.001987Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2025-11-08T21:12:36.031037Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] test dac_interface::tests::test_dac_interface_integration ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_interface_creation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests laser_controller
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "67e7db2ccdfcb8bd89361e3b28a0608728b138d1cefaecc87f5d8503290f0b88", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67e7db2ccdfcb8bd89361e3b28a0608728b138d1cefaecc87f5d8503290f0b88", kill_on_drop: false }`
[INFO] [stdout] 67e7db2ccdfcb8bd89361e3b28a0608728b138d1cefaecc87f5d8503290f0b88
