[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#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdevel-hm%2Flaser_controller" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-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-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/devel-hm/laser_controller on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quote v1.0.41
[INFO] [stderr]   Downloaded unicode-ident v1.0.20
[INFO] [stderr]   Downloaded mio v1.1.0
[INFO] [stderr]   Downloaded syn v2.0.107
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.20
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] df97536b3f173b61904076f85d24c8cfc83750c7c95caac328d101ea266bcb85
[INFO] running `Command { std: "docker" "start" "-a" "df97536b3f173b61904076f85d24c8cfc83750c7c95caac328d101ea266bcb85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "df97536b3f173b61904076f85d24c8cfc83750c7c95caac328d101ea266bcb85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df97536b3f173b61904076f85d24c8cfc83750c7c95caac328d101ea266bcb85", kill_on_drop: false }`
[INFO] [stdout] df97536b3f173b61904076f85d24c8cfc83750c7c95caac328d101ea266bcb85
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8ed7965602ccea2bb478471a90f0b5c08f97c9180fe1aa860d1693c26737a996
[INFO] running `Command { std: "docker" "start" "-a" "8ed7965602ccea2bb478471a90f0b5c08f97c9180fe1aa860d1693c26737a996", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling parking_lot v0.12.5
[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 | ... adc_command_tx: BroadcastSender<ControlCommand>, mut dac_data_rx: Receiver<Vec<f32>>, runtime: Arc<Runtime>) -> Result<(), anyh...
[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: Rece...
[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_...
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.54s
[INFO] running `Command { std: "docker" "inspect" "8ed7965602ccea2bb478471a90f0b5c08f97c9180fe1aa860d1693c26737a996", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ed7965602ccea2bb478471a90f0b5c08f97c9180fe1aa860d1693c26737a996", kill_on_drop: false }`
[INFO] [stdout] 8ed7965602ccea2bb478471a90f0b5c08f97c9180fe1aa860d1693c26737a996
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6f1dd5a42875bd197e5d671dda6dd6561376ef8a3b7f8e5ee3e91143dc1810ef
[INFO] running `Command { std: "docker" "start" "-a" "6f1dd5a42875bd197e5d671dda6dd6561376ef8a3b7f8e5ee3e91143dc1810ef", 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 | ... adc_command_tx: BroadcastSender<ControlCommand>, mut dac_data_rx: Receiver<Vec<f32>>, runtime: Arc<Runtime>) -> Result<(), anyh...
[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: Rece...
[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] [stderr]    Compiling laser_controller v0.1.0 (/opt/rustwide/workdir)
[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_...
[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: 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: 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 | ... adc_command_tx: BroadcastSender<ControlCommand>, mut dac_data_rx: Receiver<Vec<f32>>, runtime: Arc<Runtime>) -> Result<(), anyh...
[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.24s
[INFO] running `Command { std: "docker" "inspect" "6f1dd5a42875bd197e5d671dda6dd6561376ef8a3b7f8e5ee3e91143dc1810ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6f1dd5a42875bd197e5d671dda6dd6561376ef8a3b7f8e5ee3e91143dc1810ef", kill_on_drop: false }`
[INFO] [stdout] 6f1dd5a42875bd197e5d671dda6dd6561376ef8a3b7f8e5ee3e91143dc1810ef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c465b4ba289fdeea31da32d77ad6e0985ec9bb0c52bbd9496b5581fb9154ec7e
[INFO] running `Command { std: "docker" "start" "-a" "c465b4ba289fdeea31da32d77ad6e0985ec9bb0c52bbd9496b5581fb9154ec7e", 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 | ... adc_command_tx: BroadcastSender<ControlCommand>, mut dac_data_rx: Receiver<Vec<f32>>, runtime: Arc<Runtime>) -> Result<(), anyh...
[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: Rece...
[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_...
[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-81d18490d390b7ef)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] [2m2026-01-16T09:33:53.368771Z[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_config_new ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_error_handling ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_feedback_variants ... ok
[INFO] [stdout] [2m2026-01-16T09:33:53.368905Z[0m [31mERROR[0m [2mlaser_controller::dac_interface[0m[2m:[0m sample_count must be greater than 0
[INFO] [stdout] test adc_interface::tests::test_adc_sample_new ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_process_samples_correct_count ... ok
[INFO] [stdout] [2m2026-01-16T09:33:53.369410Z[0m [31mERROR[0m [2mlaser_controller::dac_interface[0m[2m:[0m sample_count must be less than or equal to sample_rate
[INFO] [stdout] test adc_interface::tests::test_adc_config_default ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_command_variants ... 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 dac_interface::tests::test_dac_config_invalid_sample_count ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_process_samples_success ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_config_default ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_config_custom_array_valid ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_config_sample_count_exceeds_rate ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_config_invalid_sample_rate ... ok
[INFO] [stdout] test dac_interface::tests::test_sample_generation_with_custom_array ... ok
[INFO] [stdout] test dac_interface::tests::test_sample_generation_sine_wave ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_config_new_valid ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_process_samples_amplitude_calculation ... ok
[INFO] [stdout] test dac_interface::tests::test_timer_interval_calculation ... ok
[INFO] [stdout] test dac_interface::tests::test_sample_generation_with_phase_offset ... 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] [2m2026-01-16T09:33:53.512039Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 992 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.524900Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 22 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.525287Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 8 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.530880Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 5 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.535873Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 18 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.536307Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 3 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.537033Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 6 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.541894Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 9 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.550894Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 48 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.551025Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 6 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.554870Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.554977Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 5 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.564883Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 12 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.577869Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.583943Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 50 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.627555Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 21 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.627656Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.647886Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 8 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.664874Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.664973Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 5 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.674099Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 13 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.674188Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.688381Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 24 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.694875Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 8 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.712967Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 6 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.730404Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.739132Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.831889Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 11 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.843672Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 6 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.849890Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 8 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.850621Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 8 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.851008Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 7 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.851327Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.851649Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.862889Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.879894Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 7 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.880119Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 5 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.880237Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 2 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.886892Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 24 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.893891Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 10 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.899885Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.916874Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.925887Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 10 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.925991Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.933898Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 10 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.956277Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 8 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.975894Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 19 messages
[INFO] [stdout] [2m2026-01-16T09:33:53.976009Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 5 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" "c465b4ba289fdeea31da32d77ad6e0985ec9bb0c52bbd9496b5581fb9154ec7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c465b4ba289fdeea31da32d77ad6e0985ec9bb0c52bbd9496b5581fb9154ec7e", kill_on_drop: false }`
[INFO] [stdout] c465b4ba289fdeea31da32d77ad6e0985ec9bb0c52bbd9496b5581fb9154ec7e
