[INFO] fetching crate stm32l1xx-hal 0.1.0...
[INFO] testing stm32l1xx-hal-0.1.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-8
[INFO] extracting crate stm32l1xx-hal 0.1.0 into /workspace/builds/worker-6-tc2/source
[INFO] removed /workspace/builds/worker-6-tc2/source/.cargo/config
[INFO] started tweaking crates.io crate stm32l1xx-hal 0.1.0
[INFO] finished tweaking crates.io crate stm32l1xx-hal 0.1.0
[INFO] tweaked toml for crates.io crate stm32l1xx-hal 0.1.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate stm32l1xx-hal 0.1.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate stm32l1xx-hal 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f9a6c6e54eae8f86910c66042b62fd2800adc0aa1a469655edebc77a775ffaf6
[INFO] running `Command { std: "docker" "start" "-a" "f9a6c6e54eae8f86910c66042b62fd2800adc0aa1a469655edebc77a775ffaf6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f9a6c6e54eae8f86910c66042b62fd2800adc0aa1a469655edebc77a775ffaf6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9a6c6e54eae8f86910c66042b62fd2800adc0aa1a469655edebc77a775ffaf6", kill_on_drop: false }`
[INFO] [stdout] f9a6c6e54eae8f86910c66042b62fd2800adc0aa1a469655edebc77a775ffaf6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c236571a335d9cdd8aacda6153de0ba81502c41bf97e8441aac24114f8089a0d
[INFO] running `Command { std: "docker" "start" "-a" "c236571a335d9cdd8aacda6153de0ba81502c41bf97e8441aac24114f8089a0d", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.24
[INFO] [stderr]    Compiling rand_core v0.3.0
[INFO] [stderr]    Compiling cortex-m-rt v0.6.7
[INFO] [stderr]    Compiling vcell v0.1.0
[INFO] [stderr]    Compiling cortex-m v0.5.8
[INFO] [stderr]    Compiling r0 v0.2.2
[INFO] [stderr]    Compiling stm32l1 v0.5.0
[INFO] [stderr]    Compiling aligned v0.2.0
[INFO] [stderr]    Compiling nb v0.1.1
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling cast v0.2.2
[INFO] [stderr]    Compiling bare-metal v0.2.4
[INFO] [stderr]    Compiling volatile-register v0.2.0
[INFO] [stderr]    Compiling embedded-hal v0.2.3
[INFO] [stderr]    Compiling rand_core v0.2.2
[INFO] [stderr]    Compiling rand v0.5.5
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 ~ let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 417 |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 401 | / gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout] 402 | |     PA0: (pa0, 0, Input<Floating>),
[INFO] [stdout] 403 | |     PA1: (pa1, 1, Input<Floating>),
[INFO] [stdout] 404 | |     PA2: (pa2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 417 | |     PA15: (pa15, 15, Input<Floating>),
[INFO] [stdout] 418 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 401 | let _ = gpio!(GPIOA, gpioa, gpiopaen, PA, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 ~ let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 436 |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 420 | / gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout] 421 | |     PB0: (pb0, 0, Input<Floating>),
[INFO] [stdout] 422 | |     PB1: (pb1, 1, Input<Floating>),
[INFO] [stdout] 423 | |     PB2: (pb2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 436 | |     PB15: (pb15, 15, Input<Floating>),
[INFO] [stdout] 437 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 420 | let _ = gpio!(GPIOB, gpiob, gpiopben, PB, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 ~ let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 455 |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 439 | / gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout] 440 | |     PC0: (pc0, 0, Input<Floating>),
[INFO] [stdout] 441 | |     PC1: (pc1, 1, Input<Floating>),
[INFO] [stdout] 442 | |     PC2: (pc2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 455 | |     PC15: (pc15, 15, Input<Floating>),
[INFO] [stdout] 456 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 439 | let _ = gpio!(GPIOC, gpioc, gpiopcen, PC, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 ~ let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 474 |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 458 | / gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout] 459 | |     PD0: (pd0, 0, Input<Floating>),
[INFO] [stdout] 460 | |     PD1: (pd1, 1, Input<Floating>),
[INFO] [stdout] 461 | |     PD2: (pd2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 474 | |     PD15: (pd15, 15, Input<Floating>),
[INFO] [stdout] 475 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 458 | let _ = gpio!(GPIOD, gpiod, gpiopden, PD, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 ~ let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 494 |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 478 | / gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout] 479 | |     PE0: (pe0, 0, Input<Floating>),
[INFO] [stdout] 480 | |     PE1: (pe1, 1, Input<Floating>),
[INFO] [stdout] 481 | |     PE2: (pe2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 494 | |     PE15: (pe15, 15, Input<Floating>),
[INFO] [stdout] 495 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 478 | let _ = gpio!(GPIOE, gpioe, gpiopeen, PE, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 ~ let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 514 |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 498 | / gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout] 499 | |     PF0: (pf0, 0, Input<Floating>),
[INFO] [stdout] 500 | |     PF1: (pf1, 1, Input<Floating>),
[INFO] [stdout] 501 | |     PF2: (pf2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 514 | |     PF15: (pf15, 15, Input<Floating>),
[INFO] [stdout] 515 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 498 | let _ = gpio!(GPIOF, gpiof, gpiopfen, PF, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 ~ let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 534 |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 518 | / gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout] 519 | |     PG0: (pg0, 0, Input<Floating>),
[INFO] [stdout] 520 | |     PG1: (pg1, 1, Input<Floating>),
[INFO] [stdout] 521 | |     PG2: (pg2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 534 | |     PG15: (pg15, 15, Input<Floating>),
[INFO] [stdout] 535 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 518 | let _ = gpio!(GPIOG, gpiog, gpiopgen, PG, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 185 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 186 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:181:29
[INFO] [stdout]     |
[INFO] [stdout] 181 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 182 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 183 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout] 200 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 201 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 202 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:197:29
[INFO] [stdout]     |
[INFO] [stdout] 197 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 198 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 199 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:216:29
[INFO] [stdout]     |
[INFO] [stdout] 216 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 217 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 218 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stm32l1xx-hal` (lib) due to 2 previous errors; 144 warnings emitted
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 214 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 215 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:229:29
[INFO] [stdout]     |
[INFO] [stdout] 229 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 230 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 231 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:232:29
[INFO] [stdout]     |
[INFO] [stdout] 232 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 233 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b11 << offset))
[INFO] [stdout] 234 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:251:29
[INFO] [stdout]     |
[INFO] [stdout] 251 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 252 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 253 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 246 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 247 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 249 | |                                 w.bits(r.bits() | (0b1 << $i))
[INFO] [stdout] 250 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:270:29
[INFO] [stdout]     |
[INFO] [stdout] 270 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 271 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b01 << offset))
[INFO] [stdout] 272 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:264:29
[INFO] [stdout]     |
[INFO] [stdout] 264 | /                             &(*$GPIOX::ptr()).pupdr.modify(|r, w| {
[INFO] [stdout] 265 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b00 << offset))
[INFO] [stdout] 266 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:267:29
[INFO] [stdout]     |
[INFO] [stdout] 267 | /                             &(*$GPIOX::ptr()).otyper.modify(|r, w| {
[INFO] [stdout] 268 | |                                 w.bits(r.bits() & !(0b1 << $i))
[INFO] [stdout] 269 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:281:29
[INFO] [stdout]     |
[INFO] [stdout] 281 | /                             &(*$GPIOX::ptr()).ospeedr.modify(|r, w| {
[INFO] [stdout] 282 | |                                 w.bits((r.bits() & !(0b11 << offset)) | ((speed as u32) << offset))
[INFO] [stdout] 283 | |                             })
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 ~ let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] ...
[INFO] [stdout] 554 |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 ~ ]);;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:295:33
[INFO] [stdout]     |
[INFO] [stdout] 295 | /                                 &(*$GPIOX::ptr()).afrl.modify(|r, w| {
[INFO] [stdout] 296 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 297 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:300:33
[INFO] [stdout]     |
[INFO] [stdout] 300 | /                                 &(*$GPIOX::ptr()).afrh.modify(|r, w| {
[INFO] [stdout] 301 | |                                     w.bits((r.bits() & !(0b1111 << offset2)) | (mode << offset2))
[INFO] [stdout] 302 | |                                 });
[INFO] [stdout]     | |__________________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/gpio.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | /                             &(*$GPIOX::ptr()).moder.modify(|r, w| {
[INFO] [stdout] 305 | |                                 w.bits((r.bits() & !(0b11 << offset)) | (0b10 << offset))
[INFO] [stdout] 306 | |                             });
[INFO] [stdout]     | |______________________________^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 538 | / gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout] 539 | |     PH0: (ph0, 0, Input<Floating>),
[INFO] [stdout] 540 | |     PH1: (ph1, 1, Input<Floating>),
[INFO] [stdout] 541 | |     PH2: (ph2, 2, Input<Floating>),
[INFO] [stdout] ...   |
[INFO] [stdout] 554 | |     PH15: (ph15, 15, Input<Floating>),
[INFO] [stdout] 555 | | ]);
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `gpio` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 538 | let _ = gpio!(GPIOH, gpioh, gpiophen, PH, [
[INFO] [stdout]     | +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: 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: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout]     = note: this error originates in the macro `usart` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: 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 error originates in the macro `spi` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c236571a335d9cdd8aacda6153de0ba81502c41bf97e8441aac24114f8089a0d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c236571a335d9cdd8aacda6153de0ba81502c41bf97e8441aac24114f8089a0d", kill_on_drop: false }`
[INFO] [stdout] c236571a335d9cdd8aacda6153de0ba81502c41bf97e8441aac24114f8089a0d
