[INFO] cloning repository https://github.com/drPilman/pract_stm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/drPilman/pract_stm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FdrPilman%2Fpract_stm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FdrPilman%2Fpract_stm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2b913e5415cd44661dce075dc7687bfb162ed07d
[INFO] checking drPilman/pract_stm against try#d8be25549d5418405531341b4be6d8538fc3c42e for pr-156160
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FdrPilman%2Fpract_stm" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-7-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/drPilman/pract_stm
[INFO] finished tweaking git repo https://github.com/drPilman/pract_stm
[INFO] tweaked toml for git repo https://github.com/drPilman/pract_stm written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/drPilman/pract_stm on toolchain d8be25549d5418405531341b4be6d8538fc3c42e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d8be25549d5418405531341b4be6d8538fc3c42e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/drPilman/pract_stm 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" "+d8be25549d5418405531341b4be6d8538fc3c42e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating git repository `https://github.com/embassy-rs/embassy.git`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded seq-macro v0.3.4
[INFO] [stderr]   Downloaded sdio-host v0.5.0
[INFO] [stderr]   Downloaded stm32-fmc v0.2.4
[INFO] [stderr]   Downloaded embedded-storage-async v0.4.0
[INFO] [stderr]   Downloaded embedded-storage v0.3.0
[INFO] [stderr]   Downloaded static_cell v1.2.0
[INFO] [stderr]   Downloaded embedded-hal-async v0.2.0-alpha.1
[INFO] [stderr]   Downloaded embedded-hal v1.0.0-alpha.10
[INFO] [stderr]   Downloaded bxcan v0.7.0
[INFO] [stderr]   Downloaded syn v2.0.23
[INFO] [stderr]   Downloaded stm32-metapac v12.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f9d8c7a64ea3336e8dac4cb03751fe8cb1e88748a7f17de65e2b5bbe7eb87ec5
[INFO] running `Command { std: "docker" "start" "f9d8c7a64ea3336e8dac4cb03751fe8cb1e88748a7f17de65e2b5bbe7eb87ec5", 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" "f9d8c7a64ea3336e8dac4cb03751fe8cb1e88748a7f17de65e2b5bbe7eb87ec5" "/opt/rustwide/cargo-home/bin/cargo" "+d8be25549d5418405531341b4be6d8538fc3c42e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f9d8c7a64ea3336e8dac4cb03751fe8cb1e88748a7f17de65e2b5bbe7eb87ec5", 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" "f9d8c7a64ea3336e8dac4cb03751fe8cb1e88748a7f17de65e2b5bbe7eb87ec5" "/opt/rustwide/cargo-home/bin/cargo" "+d8be25549d5418405531341b4be6d8538fc3c42e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.63
[INFO] [stderr]    Compiling quote v1.0.29
[INFO] [stderr]    Compiling unicode-ident v1.0.10
[INFO] [stderr]    Compiling defmt v0.3.5
[INFO] [stderr]    Compiling defmt-macros v0.3.6
[INFO] [stderr]    Compiling cortex-m v0.7.7
[INFO] [stderr]     Checking nb v1.1.0
[INFO] [stderr]     Checking critical-section v1.1.1
[INFO] [stderr]    Compiling cortex-m-rt v0.7.3
[INFO] [stderr]    Compiling thiserror v1.0.40
[INFO] [stderr]    Compiling semver v1.0.17
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling bare-metal v0.2.5
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]     Checking futures-sink v0.3.28
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]     Checking vcell v0.1.3
[INFO] [stderr]     Checking nb v0.1.3
[INFO] [stderr]     Checking pin-project-lite v0.2.10
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking embedded-hal v0.2.7
[INFO] [stderr]     Checking volatile-register v0.2.1
[INFO] [stderr]     Checking bitfield v0.13.2
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling atomic-polyfill v1.0.2
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling stm32-metapac v12.0.0
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking hash32 v0.2.1
[INFO] [stderr]    Compiling embassy-sync v0.2.0 (https://github.com/embassy-rs/embassy.git#b2f843a4)
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]     Checking embedded-storage v0.3.0
[INFO] [stderr]     Checking embedded-hal v1.0.0-alpha.10
[INFO] [stderr]    Compiling embassy-hal-common v0.1.0 (https://github.com/embassy-rs/embassy.git#b2f843a4)
[INFO] [stderr]    Compiling panic-probe v0.3.1
[INFO] [stderr]     Checking embedded-storage-async v0.4.0
[INFO] [stderr]     Checking embedded-hal-async v0.2.0-alpha.1
[INFO] [stderr]    Compiling defmt-rtt v0.4.0
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]     Checking embassy-futures v0.1.0 (https://github.com/embassy-rs/embassy.git#b2f843a4)
[INFO] [stderr]    Compiling embassy-executor v0.2.0 (https://github.com/embassy-rs/embassy.git#b2f843a4)
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]     Checking static_cell v1.2.0
[INFO] [stderr]     Checking stm32-fmc v0.2.4
[INFO] [stderr]    Compiling smt32_project v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling syn v2.0.23
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]    Compiling seq-macro v0.3.4
[INFO] [stderr]     Checking sdio-host v0.5.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling heapless v0.7.16
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling darling_core v0.20.1
[INFO] [stderr]    Compiling cortex-m-rt-macros v0.7.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.40
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling embassy-stm32 v0.1.0 (https://github.com/embassy-rs/embassy.git#b2f843a4)
[INFO] [stderr]    Compiling darling_macro v0.20.1
[INFO] [stderr]    Compiling darling v0.20.1
[INFO] [stderr]    Compiling embassy-macros v0.2.0 (https://github.com/embassy-rs/embassy.git#b2f843a4)
[INFO] [stderr]    Compiling defmt-parser v0.3.3
[INFO] [stderr]     Checking futures v0.3.28
[INFO] [stderr]     Checking embedded-io v0.4.0
[INFO] [stderr]     Checking embassy-time v0.1.1 (https://github.com/embassy-rs/embassy.git#b2f843a4)
[INFO] [stderr]     Checking embassy-net-driver v0.1.0 (https://github.com/embassy-rs/embassy.git#b2f843a4)
[INFO] [stderr]     Checking embassy-usb-driver v0.1.0 (https://github.com/embassy-rs/embassy.git#b2f843a4)
[INFO] [stderr]     Checking bxcan v0.7.0
[INFO] [stderr]     Checking embassy-embedded-hal v0.1.0 (https://github.com/embassy-rs/embassy.git#b2f843a4)
[INFO] [stdout] warning: unused import: `core::future::Future`
[INFO] [stdout]  --> src/keypad.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::future::Future;
[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: `embassy_executor::Spawner`
[INFO] [stdout]  --> src/keypad.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use embassy_executor::Spawner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | #![feature(async_fn_in_trait)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `impl_trait_projections` has been stable since 1.74.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | #![feature(impl_trait_projections)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `get_many_mut` has been stable since 1.86.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(get_many_mut)]
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![feature]` attribute can only be used at the crate root
[INFO] [stdout]  --> src/keypad.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(get_many_mut)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the crate root is at `src/lib.rs`
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::future::Future`
[INFO] [stdout]  --> src/keypad.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::future::Future;
[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: `embassy_executor::Spawner`
[INFO] [stdout]  --> src/keypad.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use embassy_executor::Spawner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `async_fn_in_trait` has been stable since 1.75.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | #![feature(async_fn_in_trait)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `impl_trait_projections` has been stable since 1.74.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | #![feature(impl_trait_projections)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `get_many_mut` has been stable since 1.86.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![feature(get_many_mut)]
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![feature]` attribute can only be used at the crate root
[INFO] [stdout]  --> src/keypad.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(get_many_mut)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the crate root is at `src/lib.rs`
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/display.rs:142:41
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn _println(&mut self, _symbols: T, pos: usize) {}
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/keypad.rs:64:24
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_one_key(&self)->Option<Button>{
[INFO] [stdout]    |                        ^^^^^          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_one_key(&self)->Option<Button<'_>>{
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/keypad.rs:107:27
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub async fn wait_one(&mut self) -> Option<Button> {
[INFO] [stdout]     |                           ^^^^^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub async fn wait_one(&mut self) -> Option<Button<'_>> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `type_alias_impl_trait` is declared but not used
[INFO] [stdout]  --> src/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(type_alias_impl_trait)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/display.rs:142:41
[INFO] [stdout]     |
[INFO] [stdout] 142 |     fn _println(&mut self, _symbols: T, pos: usize) {}
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/keypad.rs:64:24
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_one_key(&self)->Option<Button>{
[INFO] [stdout]    |                        ^^^^^          ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_one_key(&self)->Option<Button<'_>>{
[INFO] [stdout]    |                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/keypad.rs:107:27
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub async fn wait_one(&mut self) -> Option<Button> {
[INFO] [stdout]     |                           ^^^^^^^^^            ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub async fn wait_one(&mut self) -> Option<Button<'_>> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `type_alias_impl_trait` is declared but not used
[INFO] [stdout]  --> src/lib.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(type_alias_impl_trait)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `println` is ambiguous
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         println!("{:?}", secret);
[INFO] [stdout]    |         ^^^^^^^ ambiguous name
[INFO] [stdout]    |
[INFO] [stdout]    = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution
[INFO] [stdout] note: `println` could refer to the macro imported here
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:4:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | use defmt::*;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    = help: consider adding an explicit import of `println` to disambiguate
[INFO] [stdout]    = help: or use `crate::println` to refer to this macro unambiguously
[INFO] [stdout] note: `println` could also refer to a macro from prelude
[INFO] [stdout]   --> /rustc/d8be25549d5418405531341b4be6d8538fc3c42e/library/std/src/prelude/mod.rs:143:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: `impl Trait` in type aliases is unstable
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[embassy_executor::task]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #63063 <https://github.com/rust-lang/rust/issues/63063> for more information
[INFO] [stdout]    = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-06-16; consider upgrading it if it is out of date
[INFO] [stdout]    = note: this error originates in the attribute macro `embassy_executor::task` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cortex_m::register::control::Control`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cortex_m::register::control::Control;
[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: `embassy_executor::Spawner`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use embassy_executor::Spawner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Level`, `Output`, and `Speed`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use embassy_stm32::gpio::{Level, Output, Speed};
[INFO] [stdout]   |                           ^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `embassy_stm32::interrupt::InterruptExt`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use embassy_stm32::interrupt::InterruptExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Button`
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 | use smt32_project::keypad::{KeyPad, Button};
[INFO] [stdout]    |                                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{Rng, SeedableRng};
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     'game: loop {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OutputOpenDrain` and `Pull`
[INFO] [stdout]  --> src/bin/blinky.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use embassy_stm32::gpio::{Level, OutputOpenDrain, Output, Speed, Pull};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^                 ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `#[panic_handler]` function required, but not found
[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: unused imports: `OutputOpenDrain` and `Pull`
[INFO] [stdout]  --> src/bin/blinky.rs:7:34
[INFO] [stdout]   |
[INFO] [stdout] 7 | use embassy_stm32::gpio::{Level, OutputOpenDrain, Output, Speed, Pull};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^                 ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0658, E0659.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0658`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `smt32_project` (bin "bulls_and_cows") due to 2 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `cortex_m::register::control::Control`
[INFO] [stdout]  --> src/bin/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cortex_m::register::control::Control;
[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: `defmt::*`
[INFO] [stdout]  --> src/bin/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use defmt::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `embassy_stm32::interrupt::InterruptExt`
[INFO] [stdout]  --> src/bin/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use embassy_stm32::interrupt::InterruptExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smt32_project::display::Char`
[INFO] [stdout]   --> src/bin/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use smt32_project::display::Char;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `defmt::*`
[INFO] [stdout]   --> src/bin/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use defmt::*;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cortex_m::register::control::Control`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cortex_m::register::control::Control;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `embassy_executor::Spawner`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use embassy_executor::Spawner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Level`, `Output`, and `Speed`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use embassy_stm32::gpio::{Level, Output, Speed};
[INFO] [stdout]   |                           ^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `embassy_stm32::interrupt::InterruptExt`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use embassy_stm32::interrupt::InterruptExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Button`
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 | use smt32_project::keypad::{KeyPad, Button};
[INFO] [stdout]    |                                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{Rng, SeedableRng};
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     'game: loop {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `#[panic_handler]` function required, but not found
[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: the `#![no_main]` attribute can only be used at the crate root
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![no_main]
[INFO] [stdout]   | ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the crate root is at `src/bin/main.rs`
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0659]: `println` is ambiguous
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         println!("{:?}", secret);
[INFO] [stdout]    |         ^^^^^^^ ambiguous name
[INFO] [stdout]    |
[INFO] [stdout]    = note: ambiguous because of a conflict between a name from a glob import and an outer scope during import or macro resolution
[INFO] [stdout] note: `println` could refer to the macro imported here
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:4:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | use defmt::*;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    = help: consider adding an explicit import of `println` to disambiguate
[INFO] [stdout]    = help: or use `crate::println` to refer to this macro unambiguously
[INFO] [stdout] note: `println` could also refer to a macro from prelude
[INFO] [stdout]   --> /rustc/d8be25549d5418405531341b4be6d8538fc3c42e/library/std/src/prelude/mod.rs:143:12
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: `impl Trait` in type aliases is unstable
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | #[embassy_executor::task]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #63063 <https://github.com/rust-lang/rust/issues/63063> for more information
[INFO] [stdout]    = help: add `#![feature(type_alias_impl_trait)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-06-16; consider upgrading it if it is out of date
[INFO] [stdout]    = note: this error originates in the attribute macro `embassy_executor::task` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cortex_m::register::control::Control`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cortex_m::register::control::Control;
[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: `embassy_executor::Spawner`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use embassy_executor::Spawner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Level`, `Output`, and `Speed`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use embassy_stm32::gpio::{Level, Output, Speed};
[INFO] [stdout]   |                           ^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `embassy_stm32::interrupt::InterruptExt`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use embassy_stm32::interrupt::InterruptExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Button`
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 | use smt32_project::keypad::{KeyPad, Button};
[INFO] [stdout]    |                                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `smt32_project` (bin "blinky") due to 2 previous errors; 1 warning emitted
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{Rng, SeedableRng};
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     'game: loop {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0658, E0659.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0658`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cortex_m::register::control::Control`
[INFO] [stdout]  --> src/bin/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cortex_m::register::control::Control;
[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: `defmt::*`
[INFO] [stdout]  --> src/bin/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use defmt::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `embassy_stm32::interrupt::InterruptExt`
[INFO] [stdout]  --> src/bin/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use embassy_stm32::interrupt::InterruptExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `smt32_project::display::Char`
[INFO] [stdout]   --> src/bin/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use smt32_project::display::Char;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `defmt::*`
[INFO] [stdout]   --> src/bin/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use defmt::*;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cortex_m::register::control::Control`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use cortex_m::register::control::Control;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `embassy_executor::Spawner`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use embassy_executor::Spawner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Level`, `Output`, and `Speed`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 6 | use embassy_stm32::gpio::{Level, Output, Speed};
[INFO] [stdout]   |                           ^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `embassy_stm32::interrupt::InterruptExt`
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use embassy_stm32::interrupt::InterruptExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Button`
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 | use smt32_project::keypad::{KeyPad, Button};
[INFO] [stdout]    |                                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{Rng, SeedableRng};
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]   --> src/bin/bulls_and_cows.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     'game: loop {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![no_main]` attribute can only be used at the crate root
[INFO] [stdout]  --> src/bin/bulls_and_cows.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![no_main]
[INFO] [stdout]   | ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the crate root is at `src/bin/main.rs`
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `smt32_project` (bin "bulls_and_cows" test) due to 2 previous errors; 7 warnings emitted
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/main.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut keypad = KeyPad::new(
[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] [stderr] error: could not compile `smt32_project` (bin "main") due to 2 previous errors; 14 warnings emitted
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/main.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let mut keypad = KeyPad::new(
[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] running `Command { std: "docker" "inspect" "f9d8c7a64ea3336e8dac4cb03751fe8cb1e88748a7f17de65e2b5bbe7eb87ec5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9d8c7a64ea3336e8dac4cb03751fe8cb1e88748a7f17de65e2b5bbe7eb87ec5", kill_on_drop: false }`
[INFO] [stdout] f9d8c7a64ea3336e8dac4cb03751fe8cb1e88748a7f17de65e2b5bbe7eb87ec5
