[INFO] cloning repository https://github.com/atseml/thermostat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/atseml/thermostat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fatseml%2Fthermostat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fatseml%2Fthermostat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8ccdf8a3b5343c8ac0e6db88d571a49c6aee85e3
[INFO] checking atseml/thermostat against 846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9 for pr-164812
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fatseml%2Fthermostat" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config
[INFO] started tweaking git repo https://github.com/atseml/thermostat
[INFO] finished tweaking git repo https://github.com/atseml/thermostat
[INFO] tweaked toml for git repo https://github.com/atseml/thermostat written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/atseml/thermostat on toolchain 846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/atseml/thermostat 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" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/stm32-rs/stm32-eth.git`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded nb v0.1.3
[INFO] [stderr]   Downloaded usbd-serial v0.1.1
[INFO] [stderr]   Downloaded nb v1.0.0
[INFO] [stderr]   Downloaded embedded-hal v0.2.6
[INFO] [stderr]   Downloaded usb-device v0.2.7
[INFO] [stderr]   Downloaded as-slice v0.1.4
[INFO] [stderr]   Downloaded embedded-dma v0.1.2
[INFO] [stderr]   Downloaded cortex-m-rt v0.7.1
[INFO] [stderr]   Downloaded managed v0.7.2
[INFO] [stderr]   Downloaded panic-semihosting v0.5.6
[INFO] [stderr]   Downloaded cortex-m-semihosting v0.3.7
[INFO] [stderr]   Downloaded panic-halt v1.0.0
[INFO] [stderr]   Downloaded autocfg v1.0.1
[INFO] [stderr]   Downloaded heapless v0.5.6
[INFO] [stderr]   Downloaded eeprom24x v0.3.0
[INFO] [stderr]   Downloaded cortex-m-log v0.6.2
[INFO] [stderr]   Downloaded aligned v0.3.4
[INFO] [stderr]   Downloaded vcell v0.1.2
[INFO] [stderr]   Downloaded rtcc v0.2.1
[INFO] [stderr]   Downloaded hash32 v0.1.1
[INFO] [stderr]   Downloaded volatile-register v0.2.0
[INFO] [stderr]   Downloaded bitfield v0.13.2
[INFO] [stderr]   Downloaded generic-array v0.13.2
[INFO] [stderr]   Downloaded cortex-m-rt-macros v0.1.8
[INFO] [stderr]   Downloaded rand_core v0.6.3
[INFO] [stderr]   Downloaded cortex-m-rt-macros v0.7.0
[INFO] [stderr]   Downloaded bare-metal v1.0.0
[INFO] [stderr]   Downloaded postcard v0.5.1
[INFO] [stderr]   Downloaded postcard-cobs v0.1.5-pre
[INFO] [stderr]   Downloaded memchr v2.3.4
[INFO] [stderr]   Downloaded bare-metal v0.2.5
[INFO] [stderr]   Downloaded sfkv v0.1.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.24
[INFO] [stderr]   Downloaded num-integer v0.1.44
[INFO] [stderr]   Downloaded generic-array v0.14.4
[INFO] [stderr]   Downloaded r0 v0.2.2
[INFO] [stderr]   Downloaded cortex-m v0.6.7
[INFO] [stderr]   Downloaded cortex-m-rt v0.6.13
[INFO] [stderr]   Downloaded synopsys-usb-otg v0.2.3
[INFO] [stderr]   Downloaded serde-json-core v0.1.0
[INFO] [stderr]   Downloaded cortex-m v0.7.7
[INFO] [stderr]   Downloaded stm32f4xx-hal v0.10.1
[INFO] [stderr]   Downloaded smoltcp v0.7.5
[INFO] [stderr]   Downloaded uom v0.36.0
[INFO] [stderr]   Downloaded chrono v0.4.19
[INFO] [stderr]   Downloaded syn v1.0.54
[INFO] [stderr]   Downloaded stm32f4 v0.13.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c0af3998e971868164375a7dfb646c9933ddd1a3bdb00fa2041266763dc1eeab" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c1e0c43468ceac8b494f3983a9ee111faa74dd6e850f88f197883ad43787b69a
[INFO] running `Command { std: "docker" "start" "c1e0c43468ceac8b494f3983a9ee111faa74dd6e850f88f197883ad43787b69a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c1e0c43468ceac8b494f3983a9ee111faa74dd6e850f88f197883ad43787b69a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c1e0c43468ceac8b494f3983a9ee111faa74dd6e850f88f197883ad43787b69a" "/opt/rustwide/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c1e0c43468ceac8b494f3983a9ee111faa74dd6e850f88f197883ad43787b69a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c1e0c43468ceac8b494f3983a9ee111faa74dd6e850f88f197883ad43787b69a" "/opt/rustwide/cargo-home/bin/cargo" "+846e51f66b1e7b49ba9e3988c58ccfe5817ce0a9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.54
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]     Checking nb v1.0.0
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]    Compiling cortex-m v0.7.7
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]     Checking vcell v0.1.2
[INFO] [stderr]    Compiling serde_derive v1.0.118
[INFO] [stderr]    Compiling cortex-m v0.6.7
[INFO] [stderr]     Checking generic-array v0.12.3
[INFO] [stderr]     Checking generic-array v0.13.2
[INFO] [stderr]    Compiling bare-metal v0.2.5
[INFO] [stderr]     Checking volatile-register v0.2.0
[INFO] [stderr]    Compiling serde v1.0.118
[INFO] [stderr]     Checking bitfield v0.13.2
[INFO] [stderr]    Compiling heapless v0.5.6
[INFO] [stderr]     Checking nb v0.1.3
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling cortex-m-rt v0.6.13
[INFO] [stderr]    Compiling cortex-m-rt v0.7.1
[INFO] [stderr]     Checking embedded-hal v0.2.6
[INFO] [stderr]     Checking usb-device v0.2.7
[INFO] [stderr]     Checking r0 v0.2.2
[INFO] [stderr]    Compiling synopsys-usb-otg v0.2.3
[INFO] [stderr]    Compiling stm32f4 v0.13.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]     Checking embedded-dma v0.1.2
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]     Checking hash32 v0.1.1
[INFO] [stderr]    Compiling cortex-m-log v0.6.2
[INFO] [stderr]     Checking bare-metal v1.0.0
[INFO] [stderr]     Checking postcard-cobs v0.1.5-pre
[INFO] [stderr]     Checking managed v0.7.2
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]    Compiling thermostat v0.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking usbd-serial v0.1.1
[INFO] [stderr]     Checking eeprom24x v0.3.0
[INFO] [stderr]     Checking panic-halt v1.0.0
[INFO] [stderr]     Checking smoltcp v0.7.5
[INFO] [stderr]     Checking bit_field v0.10.1
[INFO] [stderr]     Checking as-slice v0.1.4
[INFO] [stderr]     Checking aligned v0.3.4
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking rtcc v0.2.1
[INFO] [stderr]    Compiling cortex-m-rt-macros v0.1.8
[INFO] [stderr]    Compiling cortex-m-rt-macros v0.7.0
[INFO] [stderr]     Checking uom v0.36.0
[INFO] [stderr]     Checking postcard v0.5.1
[INFO] [stderr]     Checking serde-json-core v0.1.0
[INFO] [stderr]     Checking sfkv v0.1.0
[INFO] [stderr]     Checking stm32f4xx-hal v0.10.1
[INFO] [stderr]     Checking stm32-eth v0.2.0 (https://github.com/stm32-rs/stm32-eth.git?rev=3759c5c9#3759c5c9)
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/command_handler.rs:65:25
[INFO] [stdout]    |
[INFO] [stdout] 65 |             Ok(sent) => warn!("sent only {}/{} bytes", sent, data.len()),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `warn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/command_handler.rs:66:23
[INFO] [stdout]    |
[INFO] [stdout] 66 |             Err(e) => error!("error sending line: {:?}", e),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/command_handler.rs:353:26
[INFO] [stdout]     |
[INFO] [stdout] 353 |             .map_err(|e| error!("unable to save ipv4 config to flash: {:?}", e));
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::arch::asm`
[INFO] [stdout]  --> src/dfu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::arch::asm;
[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: `cortex_m_rt::pre_init`
[INFO] [stdout]  --> src/dfu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use cortex_m_rt::pre_init;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RCC` and `SYSCFG`
[INFO] [stdout]  --> src/dfu.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use stm32f4xx_hal::stm32::{RCC, SYSCFG};
[INFO] [stdout]   |                            ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/flash_store.rs:64:30
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 .map_err(|e| error!("flash erase failed: {:?}", e));
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/main.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |             Ok(sent) => warn!("sent only {}/{} bytes", sent, data.len()),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `warn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/main.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |             Err(e) => error!("error sending line: {:?}", e),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/main.rs:144:25
[INFO] [stdout]     |
[INFO] [stdout] 144 |             Ok(None) => error!("flash config not found for channel {}", c),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/main.rs:145:23
[INFO] [stdout]     |
[INFO] [stdout] 145 |             Err(e) => error!("unable to load config {} from flash: {:?}", c, e),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/main.rs:160:19
[INFO] [stdout]     |
[INFO] [stdout] 160 |         Err(e) => error!("cannot read ipv4 config: {:?}", e),
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/command_handler.rs:65:25
[INFO] [stdout]    |
[INFO] [stdout] 65 |             Ok(sent) => warn!("sent only {}/{} bytes", sent, data.len()),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `warn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/command_handler.rs:66:23
[INFO] [stdout]    |
[INFO] [stdout] 66 |             Err(e) => error!("error sending line: {:?}", e),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/command_handler.rs:353:26
[INFO] [stdout]     |
[INFO] [stdout] 353 |             .map_err(|e| error!("unable to save ipv4 config to flash: {:?}", e));
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/flash_store.rs:64:30
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 .map_err(|e| error!("flash erase failed: {:?}", e));
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/main.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |             Ok(sent) => warn!("sent only {}/{} bytes", sent, data.len()),
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `warn` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/main.rs:84:23
[INFO] [stdout]    |
[INFO] [stdout] 84 |             Err(e) => error!("error sending line: {:?}", e),
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this warning originates in the macro `error` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::float::Float`
[INFO] [stdout]  --> src/ad7172/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_traits::float::Float;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/usb.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |         unsafe { BUS.write(Bus::new(usb, &mut EP_MEMORY)) };
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/usb.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |         unsafe { BUS.write(Bus::new(usb, &mut EP_MEMORY)) };
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 30 |         unsafe { BUS.write(Bus::new(usb, &raw mut EP_MEMORY)) };
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/usb.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let bus = unsafe { BUS.assume_init_ref() };
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: this type already provides "interior mutability", so its binding doesn't need to be declared as mutable when borrowed with a shared reference
[INFO] [stdout]    |
[INFO] [stdout] 19 - static mut BUS: MaybeUninit<UsbBusAllocator<Bus<USB>>> = MaybeUninit::uninit();
[INFO] [stdout] 19 + static BUS: MaybeUninit<UsbBusAllocator<Bus<USB>>> = MaybeUninit::uninit();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/usb.rs:52:18
[INFO] [stdout]    |
[INFO] [stdout] 52 |         unsafe { STATE.as_mut() }
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/net.rs:39:28
[INFO] [stdout]    |
[INFO] [stdout] 39 |     let rx_ring = unsafe { RX_RING.get_or_insert(Default::default()) };
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/net.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let tx_ring = unsafe { TX_RING.get_or_insert(Default::default()) };
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/flash_store.rs:47:18
[INFO] [stdout]    |
[INFO] [stdout] 47 |         unsafe { &mut BACKUP_SPACE }
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 47 |         unsafe { &raw mut BACKUP_SPACE }
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `thermostat` (bin "thermostat") due to 1 previous error; 13 warnings emitted
[INFO] [stderr] warning: unused dependency `cortex-m-log`
[INFO] [stderr]   --> Cargo.toml:19:15
[INFO] [stderr]    |
[INFO] [stderr] 19 | [dependencies.cortex-m-log]
[INFO] [stderr]    |               ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `cortex-m-log`
[INFO] [stderr] warning: `thermostat` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "c1e0c43468ceac8b494f3983a9ee111faa74dd6e850f88f197883ad43787b69a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1e0c43468ceac8b494f3983a9ee111faa74dd6e850f88f197883ad43787b69a", kill_on_drop: false }`
[INFO] [stdout] c1e0c43468ceac8b494f3983a9ee111faa74dd6e850f88f197883ad43787b69a
