[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#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdevel-hm%2Flaser_controller" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-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-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/devel-hm/laser_controller on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unicode-ident v1.0.20
[INFO] [stderr]   Downloaded syn v2.0.107
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b59364edb537862c55e776c1d9de773f76ecf625f168360c15b6ea57994ab474
[INFO] running `Command { std: "docker" "start" "-a" "b59364edb537862c55e776c1d9de773f76ecf625f168360c15b6ea57994ab474", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b59364edb537862c55e776c1d9de773f76ecf625f168360c15b6ea57994ab474", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b59364edb537862c55e776c1d9de773f76ecf625f168360c15b6ea57994ab474", kill_on_drop: false }`
[INFO] [stdout] b59364edb537862c55e776c1d9de773f76ecf625f168360c15b6ea57994ab474
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3c6404ff3b2dc8b4b4f37109470f082fa8952d018ac5a31ff74fa0c948e44624
[INFO] running `Command { std: "docker" "start" "-a" "3c6404ff3b2dc8b4b4f37109470f082fa8952d018ac5a31ff74fa0c948e44624", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling mio v1.1.0
[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]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 122 |                             sample_rate = new_sample_rate;
[INFO] [stdout]     |                             ----------------------------- `sample_rate` is overwritten here before the previous value is read
[INFO] [stdout]     |
[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 21.39s
[INFO] running `Command { std: "docker" "inspect" "3c6404ff3b2dc8b4b4f37109470f082fa8952d018ac5a31ff74fa0c948e44624", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c6404ff3b2dc8b4b4f37109470f082fa8952d018ac5a31ff74fa0c948e44624", kill_on_drop: false }`
[INFO] [stdout] 3c6404ff3b2dc8b4b4f37109470f082fa8952d018ac5a31ff74fa0c948e44624
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 57ae1f217573e7704cbb4b68c96a63b581259bef528ea864a798e255e356630b
[INFO] running `Command { std: "docker" "start" "-a" "57ae1f217573e7704cbb4b68c96a63b581259bef528ea864a798e255e356630b", 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]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 122 |                             sample_rate = new_sample_rate;
[INFO] [stdout]     |                             ----------------------------- `sample_rate` is overwritten here before the previous value is read
[INFO] [stdout]     |
[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] [stderr]    Compiling laser_controller v0.1.0 (/opt/rustwide/workdir)
[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 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 | ... 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]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 122 |                             sample_rate = new_sample_rate;
[INFO] [stdout]     |                             ----------------------------- `sample_rate` is overwritten here before the previous value is read
[INFO] [stdout]     |
[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 4.07s
[INFO] running `Command { std: "docker" "inspect" "57ae1f217573e7704cbb4b68c96a63b581259bef528ea864a798e255e356630b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "57ae1f217573e7704cbb4b68c96a63b581259bef528ea864a798e255e356630b", kill_on_drop: false }`
[INFO] [stdout] 57ae1f217573e7704cbb4b68c96a63b581259bef528ea864a798e255e356630b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] dbd4c27b8ccc454e078020bec2e3fab2c1931da874443e887d284271d651546c
[INFO] running `Command { std: "docker" "start" "-a" "dbd4c27b8ccc454e078020bec2e3fab2c1931da874443e887d284271d651546c", 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]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 122 |                             sample_rate = new_sample_rate;
[INFO] [stderr]     |                             ----------------------------- `sample_rate` is overwritten here before the previous value is read
[INFO] [stderr]     |
[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: `laser_controller` (lib) generated 14 warnings (run `cargo fix --lib -p laser_controller` 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: 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` (example "laser_controller") generated 1 warning (run `cargo fix --example "laser_controller" -p laser_controller` to apply 1 suggestion)
[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]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/laser_controller-20ade8b2645ab6d3)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test adc_interface::tests::test_adc_process_samples_amplitude_calculation ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_feedback_variants ... 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] [2m2026-05-11T07:46:02.988622Z[0m [31mERROR[0m [2mlaser_controller::dac_interface[0m[2m:[0m sample_count must be less than or equal to sample_rate
[INFO] [stdout] [2m2026-05-11T07:46:02.990792Z[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_default ... ok
[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] test adc_interface::tests::test_adc_config_new ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_process_samples_success ... ok
[INFO] [stdout] test adc_interface::tests::test_adc_command_variants ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_config_sample_count_exceeds_rate ... 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_custom_array_valid ... ok
[INFO] [stdout] test dac_interface::tests::test_sample_generation_with_custom_array ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_config_default ... 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_timer_interval_calculation ... ok
[INFO] [stdout] [2m2026-05-11T07:46:02.997606Z[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_count ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_config_new_valid ... ok
[INFO] [stdout] test dac_interface::tests::test_dac_running_state ... ok
[INFO] [stdout] [2m2026-05-11T07:46:03.136648Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 842 messages
[INFO] [stdout] test dac_interface::tests::test_dac_command_handling ... ok
[INFO] [stdout] [2m2026-05-11T07:46:03.268570Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 12 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.280563Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 33 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.291542Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 10 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.291660Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.308551Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 17 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.312547Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 8 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.320544Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.327553Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.327649Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.337537Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 15 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.337639Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.341554Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 9 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.346545Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 3 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.351551Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 18 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.351640Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.355541Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 2 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.360542Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 11 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.365540Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 12 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.384558Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 58 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.395554Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 35 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.395636Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.401555Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 3 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.415645Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 86 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.415829Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.422598Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 21 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.422764Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 2 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.422799Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.427591Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 19 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.427736Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 5 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.436601Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 31 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.436792Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.444577Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 16 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.448582Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 9 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.453569Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.453683Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.453717Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.460604Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 14 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.469590Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 21 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.469760Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.473565Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 13 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.479590Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 8 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.479768Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.486574Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 18 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.486693Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.494585Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 9 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.494716Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 2 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.500596Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.500728Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 1 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.500775Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.505583Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 21 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.511566Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 23 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.511689Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.519583Z[0m [31mERROR[0m [2mlaser_controller::dac_interface::tests[0m[2m:[0m Broadcast receiver lagged by 4 messages
[INFO] [stdout] [2m2026-05-11T07:46:03.519746Z[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" "dbd4c27b8ccc454e078020bec2e3fab2c1931da874443e887d284271d651546c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dbd4c27b8ccc454e078020bec2e3fab2c1931da874443e887d284271d651546c", kill_on_drop: false }`
[INFO] [stdout] dbd4c27b8ccc454e078020bec2e3fab2c1931da874443e887d284271d651546c
