[INFO] fetching crate rustuino 0.1.0...
[INFO] testing rustuino-0.1.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate rustuino 0.1.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate rustuino 0.1.0
[INFO] finished tweaking crates.io crate rustuino 0.1.0
[INFO] tweaked toml for crates.io crate rustuino 0.1.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rustuino 0.1.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 35 packages to latest compatible versions
[INFO] [stderr]       Adding heapless v0.7.17 (available: v0.9.2)
[INFO] [stderr]       Adding rtt-target v0.3.1 (available: v0.6.2)
[INFO] [stderr]       Adding stm32f4 v0.14.0 (available: v0.16.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 63f011c8846f6c4c25391b01ebb2beddf8139d8f402d7d209c11dca5787d5c0b
[INFO] running `Command { std: "docker" "start" "-a" "63f011c8846f6c4c25391b01ebb2beddf8139d8f402d7d209c11dca5787d5c0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "63f011c8846f6c4c25391b01ebb2beddf8139d8f402d7d209c11dca5787d5c0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "63f011c8846f6c4c25391b01ebb2beddf8139d8f402d7d209c11dca5787d5c0b", kill_on_drop: false }`
[INFO] [stdout] 63f011c8846f6c4c25391b01ebb2beddf8139d8f402d7d209c11dca5787d5c0b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 591c1f6ce323076a06c6acd07b53823e70b6d67f182a6041c1ce9f8a479931a4
[INFO] running `Command { std: "docker" "start" "-a" "591c1f6ce323076a06c6acd07b53823e70b6d67f182a6041c1ce9f8a479931a4", kill_on_drop: false }`
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling nb v1.1.0
[INFO] [stderr]    Compiling cortex-m v0.7.7
[INFO] [stderr]    Compiling cortex-m-rt v0.7.5
[INFO] [stderr]    Compiling vcell v0.1.3
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling bitfield v0.13.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling volatile-register v0.2.2
[INFO] [stderr]    Compiling nb v0.1.3
[INFO] [stderr]    Compiling heapless v0.7.17
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling embedded-hal v0.2.7
[INFO] [stderr]    Compiling stm32f4 v0.14.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling ufmt-write v0.1.0
[INFO] [stderr]    Compiling bare-metal v1.0.0
[INFO] [stderr]    Compiling hash32 v0.2.1
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling bare-metal v0.2.5
[INFO] [stderr]    Compiling rtt-target v0.3.1
[INFO] [stderr]    Compiling cortex-m-rt-macros v0.7.5
[INFO] [stderr]    Compiling rustuino v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gpio.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct AlternateFunction(u32);
[INFO] [stdout]    |            ----------------- ^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:3:9
[INFO] [stdout]    |
[INFO] [stdout]  3 | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/gpio.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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]    = note: `#[warn(static_mut_refs)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/gpio.rs:99:34
[INFO] [stdout]    |
[INFO] [stdout] 99 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout] 207 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:207:34
[INFO] [stdout]     |
[INFO] [stdout] 207 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:319:34
[INFO] [stdout]     |
[INFO] [stdout] 319 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:454:9
[INFO] [stdout]     |
[INFO] [stdout] 454 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:454:34
[INFO] [stdout]     |
[INFO] [stdout] 454 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:613:9
[INFO] [stdout]     |
[INFO] [stdout] 613 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:613:34
[INFO] [stdout]     |
[INFO] [stdout] 613 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:691:7
[INFO] [stdout]     |
[INFO] [stdout] 691 |   if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:691:32
[INFO] [stdout]     |
[INFO] [stdout] 691 |   if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/gpio.rs:1022:13
[INFO] [stdout]      |
[INFO] [stdout] 1022 |     unsafe {PIN_CONF.swap_remove(PIN_CONF.iter().position(|&i| i == (self.block, self.number)).unwrap());}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/gpio.rs:1022:34
[INFO] [stdout]      |
[INFO] [stdout] 1022 |     unsafe {PIN_CONF.swap_remove(PIN_CONF.iter().position(|&i| i == (self.block, self.number)).unwrap());}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/uart.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 |       if PIN_CONF.contains(&tx_pin) || PIN_CONF.contains(&rx_pin) {
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/uart.rs:62:40
[INFO] [stdout]    |
[INFO] [stdout] 62 |       if PIN_CONF.contains(&tx_pin) || PIN_CONF.contains(&rx_pin) {
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/uart.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         PIN_CONF.push(tx_pin).expect("Could not store pin number! | UART::new()");
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/uart.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         PIN_CONF.push(rx_pin).expect("Could not store pin number! | UART::new()");
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/i2c.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 |       if PIN_CONF.contains(&scl_pin) || PIN_CONF.contains(&sda_pin) {
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/i2c.rs:73:41
[INFO] [stdout]    |
[INFO] [stdout] 73 |       if PIN_CONF.contains(&scl_pin) || PIN_CONF.contains(&sda_pin) {
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/i2c.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         PIN_CONF.push(scl_pin).expect("Could not store pin number! | I2C::new()");
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/i2c.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         PIN_CONF.push(sda_pin).expect("Could not store pin number! | I2C::new()");
[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] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.19s
[INFO] running `Command { std: "docker" "inspect" "591c1f6ce323076a06c6acd07b53823e70b6d67f182a6041c1ce9f8a479931a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "591c1f6ce323076a06c6acd07b53823e70b6d67f182a6041c1ce9f8a479931a4", kill_on_drop: false }`
[INFO] [stdout] 591c1f6ce323076a06c6acd07b53823e70b6d67f182a6041c1ce9f8a479931a4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 40187aff4431b38b2f86d81d4ef89601f2d1b4db4a02fb29bfa8bb58e83917f1
[INFO] running `Command { std: "docker" "start" "-a" "40187aff4431b38b2f86d81d4ef89601f2d1b4db4a02fb29bfa8bb58e83917f1", kill_on_drop: false }`
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/gpio.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct AlternateFunction(u32);
[INFO] [stdout]    |            ----------------- ^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:3:9
[INFO] [stdout]    |
[INFO] [stdout]  3 | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/gpio.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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]    = note: `#[warn(static_mut_refs)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/gpio.rs:99:34
[INFO] [stdout]    |
[INFO] [stdout] 99 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout] 207 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:207:34
[INFO] [stdout]     |
[INFO] [stdout] 207 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 319 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:319:34
[INFO] [stdout]     |
[INFO] [stdout] 319 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:454:9
[INFO] [stdout]     |
[INFO] [stdout] 454 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:454:34
[INFO] [stdout]     |
[INFO] [stdout] 454 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:613:9
[INFO] [stdout]     |
[INFO] [stdout] 613 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:613:34
[INFO] [stdout]     |
[INFO] [stdout] 613 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:691:7
[INFO] [stdout]     |
[INFO] [stdout] 691 |   if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/gpio.rs:691:32
[INFO] [stdout]     |
[INFO] [stdout] 691 |   if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]     --> src/gpio.rs:1022:13
[INFO] [stdout]      |
[INFO] [stdout] 1022 |     unsafe {PIN_CONF.swap_remove(PIN_CONF.iter().position(|&i| i == (self.block, self.number)).unwrap());}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]     --> src/gpio.rs:1022:34
[INFO] [stdout]      |
[INFO] [stdout] 1022 |     unsafe {PIN_CONF.swap_remove(PIN_CONF.iter().position(|&i| i == (self.block, self.number)).unwrap());}
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/uart.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 |       if PIN_CONF.contains(&tx_pin) || PIN_CONF.contains(&rx_pin) {
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/uart.rs:62:40
[INFO] [stdout]    |
[INFO] [stdout] 62 |       if PIN_CONF.contains(&tx_pin) || PIN_CONF.contains(&rx_pin) {
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/uart.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         PIN_CONF.push(tx_pin).expect("Could not store pin number! | UART::new()");
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/uart.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         PIN_CONF.push(rx_pin).expect("Could not store pin number! | UART::new()");
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/i2c.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 |       if PIN_CONF.contains(&scl_pin) || PIN_CONF.contains(&sda_pin) {
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/i2c.rs:73:41
[INFO] [stdout]    |
[INFO] [stdout] 73 |       if PIN_CONF.contains(&scl_pin) || PIN_CONF.contains(&sda_pin) {
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/i2c.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         PIN_CONF.push(scl_pin).expect("Could not store pin number! | I2C::new()");
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/i2c.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |         PIN_CONF.push(sda_pin).expect("Could not store pin number! | I2C::new()");
[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] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "40187aff4431b38b2f86d81d4ef89601f2d1b4db4a02fb29bfa8bb58e83917f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "40187aff4431b38b2f86d81d4ef89601f2d1b4db4a02fb29bfa8bb58e83917f1", kill_on_drop: false }`
[INFO] [stdout] 40187aff4431b38b2f86d81d4ef89601f2d1b4db4a02fb29bfa8bb58e83917f1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 934c78f518bac3f0cdbf8bbf46de5adf6ca03b0b7a8c47788fd997a066f37e79
[INFO] running `Command { std: "docker" "start" "-a" "934c78f518bac3f0cdbf8bbf46de5adf6ca03b0b7a8c47788fd997a066f37e79", kill_on_drop: false }`
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/gpio.rs:49:30
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub struct AlternateFunction(u32);
[INFO] [stderr]    |            ----------------- ^^^
[INFO] [stderr]    |            |
[INFO] [stderr]    |            field in this struct
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider removing this field
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:3:9
[INFO] [stderr]    |
[INFO] [stderr]  3 | #![deny(warnings)]
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    = note: `#[warn(dead_code)]` implied by `#[warn(warnings)]`
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/gpio.rs:99:9
[INFO] [stderr]    |
[INFO] [stderr] 99 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: `#[warn(static_mut_refs)]` implied by `#[warn(warnings)]`
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/gpio.rs:99:34
[INFO] [stderr]    |
[INFO] [stderr] 99 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/gpio.rs:207:9
[INFO] [stderr]     |
[INFO] [stderr] 207 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = 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] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/gpio.rs:207:34
[INFO] [stderr]     |
[INFO] [stderr] 207 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = 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] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/gpio.rs:319:9
[INFO] [stderr]     |
[INFO] [stderr] 319 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = 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] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/gpio.rs:319:34
[INFO] [stderr]     |
[INFO] [stderr] 319 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = 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] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/gpio.rs:454:9
[INFO] [stderr]     |
[INFO] [stderr] 454 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = 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] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/gpio.rs:454:34
[INFO] [stderr]     |
[INFO] [stderr] 454 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = 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] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/gpio.rs:613:9
[INFO] [stderr]     |
[INFO] [stderr] 613 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = 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] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/gpio.rs:613:34
[INFO] [stderr]     |
[INFO] [stderr] 613 |     if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = 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] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/gpio.rs:691:7
[INFO] [stderr]     |
[INFO] [stderr] 691 |   if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = 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] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/gpio.rs:691:32
[INFO] [stderr]     |
[INFO] [stderr] 691 |   if !PIN_CONF.contains(&pin) {PIN_CONF.push(pin).unwrap();}
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = 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] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]     --> src/gpio.rs:1022:13
[INFO] [stderr]      |
[INFO] [stderr] 1022 |     unsafe {PIN_CONF.swap_remove(PIN_CONF.iter().position(|&i| i == (self.block, self.number)).unwrap());}
[INFO] [stderr]      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]      |
[INFO] [stderr]      = 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] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]     --> src/gpio.rs:1022:34
[INFO] [stderr]      |
[INFO] [stderr] 1022 |     unsafe {PIN_CONF.swap_remove(PIN_CONF.iter().position(|&i| i == (self.block, self.number)).unwrap());}
[INFO] [stderr]      |                                  ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]      |
[INFO] [stderr]      = 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] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/uart.rs:62:10
[INFO] [stderr]    |
[INFO] [stderr] 62 |       if PIN_CONF.contains(&tx_pin) || PIN_CONF.contains(&rx_pin) {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/uart.rs:62:40
[INFO] [stderr]    |
[INFO] [stderr] 62 |       if PIN_CONF.contains(&tx_pin) || PIN_CONF.contains(&rx_pin) {
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/uart.rs:67:9
[INFO] [stderr]    |
[INFO] [stderr] 67 |         PIN_CONF.push(tx_pin).expect("Could not store pin number! | UART::new()");
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/uart.rs:68:9
[INFO] [stderr]    |
[INFO] [stderr] 68 |         PIN_CONF.push(rx_pin).expect("Could not store pin number! | UART::new()");
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/i2c.rs:73:10
[INFO] [stderr]    |
[INFO] [stderr] 73 |       if PIN_CONF.contains(&scl_pin) || PIN_CONF.contains(&sda_pin) {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/i2c.rs:73:41
[INFO] [stderr]    |
[INFO] [stderr] 73 |       if PIN_CONF.contains(&scl_pin) || PIN_CONF.contains(&sda_pin) {
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/i2c.rs:78:9
[INFO] [stderr]    |
[INFO] [stderr] 78 |         PIN_CONF.push(scl_pin).expect("Could not store pin number! | I2C::new()");
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]   --> src/i2c.rs:79:9
[INFO] [stderr]    |
[INFO] [stderr] 79 |         PIN_CONF.push(sda_pin).expect("Could not store pin number! | I2C::new()");
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = 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] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `rustuino` (lib) generated 23 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]    Doc-tests rustuino
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test src/time.rs - time::millis (line 299) - compile ... FAILED
[INFO] [stdout] test src/gpio.rs - gpio (line 5) - compile ... FAILED
[INFO] [stdout] test src/time.rs - time::start_time (line 257) - compile ... FAILED
[INFO] [stdout] test src/i2c.rs - i2c (line 7) - compile ... FAILED
[INFO] [stdout] test src/uart.rs - uart (line 7) - compile ... FAILED
[INFO] [stdout] test src/time.rs - time (line 7) - compile ... FAILED
[INFO] [stdout] test src/time.rs - time::delay (line 216) - compile ... FAILED
[INFO] [stdout] test src/analog.rs - analog (line 7) - compile ... FAILED
[INFO] [stdout] test src/analog.rs - analog::analog_read (line 131) - compile ... FAILED
[INFO] [stdout] test src/time.rs - time::pwm_write (line 132) - compile ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/time.rs - time::millis (line 299) stdout ----
[INFO] [stdout] error[E0152]: duplicate lang item in crate `rustuino` (which `rust_out` depends on): `panic_impl`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the lang item is first defined in crate `std` (which `rust_out` depends on)
[INFO] [stdout]   = note: first definition in `std` loaded from /opt/rustwide/rustup-home/toolchains/beta-2026-04-21-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-0b731ea8964f0f7c.rmeta
[INFO] [stdout]   = note: second definition in `rustuino` loaded from /opt/rustwide/target/debug/deps/librustuino-df0c42ed6b8793d4.rlib
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0152`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/gpio.rs - gpio (line 5) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `PA0` in this scope
[INFO] [stdout]   --> src/gpio.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 |   let in_pin = pinmode_input(PA0).unwrap();
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/include.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 |           pub const [<$block:upper $pin>]: (char, u8) = ($block, $pin);
[INFO] [stdout]    |           ------------------------------------------- similarly named constant `A0` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: a constant with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 16 -   let in_pin = pinmode_input(PA0).unwrap();
[INFO] [stdout] 16 +   let in_pin = pinmode_input(A0).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PA1` in this scope
[INFO] [stdout]   --> src/gpio.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 |   let out_pin = pinmode_output(PA1).unwrap();
[INFO] [stdout]    |                                ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/include.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 |           pub const [<$block:upper $pin>]: (char, u8) = ($block, $pin);
[INFO] [stdout]    |           ------------------------------------------- similarly named constant `A1` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: a constant with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 17 -   let out_pin = pinmode_output(PA1).unwrap();
[INFO] [stdout] 17 +   let out_pin = pinmode_output(A1).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PA2` in this scope
[INFO] [stdout]   --> src/gpio.rs:18:43
[INFO] [stdout]    |
[INFO] [stdout] 18 |   let af_pin = pinmode_alternate_function(PA2, 7).unwrap();
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/include.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 |           pub const [<$block:upper $pin>]: (char, u8) = ($block, $pin);
[INFO] [stdout]    |           ------------------------------------------- similarly named constant `A2` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: a constant with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 18 -   let af_pin = pinmode_alternate_function(PA2, 7).unwrap();
[INFO] [stdout] 18 +   let af_pin = pinmode_alternate_function(A2, 7).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PA4` in this scope
[INFO] [stdout]   --> src/gpio.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 19 |   let analog_pin = pinmode_analog(PA4).unwrap();
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/include.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 |           pub const [<$block:upper $pin>]: (char, u8) = ($block, $pin);
[INFO] [stdout]    |           ------------------------------------------- similarly named constant `A4` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: a constant with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 19 -   let analog_pin = pinmode_analog(PA4).unwrap();
[INFO] [stdout] 19 +   let analog_pin = pinmode_analog(A4).unwrap();
[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] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/time.rs - time::start_time (line 257) stdout ----
[INFO] [stdout] error[E0152]: duplicate lang item in crate `rustuino` (which `rust_out` depends on): `panic_impl`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the lang item is first defined in crate `std` (which `rust_out` depends on)
[INFO] [stdout]   = note: first definition in `std` loaded from /opt/rustwide/rustup-home/toolchains/beta-2026-04-21-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-0b731ea8964f0f7c.rmeta
[INFO] [stdout]   = note: second definition in `rustuino` loaded from /opt/rustwide/target/debug/deps/librustuino-df0c42ed6b8793d4.rlib
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0152`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/i2c.rs - i2c (line 7) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `PB6` in this scope
[INFO] [stdout]   --> src/i2c.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |   let i2c = I2C::new::<16>(1, PB6, PB7, true).unwrap();
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/include.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 |           pub const [<$block:upper $pin>]: (char, u8) = ($block, $pin);
[INFO] [stdout]    |           ------------------------------------------- similarly named constant `B6` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: a constant with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 18 -   let i2c = I2C::new::<16>(1, PB6, PB7, true).unwrap();
[INFO] [stdout] 18 +   let i2c = I2C::new::<16>(1, B6, PB7, true).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PB7` in this scope
[INFO] [stdout]   --> src/i2c.rs:18:36
[INFO] [stdout]    |
[INFO] [stdout] 18 |   let i2c = I2C::new::<16>(1, PB6, PB7, true).unwrap();
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/include.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 |           pub const [<$block:upper $pin>]: (char, u8) = ($block, $pin);
[INFO] [stdout]    |           ------------------------------------------- similarly named constant `B7` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: a constant with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 18 -   let i2c = I2C::new::<16>(1, PB6, PB7, true).unwrap();
[INFO] [stdout] 18 +   let i2c = I2C::new::<16>(1, PB6, B7, true).unwrap();
[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] error[E0433]: cannot find type `I2C` in this scope
[INFO] [stdout]   --> src/i2c.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |   let i2c = I2C::new::<16>(1, PB6, PB7, true).unwrap();
[INFO] [stdout]    |             ^^^ use of undeclared type `I2C`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/uart.rs - uart (line 7) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `PA2` in this scope
[INFO] [stdout]   --> src/uart.rs:18:27
[INFO] [stdout]    |
[INFO] [stdout] 18 |   let uart = UART::new(2, PA2, PA3, 115200).unwrap();
[INFO] [stdout]    |                           ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/include.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 |           pub const [<$block:upper $pin>]: (char, u8) = ($block, $pin);
[INFO] [stdout]    |           ------------------------------------------- similarly named constant `A2` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: a constant with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 18 -   let uart = UART::new(2, PA2, PA3, 115200).unwrap();
[INFO] [stdout] 18 +   let uart = UART::new(2, A2, PA3, 115200).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PA3` in this scope
[INFO] [stdout]   --> src/uart.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |   let uart = UART::new(2, PA2, PA3, 115200).unwrap();
[INFO] [stdout]    |                                ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/include.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 |           pub const [<$block:upper $pin>]: (char, u8) = ($block, $pin);
[INFO] [stdout]    |           ------------------------------------------- similarly named constant `A3` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: a constant with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 18 -   let uart = UART::new(2, PA2, PA3, 115200).unwrap();
[INFO] [stdout] 18 +   let uart = UART::new(2, PA2, A3, 115200).unwrap();
[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] error[E0433]: cannot find type `UART` in this scope
[INFO] [stdout]   --> src/uart.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |   let uart = UART::new(2, PA2, PA3, 115200).unwrap();
[INFO] [stdout]    |              ^^^^ use of undeclared type `UART`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/time.rs - time (line 7) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `PA8` in this scope
[INFO] [stdout]   --> src/time.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 |   let pwm_pin = pinmode_pwm(PA8).unwrap();
[INFO] [stdout]    |                             ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/include.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 |           pub const [<$block:upper $pin>]: (char, u8) = ($block, $pin);
[INFO] [stdout]    |           ------------------------------------------- similarly named constant `A8` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: a constant with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 18 -   let pwm_pin = pinmode_pwm(PA8).unwrap();
[INFO] [stdout] 18 +   let pwm_pin = pinmode_pwm(A8).unwrap();
[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] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/time.rs - time::delay (line 216) stdout ----
[INFO] [stdout] error[E0152]: duplicate lang item in crate `rustuino` (which `rust_out` depends on): `panic_impl`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the lang item is first defined in crate `std` (which `rust_out` depends on)
[INFO] [stdout]   = note: first definition in `std` loaded from /opt/rustwide/rustup-home/toolchains/beta-2026-04-21-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-0b731ea8964f0f7c.rmeta
[INFO] [stdout]   = note: second definition in `rustuino` loaded from /opt/rustwide/target/debug/deps/librustuino-df0c42ed6b8793d4.rlib
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `PA0` in this scope
[INFO] [stdout]    --> src/time.rs:220:11
[INFO] [stdout]     |
[INFO] [stdout] 220 | let pin = PA0::output();
[INFO] [stdout]     |           ^^^ use of undeclared type `PA0`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0152, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0152`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/analog.rs - analog (line 7) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `PA0` in this scope
[INFO] [stdout]   --> src/analog.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 18 |   let in_pin = pinmode_analog(PA0).unwrap();
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/include.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 |           pub const [<$block:upper $pin>]: (char, u8) = ($block, $pin);
[INFO] [stdout]    |           ------------------------------------------- similarly named constant `A0` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: a constant with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 18 -   let in_pin = pinmode_analog(PA0).unwrap();
[INFO] [stdout] 18 +   let in_pin = pinmode_analog(A0).unwrap();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PA1` in this scope
[INFO] [stdout]   --> src/analog.rs:19:32
[INFO] [stdout]    |
[INFO] [stdout] 19 |   let led_pin = pinmode_output(PA1).unwrap();
[INFO] [stdout]    |                                ^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/include.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 |           pub const [<$block:upper $pin>]: (char, u8) = ($block, $pin);
[INFO] [stdout]    |           ------------------------------------------- similarly named constant `A1` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: a constant with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 19 -   let led_pin = pinmode_output(PA1).unwrap();
[INFO] [stdout] 19 +   let led_pin = pinmode_output(A1).unwrap();
[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] error[E0425]: cannot find function `analog_resolution` in this scope
[INFO] [stdout]    --> src/analog.rs:25:3
[INFO] [stdout]     |
[INFO] [stdout]  25 |   analog_resolution(12);
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/analog.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub fn adc_resolution(res: u8) -> Result<(), ProgError> {
[INFO] [stdout]     | ------------------------------------------------------- similarly named function `adc_resolution` defined here
[INFO] [stdout]     |
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout]  25 -   analog_resolution(12);
[INFO] [stdout]  25 +   adc_resolution(12);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/analog.rs - analog::analog_read (line 131) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `PA0` in this scope
[INFO] [stdout]    --> src/analog.rs:133:26
[INFO] [stdout]     |
[INFO] [stdout] 133 | let pin = pinmode_analog(PA0).unwrap();
[INFO] [stdout]     |                          ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `pinmode_analog` in this scope
[INFO] [stdout]    --> src/analog.rs:133:11
[INFO] [stdout]     |
[INFO] [stdout] 133 | let pin = pinmode_analog(PA0).unwrap();
[INFO] [stdout]     |           ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `analog_read` in this scope
[INFO] [stdout]    --> src/analog.rs:136:22
[INFO] [stdout]     |
[INFO] [stdout] 136 | let mut value: u16 = analog_read(&pin);
[INFO] [stdout]     |                      ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/time.rs - time::pwm_write (line 132) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `PA8` in this scope
[INFO] [stdout]    --> src/time.rs:134:23
[INFO] [stdout]     |
[INFO] [stdout] 134 | let pin = pinmode_pwm(PA8).unwrap();
[INFO] [stdout]     |                       ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `pinmode_pwm` in this scope
[INFO] [stdout]    --> src/time.rs:134:11
[INFO] [stdout]     |
[INFO] [stdout] 134 | let pin = pinmode_pwm(PA8).unwrap();
[INFO] [stdout]     |           ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `pwm_write` in this scope
[INFO] [stdout]    --> src/time.rs:137:22
[INFO] [stdout]     |
[INFO] [stdout] 137 | let mut value: u16 = pwm_write(&pin, 128).unwrap();
[INFO] [stdout]     |                      ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/analog.rs - analog (line 7)
[INFO] [stdout]     src/analog.rs - analog::analog_read (line 131)
[INFO] [stdout]     src/gpio.rs - gpio (line 5)
[INFO] [stdout]     src/i2c.rs - i2c (line 7)
[INFO] [stdout]     src/time.rs - time (line 7)
[INFO] [stdout]     src/time.rs - time::delay (line 216)
[INFO] [stdout]     src/time.rs - time::millis (line 299)
[INFO] [stdout]     src/time.rs - time::pwm_write (line 132)
[INFO] [stdout]     src/time.rs - time::start_time (line 257)
[INFO] [stdout]     src/uart.rs - uart (line 7)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 10 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.86s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "934c78f518bac3f0cdbf8bbf46de5adf6ca03b0b7a8c47788fd997a066f37e79", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "934c78f518bac3f0cdbf8bbf46de5adf6ca03b0b7a8c47788fd997a066f37e79", kill_on_drop: false }`
[INFO] [stdout] 934c78f518bac3f0cdbf8bbf46de5adf6ca03b0b7a8c47788fd997a066f37e79
