[INFO] fetching crate stm32l1xx-hal 0.1.0...
[INFO] testing stm32l1xx-hal-0.1.0 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate stm32l1xx-hal 0.1.0 into /workspace/builds/worker-3-tc2/source
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config
[INFO] started tweaking crates.io crate stm32l1xx-hal 0.1.0
[INFO] finished tweaking crates.io crate stm32l1xx-hal 0.1.0
[INFO] tweaked toml for crates.io crate stm32l1xx-hal 0.1.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate stm32l1xx-hal 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] crate crates.io crate stm32l1xx-hal 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] f5f5946440208f56b48579c84358a8bfa7b47a33768eee29a9ae07305eaba010
[INFO] running `Command { std: "docker" "start" "-a" "f5f5946440208f56b48579c84358a8bfa7b47a33768eee29a9ae07305eaba010", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f5f5946440208f56b48579c84358a8bfa7b47a33768eee29a9ae07305eaba010", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f5f5946440208f56b48579c84358a8bfa7b47a33768eee29a9ae07305eaba010", kill_on_drop: false }`
[INFO] [stdout] f5f5946440208f56b48579c84358a8bfa7b47a33768eee29a9ae07305eaba010
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] e8d479d0cc9130587925b214ca53b4e7b7c999ec49639bc0b9836c5a5aa9926b
[INFO] running `Command { std: "docker" "start" "-a" "e8d479d0cc9130587925b214ca53b4e7b7c999ec49639bc0b9836c5a5aa9926b", kill_on_drop: false }`
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.24
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling rand_core v0.3.0
[INFO] [stderr]    Compiling cortex-m v0.5.8
[INFO] [stderr]    Compiling vcell v0.1.0
[INFO] [stderr]    Compiling cortex-m-rt v0.6.7
[INFO] [stderr]    Compiling aligned v0.2.0
[INFO] [stderr]    Compiling volatile-register v0.2.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling rand_core v0.2.2
[INFO] [stderr]    Compiling r0 v0.2.2
[INFO] [stderr]    Compiling stm32l1 v0.5.0
[INFO] [stderr]    Compiling rand v0.5.5
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling nb v0.1.1
[INFO] [stderr]    Compiling cast v0.2.2
[INFO] [stderr]    Compiling embedded-hal v0.2.3
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling quote v0.6.10
[INFO] [stderr]    Compiling bare-metal v0.2.4
[INFO] [stderr]    Compiling syn v0.15.23
[INFO] [stderr]    Compiling cortex-m-rt-macros v0.1.5
[INFO] [stderr]    Compiling stm32l1xx-hal v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]    --> src/serial.rs:365:34
[INFO] [stdout]     |
[INFO] [stdout] 365 |                           unsafe { ptr::write_volatile(&(*$USARTX::ptr()).dr as *const _ as *mut _, byte) }
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 376 | / usart! {
[INFO] [stdout] 377 | |     USART1: (usart1, apb2enr, usart1en, apb2_clk, Serial1Ext),
[INFO] [stdout] 378 | |     USART2: (usart2, apb1enr, usart2en, apb1_clk, Serial2Ext),
[INFO] [stdout] 379 | |     USART3: (usart3, apb1enr, usart3en, apb1_clk, Serial3Ext),
[INFO] [stdout] 380 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]     = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]     = note: `#[warn(invalid_reference_casting)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `usart` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]    --> src/spi.rs:248:34
[INFO] [stdout]     |
[INFO] [stdout] 248 |                           unsafe { ptr::write_volatile(&self.spi.dr as *const _ as *mut u8, byte) }
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 | / spi! {
[INFO] [stdout] 265 | |     SPI1: (spi1, apb2enr, spi1en, apb2_clk),
[INFO] [stdout] 266 | |     SPI2: (spi2, apb1enr, spi2en, apb1_clk),
[INFO] [stdout] 267 | |     SPI3: (spi3, apb1enr, spi3en, apb1_clk),
[INFO] [stdout] 268 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]     = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]     = note: this warning originates in the macro `spi` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.50s
[INFO] running `Command { std: "docker" "inspect" "e8d479d0cc9130587925b214ca53b4e7b7c999ec49639bc0b9836c5a5aa9926b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8d479d0cc9130587925b214ca53b4e7b7c999ec49639bc0b9836c5a5aa9926b", kill_on_drop: false }`
[INFO] [stdout] e8d479d0cc9130587925b214ca53b4e7b7c999ec49639bc0b9836c5a5aa9926b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 110051af84a8b4196ddf79d8c121dff7f6f51579e44761a5ee37859521c81bd5
[INFO] running `Command { std: "docker" "start" "-a" "110051af84a8b4196ddf79d8c121dff7f6f51579e44761a5ee37859521c81bd5", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.10.0
[INFO] [stderr]    Compiling cortex-m-semihosting v0.3.2
[INFO] [stderr]    Compiling byteorder v1.2.7
[INFO] [stderr]    Compiling stable_deref_trait v1.1.1
[INFO] [stderr]    Compiling cortex-m-rtfm v0.4.2
[INFO] [stderr]    Compiling owned-singleton-macros v0.1.0
[INFO] [stderr]    Compiling cortex-m-rtfm-macros v0.4.2
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]    --> src/serial.rs:365:34
[INFO] [stdout]     |
[INFO] [stdout] 365 |                           unsafe { ptr::write_volatile(&(*$USARTX::ptr()).dr as *const _ as *mut _, byte) }
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 376 | / usart! {
[INFO] [stdout] 377 | |     USART1: (usart1, apb2enr, usart1en, apb2_clk, Serial1Ext),
[INFO] [stdout] 378 | |     USART2: (usart2, apb1enr, usart2en, apb1_clk, Serial2Ext),
[INFO] [stdout] 379 | |     USART3: (usart3, apb1enr, usart3en, apb1_clk, Serial3Ext),
[INFO] [stdout] 380 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]     = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]     = note: `#[warn(invalid_reference_casting)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `usart` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]    --> src/spi.rs:248:34
[INFO] [stdout]     |
[INFO] [stdout] 248 |                           unsafe { ptr::write_volatile(&self.spi.dr as *const _ as *mut u8, byte) }
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 | / spi! {
[INFO] [stdout] 265 | |     SPI1: (spi1, apb2enr, spi1en, apb2_clk),
[INFO] [stdout] 266 | |     SPI2: (spi2, apb1enr, spi2en, apb1_clk),
[INFO] [stdout] 267 | |     SPI3: (spi3, apb1enr, spi3en, apb1_clk),
[INFO] [stdout] 268 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]     = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]     = note: this warning originates in the macro `spi` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hash32 v0.1.0
[INFO] [stderr]    Compiling panic-semihosting v0.5.1
[INFO] [stderr]    Compiling owned-singleton v0.1.0
[INFO] [stderr]    Compiling generic-array v0.11.1
[INFO] [stderr]    Compiling heapless v0.4.1
[INFO] [stderr]    Compiling stm32l1xx-hal v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "adc_pwm") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "spi") due to 1 previous error
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "pwm") due to 1 previous error
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "dac") due to 1 previous error
[INFO] [stdout] error: unwinding panics are not supported without std
[INFO] [stdout]   |
[INFO] [stdout]   = help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
[INFO] [stdout]   = note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_high` found for struct `PA0<MODE>` in the current scope
[INFO] [stdout]   --> examples/button.rs:31:19
[INFO] [stdout]    |
[INFO] [stdout] 31 |         if button.is_high() {
[INFO] [stdout]    |                   ^^^^^^^ method not found in `PA0<Input<PullUp>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `InputPin` which provides `is_high` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  6 + use crate::hal::embedded_hal::digital::v2::InputPin;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_high` found for struct `PB6<MODE>` in the current scope
[INFO] [stdout]   --> examples/button.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |             led.set_high();
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.3/src/digital/v2.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn set_high(&mut self) -> Result<(), Self::Error>;
[INFO] [stdout]    |        -------- the method is available for `PB6<Output<PushPull>>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `OutputPin` which provides `set_high` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  6 + use crate::hal::embedded_hal::digital::v2::OutputPin;
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `is_set_high` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 32 |             led.is_set_high();
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_low` found for struct `PB6<MODE>` in the current scope
[INFO] [stdout]   --> examples/button.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |             led.set_low();
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.3/src/digital/v2.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn set_low(&mut self) -> Result<(), Self::Error>;
[INFO] [stdout]    |        ------- the method is available for `PB6<Output<PushPull>>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `OutputPin` which provides `set_low` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  6 + use crate::hal::embedded_hal::digital::v2::OutputPin;
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `is_set_low` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 35 |             led.is_set_low();
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_high` found for struct `PB7<MODE>` in the current scope
[INFO] [stdout]   --> examples/blinky.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |             led.set_high();
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.3/src/digital/v2.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn set_high(&mut self) -> Result<(), Self::Error>;
[INFO] [stdout]    |        -------- the method is available for `PB7<Output<PushPull>>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `OutputPin` which provides `set_high` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  6 + use crate::hal::embedded_hal::digital::v2::OutputPin;
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `is_set_high` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 23 |             led.is_set_high();
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_low` found for struct `PB7<MODE>` in the current scope
[INFO] [stdout]   --> examples/blinky.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 |             led.set_low();
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/embedded-hal-0.2.3/src/digital/v2.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn set_low(&mut self) -> Result<(), Self::Error>;
[INFO] [stdout]    |        ------- the method is available for `PB7<Output<PushPull>>` here
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `OutputPin` which provides `set_low` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]    |
[INFO] [stdout]  6 + use crate::hal::embedded_hal::digital::v2::OutputPin;
[INFO] [stdout]    |
[INFO] [stdout] help: there is a method `is_set_low` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 26 |             led.is_set_low();
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "qei") due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "button") due to 4 previous errors
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "blinky") due to 3 previous errors
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[WARN] too many lines in the log, truncating it
