[INFO] fetching crate rustuino 0.1.0...
[INFO] testing rustuino-0.1.0 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate rustuino 0.1.0 into /workspace/builds/worker-2-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-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rustuino 0.1.0 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-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-2025-09-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 36 packages to latest compatible versions
[INFO] [stderr]       Adding heapless v0.7.17 (available: v0.9.1)
[INFO] [stderr]       Adding rtt-target v0.3.1 (available: v0.6.1)
[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-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 031453192d4cf8262eaefa72b3acf73c9a3b2c078bfa53789e9db2f67ba18923
[INFO] running `Command { std: "docker" "start" "-a" "031453192d4cf8262eaefa72b3acf73c9a3b2c078bfa53789e9db2f67ba18923", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "031453192d4cf8262eaefa72b3acf73c9a3b2c078bfa53789e9db2f67ba18923", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "031453192d4cf8262eaefa72b3acf73c9a3b2c078bfa53789e9db2f67ba18923", kill_on_drop: false }`
[INFO] [stdout] 031453192d4cf8262eaefa72b3acf73c9a3b2c078bfa53789e9db2f67ba18923
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 15a7fac791b58f65b781a0401888caf9d506efa6939bd4b53510621672522ecc
[INFO] running `Command { std: "docker" "start" "-a" "15a7fac791b58f65b781a0401888caf9d506efa6939bd4b53510621672522ecc", kill_on_drop: false }`
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling cortex-m v0.7.7
[INFO] [stderr]    Compiling nb v1.1.0
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling cortex-m-rt v0.7.5
[INFO] [stderr]    Compiling vcell v0.1.3
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling bitfield v0.13.2
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling stm32f4 v0.14.0
[INFO] [stderr]    Compiling nb v0.1.3
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling volatile-register v0.2.2
[INFO] [stderr]    Compiling embedded-hal v0.2.7
[INFO] [stderr]    Compiling bare-metal v1.0.0
[INFO] [stderr]    Compiling ufmt-write v0.1.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling hash32 v0.2.1
[INFO] [stderr]    Compiling bare-metal v0.2.5
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling heapless v0.7.17
[INFO] [stderr]    Compiling rtt-target v0.3.1
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling syn v2.0.106
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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: `#[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.89s
[INFO] running `Command { std: "docker" "inspect" "15a7fac791b58f65b781a0401888caf9d506efa6939bd4b53510621672522ecc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "15a7fac791b58f65b781a0401888caf9d506efa6939bd4b53510621672522ecc", kill_on_drop: false }`
[INFO] [stdout] 15a7fac791b58f65b781a0401888caf9d506efa6939bd4b53510621672522ecc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eaaf7f3703225a825793d5aef8cec3a4b87e3a309133f483c13700c3b4dd1946
[INFO] running `Command { std: "docker" "start" "-a" "eaaf7f3703225a825793d5aef8cec3a4b87e3a309133f483c13700c3b4dd1946", 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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: `#[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "eaaf7f3703225a825793d5aef8cec3a4b87e3a309133f483c13700c3b4dd1946", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eaaf7f3703225a825793d5aef8cec3a4b87e3a309133f483c13700c3b4dd1946", kill_on_drop: false }`
[INFO] [stdout] eaaf7f3703225a825793d5aef8cec3a4b87e3a309133f483c13700c3b4dd1946
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1b79e11ef0f9feaa5c6af5e4c17ff14f080ab63501a8ce3fe73742b59b084530
[INFO] running `Command { std: "docker" "start" "-a" "1b79e11ef0f9feaa5c6af5e4c17ff14f080ab63501a8ce3fe73742b59b084530", 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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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: `#[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[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] 
[INFO] [stderr] warning: `rustuino` (lib) generated 23 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]    Doc-tests rustuino
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test src/time.rs - time::start_time (line 257) - compile ... FAILED
[INFO] [stdout] test src/time.rs - time::pwm_write (line 132) - compile ... FAILED
[INFO] [stdout] test src/time.rs - time::millis (line 299) - 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/i2c.rs - i2c (line 7) - compile ... FAILED
[INFO] [stdout] test src/uart.rs - uart (line 7) - compile ... FAILED
[INFO] [stdout] test src/gpio.rs - gpio (line 5) - 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] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[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-2025-09-21-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-2a1757997f179349.rlib
[INFO] [stdout]   = note: second definition in `rustuino` loaded from /opt/rustwide/target/debug/deps/librustuino-ab356b23a3acbe03.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/time.rs - time::pwm_write (line 132) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `pinmode_pwm` in this scope
[INFO] [stdout]  --> src/time.rs:134:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | let pin = pinmode_pwm(PA8).unwrap();
[INFO] [stdout]   |           ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]   |
[INFO] [stdout] 2 + use rustuino::pinmode_pwm;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PA8` in this scope
[INFO] [stdout]  --> src/time.rs:134:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | 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] 7 | let mut value: u16 = pwm_write(&pin, 128).unwrap();
[INFO] [stdout]   |                      ^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]   |
[INFO] [stdout] 2 + use rustuino::pwm_write;
[INFO] [stdout]   |
[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::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-2025-09-21-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-2a1757997f179349.rlib
[INFO] [stdout]   = note: second definition in `rustuino` loaded from /opt/rustwide/target/debug/deps/librustuino-ab356b23a3acbe03.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/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] 13 |     let pwm_pin = pinmode_pwm(PA8).unwrap();
[INFO] [stdout]    |                               ^^^ help: a constant with a similar name exists: `A8`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/include.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | /   generate_pins![
[INFO] [stdout] 23 | |     ['a', 0],
[INFO] [stdout] 24 | |     ['a', 1],
[INFO] [stdout] 25 | |     ['a', 2],
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     ['h', 1]
[INFO] [stdout] 78 | |   ];
[INFO] [stdout]    | |___- similarly named constant `A8` defined here
[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-2025-09-21-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-2a1757997f179349.rlib
[INFO] [stdout]   = note: second definition in `rustuino` loaded from /opt/rustwide/target/debug/deps/librustuino-ab356b23a3acbe03.rlib
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PA0`
[INFO] [stdout]  --> src/time.rs:220:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | 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/i2c.rs - i2c (line 7) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `I2C`
[INFO] [stdout]   --> src/i2c.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 13 |   let i2c = I2C::new::<16>(1, PB6, PB7, true).unwrap();
[INFO] [stdout]    |             ^^^ use of undeclared type `I2C`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  8 + use crate::i2c::I2C;
[INFO] [stdout]    |
[INFO] [stdout]  8 + use rustuino::i2c::I2C;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PB6` in this scope
[INFO] [stdout]   --> src/i2c.rs:18:31
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let i2c = I2C::new::<16>(1, PB6, PB7, true).unwrap();
[INFO] [stdout]    |                                 ^^^ help: a constant with a similar name exists: `B6`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/include.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | /   generate_pins![
[INFO] [stdout] 23 | |     ['a', 0],
[INFO] [stdout] 24 | |     ['a', 1],
[INFO] [stdout] 25 | |     ['a', 2],
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     ['h', 1]
[INFO] [stdout] 78 | |   ];
[INFO] [stdout]    | |___- similarly named constant `B6` defined here
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PB7` in this scope
[INFO] [stdout]   --> src/i2c.rs:18:36
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let i2c = I2C::new::<16>(1, PB6, PB7, true).unwrap();
[INFO] [stdout]    |                                      ^^^ help: a constant with a similar name exists: `B7`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/include.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | /   generate_pins![
[INFO] [stdout] 23 | |     ['a', 0],
[INFO] [stdout] 24 | |     ['a', 1],
[INFO] [stdout] 25 | |     ['a', 2],
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     ['h', 1]
[INFO] [stdout] 78 | |   ];
[INFO] [stdout]    | |___- similarly named constant `B7` defined here
[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 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[E0433]: failed to resolve: use of undeclared type `UART`
[INFO] [stdout]   --> src/uart.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 13 |   let uart = UART::new(2, PA2, PA3, 115200).unwrap();
[INFO] [stdout]    |              ^^^^ use of undeclared type `UART`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs
[INFO] [stdout]    |
[INFO] [stdout]  8 + use crate::uart::UART;
[INFO] [stdout]    |
[INFO] [stdout]  8 + use rustuino::uart::UART;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PA2` in this scope
[INFO] [stdout]   --> src/uart.rs:18:27
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let uart = UART::new(2, PA2, PA3, 115200).unwrap();
[INFO] [stdout]    |                             ^^^ help: a constant with a similar name exists: `A2`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/include.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | /   generate_pins![
[INFO] [stdout] 23 | |     ['a', 0],
[INFO] [stdout] 24 | |     ['a', 1],
[INFO] [stdout] 25 | |     ['a', 2],
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     ['h', 1]
[INFO] [stdout] 78 | |   ];
[INFO] [stdout]    | |___- similarly named constant `A2` defined here
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PA3` in this scope
[INFO] [stdout]   --> src/uart.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let uart = UART::new(2, PA2, PA3, 115200).unwrap();
[INFO] [stdout]    |                                  ^^^ help: a constant with a similar name exists: `A3`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/include.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | /   generate_pins![
[INFO] [stdout] 23 | |     ['a', 0],
[INFO] [stdout] 24 | |     ['a', 1],
[INFO] [stdout] 25 | |     ['a', 2],
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     ['h', 1]
[INFO] [stdout] 78 | |   ];
[INFO] [stdout]    | |___- similarly named constant `A3` defined here
[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 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/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] 13 |     let in_pin = pinmode_input(PA0).unwrap();
[INFO] [stdout]    |                                ^^^ help: a constant with a similar name exists: `A0`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/include.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | /   generate_pins![
[INFO] [stdout] 23 | |     ['a', 0],
[INFO] [stdout] 24 | |     ['a', 1],
[INFO] [stdout] 25 | |     ['a', 2],
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     ['h', 1]
[INFO] [stdout] 78 | |   ];
[INFO] [stdout]    | |___- similarly named constant `A0` defined here
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PA1` in this scope
[INFO] [stdout]   --> src/gpio.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let out_pin = pinmode_output(PA1).unwrap();
[INFO] [stdout]    |                                  ^^^ help: a constant with a similar name exists: `A1`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/include.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | /   generate_pins![
[INFO] [stdout] 23 | |     ['a', 0],
[INFO] [stdout] 24 | |     ['a', 1],
[INFO] [stdout] 25 | |     ['a', 2],
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     ['h', 1]
[INFO] [stdout] 78 | |   ];
[INFO] [stdout]    | |___- similarly named constant `A1` defined here
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PA2` in this scope
[INFO] [stdout]   --> src/gpio.rs:18:43
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let af_pin = pinmode_alternate_function(PA2, 7).unwrap();
[INFO] [stdout]    |                                             ^^^ help: a constant with a similar name exists: `A2`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/include.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | /   generate_pins![
[INFO] [stdout] 23 | |     ['a', 0],
[INFO] [stdout] 24 | |     ['a', 1],
[INFO] [stdout] 25 | |     ['a', 2],
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     ['h', 1]
[INFO] [stdout] 78 | |   ];
[INFO] [stdout]    | |___- similarly named constant `A2` defined here
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PA4` in this scope
[INFO] [stdout]   --> src/gpio.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let analog_pin = pinmode_analog(PA4).unwrap();
[INFO] [stdout]    |                                     ^^^ help: a constant with a similar name exists: `A4`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/include.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | /   generate_pins![
[INFO] [stdout] 23 | |     ['a', 0],
[INFO] [stdout] 24 | |     ['a', 1],
[INFO] [stdout] 25 | |     ['a', 2],
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     ['h', 1]
[INFO] [stdout] 78 | |   ];
[INFO] [stdout]    | |___- similarly named constant `A4` defined here
[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/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] 13 |     let in_pin = pinmode_analog(PA0).unwrap();
[INFO] [stdout]    |                                 ^^^ help: a constant with a similar name exists: `A0`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/include.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | /   generate_pins![
[INFO] [stdout] 23 | |     ['a', 0],
[INFO] [stdout] 24 | |     ['a', 1],
[INFO] [stdout] 25 | |     ['a', 2],
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     ['h', 1]
[INFO] [stdout] 78 | |   ];
[INFO] [stdout]    | |___- similarly named constant `A0` defined here
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PA1` in this scope
[INFO] [stdout]   --> src/analog.rs:19:32
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let led_pin = pinmode_output(PA1).unwrap();
[INFO] [stdout]    |                                  ^^^ help: a constant with a similar name exists: `A1`
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/include.rs:22:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | /   generate_pins![
[INFO] [stdout] 23 | |     ['a', 0],
[INFO] [stdout] 24 | |     ['a', 1],
[INFO] [stdout] 25 | |     ['a', 2],
[INFO] [stdout] ...  |
[INFO] [stdout] 77 | |     ['h', 1]
[INFO] [stdout] 78 | |   ];
[INFO] [stdout]    | |___- similarly named constant `A1` defined here
[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]  20 |   analog_resolution(12);
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `adc_resolution`
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/workdir/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] 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 function `pinmode_analog` in this scope
[INFO] [stdout]  --> src/analog.rs:133:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | let pin = pinmode_analog(PA0).unwrap();
[INFO] [stdout]   |           ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]   |
[INFO] [stdout] 2 + use rustuino::pinmode_analog;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `PA0` in this scope
[INFO] [stdout]  --> src/analog.rs:133:26
[INFO] [stdout]   |
[INFO] [stdout] 4 | 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] 7 | let mut value: u16 = analog_read(&pin);
[INFO] [stdout]   |                      ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]   |
[INFO] [stdout] 2 + use rustuino::analog_read;
[INFO] [stdout]   |
[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.30s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "1b79e11ef0f9feaa5c6af5e4c17ff14f080ab63501a8ce3fe73742b59b084530", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b79e11ef0f9feaa5c6af5e4c17ff14f080ab63501a8ce3fe73742b59b084530", kill_on_drop: false }`
[INFO] [stdout] 1b79e11ef0f9feaa5c6af5e4c17ff14f080ab63501a8ce3fe73742b59b084530
