[INFO] fetching crate stm32l1xx-hal 0.1.0...
[INFO] testing stm32l1xx-hal-0.1.0 against 1.75.0 for beta-1.76-1
[INFO] extracting crate stm32l1xx-hal 0.1.0 into /workspace/builds/worker-5-tc1/source
[INFO] validating manifest of crates.io crate stm32l1xx-hal 0.1.0 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-5-tc1/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-5-tc1/source/Cargo.toml
[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" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded aligned v0.2.0
[INFO] [stderr]   Downloaded cortex-m-rt-macros v0.1.5
[INFO] [stderr]   Downloaded owned-singleton-macros v0.1.0
[INFO] [stderr]   Downloaded vcell v0.1.0
[INFO] [stderr]   Downloaded bare-metal v0.2.4
[INFO] [stderr]   Downloaded hash32 v0.1.0
[INFO] [stderr]   Downloaded generic-array v0.11.1
[INFO] [stderr]   Downloaded embedded-hal v0.2.3
[INFO] [stderr]   Downloaded nb v0.1.1
[INFO] [stderr]   Downloaded rand_core v0.3.0
[INFO] [stderr]   Downloaded proc-macro2 v0.4.24
[INFO] [stderr]   Downloaded typenum v1.10.0
[INFO] [stderr]   Downloaded syn v0.15.23
[INFO] [stderr]   Downloaded rand v0.5.5
[INFO] [stderr]   Downloaded rand_core v0.2.2
[INFO] [stderr]   Downloaded cortex-m v0.5.8
[INFO] [stderr]   Downloaded cortex-m-rt v0.6.7
[INFO] [stderr]   Downloaded cortex-m-semihosting v0.3.2
[INFO] [stderr]   Downloaded quote v0.6.10
[INFO] [stderr]   Downloaded cast v0.2.2
[INFO] [stderr]   Downloaded owned-singleton v0.1.0
[INFO] [stderr]   Downloaded panic-semihosting v0.5.1
[INFO] [stderr]   Downloaded cortex-m-rtfm-macros v0.4.2
[INFO] [stderr]   Downloaded heapless v0.4.1
[INFO] [stderr]   Downloaded cortex-m-rtfm v0.4.2
[INFO] [stderr]   Downloaded stm32l1 v0.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 59687fe12fb3eccebdd30b1b21d35b238bdae798b5d3cae7cfabc192228513fb
[INFO] running `Command { std: "docker" "start" "-a" "59687fe12fb3eccebdd30b1b21d35b238bdae798b5d3cae7cfabc192228513fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "59687fe12fb3eccebdd30b1b21d35b238bdae798b5d3cae7cfabc192228513fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59687fe12fb3eccebdd30b1b21d35b238bdae798b5d3cae7cfabc192228513fb", kill_on_drop: false }`
[INFO] [stdout] 59687fe12fb3eccebdd30b1b21d35b238bdae798b5d3cae7cfabc192228513fb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 17299c653e25a2b9cc759c94d393b880bb83af40d099e37a2dd7a4cb202a5354
[INFO] running `Command { std: "docker" "start" "-a" "17299c653e25a2b9cc759c94d393b880bb83af40d099e37a2dd7a4cb202a5354", 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 vcell v0.1.0
[INFO] [stderr]    Compiling cortex-m-rt v0.6.7
[INFO] [stderr]    Compiling cortex-m v0.5.8
[INFO] [stderr]    Compiling aligned v0.2.0
[INFO] [stderr]    Compiling volatile-register v0.2.0
[INFO] [stderr]    Compiling r0 v0.2.2
[INFO] [stderr]    Compiling stm32l1 v0.5.0
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling rand_core v0.2.2
[INFO] [stderr]    Compiling nb v0.1.1
[INFO] [stderr]    Compiling rand v0.5.5
[INFO] [stderr]    Compiling embedded-hal v0.2.3
[INFO] [stderr]    Compiling cast v0.2.2
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling bare-metal v0.2.4
[INFO] [stderr]    Compiling quote v0.6.10
[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)]` 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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] [stdout] warning: 146 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 23.84s
[INFO] running `Command { std: "docker" "inspect" "17299c653e25a2b9cc759c94d393b880bb83af40d099e37a2dd7a4cb202a5354", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17299c653e25a2b9cc759c94d393b880bb83af40d099e37a2dd7a4cb202a5354", kill_on_drop: false }`
[INFO] [stdout] 17299c653e25a2b9cc759c94d393b880bb83af40d099e37a2dd7a4cb202a5354
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5be5e68712e838ced6e9765536dbb8bbdbc47ae2c97a76cfad442e07b54eacf9
[INFO] running `Command { std: "docker" "start" "-a" "5be5e68712e838ced6e9765536dbb8bbdbc47ae2c97a76cfad442e07b54eacf9", 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 cortex-m-rtfm v0.4.2
[INFO] [stderr]    Compiling owned-singleton-macros v0.1.0
[INFO] [stderr]    Compiling stable_deref_trait v1.1.1
[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)]` 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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] [stdout] warning: 146 warnings emitted
[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: language item required, but not found: `eh_personality`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this can occur when a binary crate with `#![no_std]` is compiled for a target where `eh_personality` is defined in the standard library
[INFO] [stdout]   = help: you may be able to compile for a target that doesn't need `eh_personality`, specify a target with `--target` or in `.cargo/config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: language item required, but not found: `eh_personality`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this can occur when a binary crate with `#![no_std]` is compiled for a target where `eh_personality` is defined in the standard library
[INFO] [stdout]   = help: you may be able to compile for a target that doesn't need `eh_personality`, specify a target with `--target` or in `.cargo/config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> examples/rtfm.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(custom_attribute)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in favor of `#![register_tool]` and `#![register_attr]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: language item required, but not found: `eh_personality`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this can occur when a binary crate with `#![no_std]` is compiled for a target where `eh_personality` is defined in the standard library
[INFO] [stdout]   = help: you may be able to compile for a target that doesn't need `eh_personality`, specify a target with `--target` or in `.cargo/config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "pwm") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "blinky") due to 2 previous errors
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "dac") due to 2 previous errors
[INFO] [stdout] error: language item required, but not found: `eh_personality`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this can occur when a binary crate with `#![no_std]` is compiled for a target where `eh_personality` is defined in the standard library
[INFO] [stdout]   = help: you may be able to compile for a target that doesn't need `eh_personality`, specify a target with `--target` or in `.cargo/config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: language item required, but not found: `eh_personality`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this can occur when a binary crate with `#![no_std]` is compiled for a target where `eh_personality` is defined in the standard library
[INFO] [stdout]   = help: you may be able to compile for a target that doesn't need `eh_personality`, specify a target with `--target` or in `.cargo/config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: language item required, but not found: `eh_personality`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this can occur when a binary crate with `#![no_std]` is compiled for a target where `eh_personality` is defined in the standard library
[INFO] [stdout]   = help: you may be able to compile for a target that doesn't need `eh_personality`, specify a target with `--target` or in `.cargo/config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "blinky_delay") due to 2 previous errors
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0557`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "blinky_timer") due to 2 previous errors
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "rtfm") due to 3 previous errors
[INFO] [stdout] error: language item required, but not found: `eh_personality`
[INFO] [stdout]   |
[INFO] [stdout]   = note: this can occur when a binary crate with `#![no_std]` is compiled for a target where `eh_personality` is defined in the standard library
[INFO] [stdout]   = help: you may be able to compile for a target that doesn't need `eh_personality`, specify a target with `--target` or in `.cargo/config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (example "spi") due to 2 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)]` 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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[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] 304 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 184 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 ~                             });
[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] 181 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 200 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 ~                             });
[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] 197 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 216 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 ~                             });
[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] 213 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 229 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 232 |                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[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] 251 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 ~                             });
[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] 245 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 248 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 270 ~                             let _ = &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 ~                             });
[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] 264 |                             let _ = &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[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] 267 |                             let _ = &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[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] 281 ~                             let _ = &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 ~                             });
[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] 295 |                                 let _ = &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[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] 300 |                                 let _ = &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[WARN] too many lines in the log, truncating it
